Details

      Description

      Address the following SPARQL 1.1 LCWD issues from [1] (Jan 5, 2012) and [2] (July 24, 2012):

          - Remove SHA224 from hash function choices
      
          - Add function STRBEFORE, STRAFTER, REPLACE
      
          - Broaden REGXP to take a first argument of xsd:string and rdf:langString.
      
          - Define DATATYPE on language tag literals.  
      
          - Allow aggregates in ORDER BY clause
      
          - Grammar: Backslash character escapes in prefixed names
      
          - Grammar: Fix: Allow ASK to take solution modifiers
      
          - Grammar: Fix: AdditiveExpression: '?' => '*'
      

      Issue https://jira.blazegraph.com/browse/BLZG-131 exists for STRBEFORE, STRAFTER, REPLACE.

      Issue http://jira.blazegraph.com/browse/BLZG-618 exists for allowing aggregates in ORDER BY.

      The DATATYPE for language code literals looks worry some. The problem is to manage things so that we do not break the code everywhere. The datatype URI needs to be REMOVED when the language tag is given (going in) and added when the language tag is present (coming out).

      In [2], we have the following additional changes:

          - Property paths forms {...} have been removed.
      
          - Change path property operators * and + to be non-counting (connectivity) forms of arbitrary path. ? is made non-counting.
      
          - Add functions UUID, StrUUID for generate UUIDs as IRIs and as strings.
      
          - Renaming of grammar tokens and rules around IRIs to align with Turtle grammar usage.
      
          - VALUES replaces and generalizes BINDINGS
      
          - Local part of prefix names can now include ":", in line with Turtle standization by the RDF Working Group.
      
          - Non-matching return in STRBEFORE and STRAFTER changed to be the empty simple literal always.
      

      The BINDINGS clause has been replaced by the VALUES clause. This might be a mostly syntactic change. However, the VALUES clause is also allowed for sub-selects, so it is no longer constrained to appear only for the top-level query.

      OLD:
      [2]  	Query	  ::=  	Prologue ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) BindingsClause
      [28]  	BindingsClause	  ::=  	( 'BINDINGS' Var* '{' ( '(' BindingValue* ')' | NIL )* '}' )?
      [29]  	BindingValue	  ::=  	IRIref | RDFLiteral | NumericLiteral | BooleanLiteral | 'UNDEF'
      
      NEW:
      [2]  	Query	  ::=  	Prologue ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause
      [8]  	SubSelect	  ::=  	SelectClause WhereClause SolutionModifier ValuesClause
      [28]  	ValuesClause	  ::=  	( 'VALUES' DataBlock )?
      [61]  	InlineData	  ::=  	'VALUES' DataBlock
      [62]  	DataBlock	  ::=  	InlineDataOneVar | InlineDataFull
      [63]  	InlineDataOneVar	  ::=  	Var '{' DataBlockValue* '}'
      [64]  	InlineDataFull	  ::=  	( NIL | '(' Var* ')' ) '{' ( '(' DataBlockValue* ')' | NIL )* '}'
      [65]  	DataBlockValue	  ::=  	iri | RDFLiteral | NumericLiteral | BooleanLiteral | 'UNDEF'
      

      [1] http://www.w3.org/TR/2012/WD-sparql11-query-20120105/
      [2] http://www.w3.org/TR/2012/WD-sparql11-query-20120724/

        Activity

        Hide
        bryanthompson bryanthompson added a comment -

        Here is a summary of test failures. Some of these are due to BLZG-695 (Sesame 2.6.10 update)


        - Bigdata2ASTSPARQL11SyntaxTest (Errors are all related to validation of queries during parse (before evaluation)


        - SPARQLUpdateTest


        - fail. testDeleteInsertWhereWithBindings()


        - BigdataConnectionTest (These may be related to changes in SPARQLParser for SESAME.NIL)


        - fail. testDefaultContext()
        - fail. BigdataConnectionTest.testDefaultContextInsert();
        - fail. BigdataConnectionTest.testExclusiveNullContext()


        - BigdataComplexSparqlQueryTest (some of these are related to property paths)


        - fail. testNullContext1()
        - fail. testSameTermRepeatInOptional()
        - fail. testSameTermRepeatInUnionAndOptional()
        - fail. testArbitraryLengthPathWithBinding1()
        - fail. testArbitraryLengthPathWithBinding2()
        - fail. testArbitraryLengthPathWithBinding3()
        - fail. testArbitraryLengthPathWithFilter1()
        - fail. testArbitraryLengthPathWithFilter2()
        - fail. testArbitraryLengthPathWithFilter3()

        Show
        bryanthompson bryanthompson added a comment - Here is a summary of test failures. Some of these are due to BLZG-695 (Sesame 2.6.10 update) - Bigdata2ASTSPARQL11SyntaxTest (Errors are all related to validation of queries during parse (before evaluation) - SPARQLUpdateTest - fail. testDeleteInsertWhereWithBindings() - BigdataConnectionTest (These may be related to changes in SPARQLParser for SESAME.NIL) - fail. testDefaultContext() - fail. BigdataConnectionTest.testDefaultContextInsert(); - fail. BigdataConnectionTest.testExclusiveNullContext() - BigdataComplexSparqlQueryTest (some of these are related to property paths) - fail. testNullContext1() - fail. testSameTermRepeatInOptional() - fail. testSameTermRepeatInUnionAndOptional() - fail. testArbitraryLengthPathWithBinding1() - fail. testArbitraryLengthPathWithBinding2() - fail. testArbitraryLengthPathWithBinding3() - fail. testArbitraryLengthPathWithFilter1() - fail. testArbitraryLengthPathWithFilter2() - fail. testArbitraryLengthPathWithFilter3()
        Hide
        mikepersonick mikepersonick added a comment -

        Working through the test failures.

        • Bigdata2ASTSPARQL11SyntaxTest is now clean.
        Show
        mikepersonick mikepersonick added a comment - Working through the test failures. Bigdata2ASTSPARQL11SyntaxTest is now clean.
        Hide
        mikepersonick mikepersonick added a comment -
        Show
        mikepersonick mikepersonick added a comment - Property paths is done. See https://sourceforge.net/apps/trac/bigdata/ticket/495 .
        Hide
        bryanthompson bryanthompson added a comment -

        Mike is introducing a "BindService" to allow the injection of a list of values as if from a VALUES() clause on a sub-select. This hack is a workaround until openrdf provides support for VALUES, at which point we will update the grammar accordingly.

        Change is to branches/BIGDATA_RELEASE_1_2_0 around r7142.

        Show
        bryanthompson bryanthompson added a comment - Mike is introducing a "BindService" to allow the injection of a list of values as if from a VALUES() clause on a sub-select. This hack is a workaround until openrdf provides support for VALUES, at which point we will update the grammar accordingly. Change is to branches/BIGDATA_RELEASE_1_2_0 around r7142.
        Hide
        jeremycarroll jeremycarroll added a comment -

        Vote upwards (VALUES)
        - let me know if there is anything I can do to help here

        Show
        jeremycarroll jeremycarroll added a comment - Vote upwards (VALUES) - let me know if there is anything I can do to help here
        Hide
        bryanthompson bryanthompson added a comment - - edited

        michaelschmidt Can you please triage this ticket and remove anything which has already been implemented? E.g., VALUES() is done. Let's go ahead and create subtickets for anything else that remains unimplemented.

        Olaf Hartig
        igorkim
        [~bradbebe]]

        Show
        bryanthompson bryanthompson added a comment - - edited michaelschmidt Can you please triage this ticket and remove anything which has already been implemented? E.g., VALUES() is done. Let's go ahead and create subtickets for anything else that remains unimplemented. Olaf Hartig igorkim [~bradbebe] ]
        Hide
        michaelschmidt michaelschmidt added a comment -

        The proposal we discussed would be, in a first step, to assess the state of where we stand:

        1.) Is the BigdataSparqlTest class complete in the sense that it runs all tests that are currently present
        2.) Which of the queries are still failing?

        Next, we should group the queries that are still failing by root cause and create subtickets for things that need to be implemented / fixed.

        Show
        michaelschmidt michaelschmidt added a comment - The proposal we discussed would be, in a first step, to assess the state of where we stand: 1.) Is the BigdataSparqlTest class complete in the sense that it runs all tests that are currently present 2.) Which of the queries are still failing? Next, we should group the queries that are still failing by root cause and create subtickets for things that need to be implemented / fixed.
        Hide
        bryanthompson bryanthompson added a comment -

        Note that the issue with the "dataset" tests is that we have never figured out how to run those against bigdata/blazegraph. That is really its own challenge. Not necessarily related to this ticket.

        Show
        bryanthompson bryanthompson added a comment - Note that the issue with the "dataset" tests is that we have never figured out how to run those against bigdata/blazegraph. That is really its own challenge. Not necessarily related to this ticket.
        Hide
        bryanthompson bryanthompson added a comment - - edited

        Brad Bebee If BLZG-1709 is a duplicate, then this should be closed out against our 2.1.1 release. Otherwise it should be moved to the backlog.

        Show
        bryanthompson bryanthompson added a comment - - edited Brad Bebee If BLZG-1709 is a duplicate, then this should be closed out against our 2.1.1 release. Otherwise it should be moved to the backlog.

          People

          • Assignee:
            beebs Brad Bebee
            Reporter:
            bryanthompson bryanthompson
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated: