From: Johannes F. <joh...@st...> - 2015-12-11 13:02:15
|
Hello, I'm facing the following problems with RDR using blazegraph Build Version 1.5.3. CASE 1 and CASE 2 are major problems. CASE 3 is just a SPARQL* parser issue and there is a workaround by using BIND statements instead. In CASE 1 I want to reify a reified statement. In the SPARQL* paper (referenced on the RDR wiki site) the EBNF definition of a TRefPattern is recursive. And there is a explicit note on nested triple reference patterns. So this should work. Querying such triple data using BIND statements works (more precisely: there are no errors), but unfortunately I don't know how to import data consisting of nested reified triples. Nesting the "<< >>"-statements doesn't work, neither in Turtle* nor in SPARQL*. In CASE 2 I want to use SPARQL update to insert or remove a simple reified statement. But it seems that this not implemented in blazegraph, because it's rejecting a bunch of queries due to parser errors. But then my question is: How to remove or change a reified triple statement? I'm considering to use blazegraph for large scale use, so deleting the whole KB and reimporting it is not feasible. I appreciate any help you can provide. Regards Johannes =================== SPARQL* - CASE 1 ============================= Prefix : <http://example.org/ns#> Select * where { BIND( <<:Bob :isMarriedTo :Alice >> as ?t) . BIND( <<?t :validUntil "2015-12-01" >> as ?t2) . ?t2 :crawledOn "2015-12-07" . } =================== Turtle* - CASE 1 ============================= ****NOT WORKING**** @prefix : <http://example.org/ns#> . << <<:Bob :isMarriedTo :Alice >> :validUntil "2015-12-01" >> :crawledOn "2015-12-07" =================== SPARQL* - CASE 2a) b) c) d) ============================= ****NOT WORKING**** a) ***** Prefix : <http://example.org/ns#> INSERT DATA { <<:Bob :isMarriedTo :Alice>> :validUntil "2015-12-01". } ****NOT WORKING**** b) ***** Prefix : <http://example.org/ns#> INSERT { <<:Bob :isMarriedTo :Alice>> :validUntil "2015-12-01". } WHERE {} ****NOT WORKING**** c) ***** Prefix : <http://example.org/ns#> DELETE { <<:Bob :isMarriedTo :Alice>> :validUntil "2015-12-01". } WHERE {} ****NOT WORKING**** d) ***** Prefix : <http://example.org/ns#> DELETE { BIND( <<:Bob :isMarriedTo :Alice >> as ?t) . ?t :validUntil "2015-12-01". } WHERE {} =================== SPARQL* - CASE 3 ============================= ****NOT WORKING**** Prefix : <http://example.org/ns#> Select * where { <<:Bob :isMarriedTo :Alice>> ?x <<:a :b :c>> . } =================== Turtle* - CASE 3 ============================= ****BUT WORKING in Turtle* **** @prefix : <http://example.org/ns#> . <<:Bob :isMarriedTo :Alice >> :x <<:a :b :c>> . |