Skip to content

Conversation

@hartig
Copy link
Contributor

@hartig hartig commented Dec 25, 2015

This PR introduces a generic, API-independent interface to represent elements of triple patterns, and refactors the existing code base to use this interface (which is called TriplePatternElement). This refactoring is another step towards making an implementation of additional backends more easy; in particular, it helps to avoid code duplication for such implementations.

@mielvds
Copy link
Contributor

mielvds commented Dec 26, 2015

Is this to reconcile Sesame, Jena and any other API?

@hartig
Copy link
Contributor Author

hartig commented Dec 27, 2015

Exactly. This PR is to separate out everything that is generic and API independent. This separation is meant to avoid code duplication in the API dependent code paths. For instance, note that the new class TriplePatternElementParserForJena contains nothing but Jena-specific code; for the Blazegraph backend I will have a similar class that--instead of extending TriplePatternElementParser<RDFNode,String> (as done by TriplePatternElementParserForJena)--extends TriplePatternElementParser<BigdataValue,String> (where BigdataValue is a Blazegraph-specific extension of the Sesame interface Value, which resembles RDFNode in Jena).

mielvds pushed a commit that referenced this pull request Dec 28, 2015
@mielvds mielvds merged commit 4aad817 into LinkedDataFragments:master Dec 28, 2015
@hartig hartig deleted the GenericTriplePatternElements branch December 28, 2015 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants