Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-1679

RDR (SPARQL* and Turtle*) Parser Problems

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: BLAZEGRAPH_2_X_BACKLOG
    • Component/s: None
    • Labels:
      None

      Description

      There are 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.

      =================== 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>> .

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              igorkim igorkim
              Reporter:
              jf Johannes F.
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated: