Thompsonbry.systap added a comment.

You do not need to use the RDR interchange syntax or the RDR syntax for SPARQL 
query to take advantage of the RDR support inside of BlazeGraph.  All you need 
to do is serialize your data as RDF and use RDF reification to interchange 
statements modeling metadata about other statements.  Any database that is 
intelligent about how it handles reification can then index your data 
efficiently - and they can using the nesting trick that we use in BlazeGraph, a 
different approach based on column-wise storage that we use in MapGraph, or 
some entirely different physical schema.  In fact, you should not care how the 
database is indexing the data - that is the whole point of having a 
physical/logical abstraction and a declarative query language.  The database 
gets to index the data however you choose and you rely on it to process your 
queries efficiently.  BlazeGraph delivers exactly this for link attributes and 
more generally for nested statements about statements.  However, the "semantics"
are precisely those of RDF.  It is just that the indexing is more efficient. 
And that we provide nicer interchange syntax and query syntax for accessing 
link attributes and statements about statements.

RDF* and SPARQL* are formalism that makes it possible for the database to 
choose a different physical schema to represent link attributes and (more 
generally) statements about statements.  The database can (and in our case 
does) accept reified RDF triple models and automatically indexes them in a more 
efficient manner.  It can also accept queries using reification rather than the 
RDR syntax and they are answered just as efficiently as those using the RDR 
syntax.

The relevant papers outlining the issues and the formal reconciliation with RDF 
Reification are listed below.

- RDF* (Foundations of an Alternative Approach to Reification in RDF) - 
http://arxiv.org/pdf/1406.3399.pdf
- Reconciliation of RDF* and Property Graphs - http://arxiv.org/abs/1409.3288
- Reification Done Right - http://www.blazegraph.com/whitepapers/reifSPARQL.pdf

I would be happy to bring Olaf into this conversation if you have any questions 
about the formalism.  But the whole point is that it is exactly equivalent to 
RDF.  Plus syntactic sugar and rules for interpretation that sugar.  You can 
use the mechanisms with or without that sugar.

Thanks,
Bryan


TASK DETAIL
  https://phabricator.wikimedia.org/T90952

REPLY HANDLER ACTIONS
  Reply to comment or attach files, or !close, !claim, !unsubscribe or !assign 
<username>.

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Thompsonbry.systap
Cc: Haasepeter, Thompsonbry.systap, Beebs.systap, Manybubbles, Aklapper, 
Smalyshev, jkroll, Wikidata-bugs, Jdouglas, aude, GWicke, daniel, JanZerebecki



_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to