SPARQL Features List $Revision: 1.12 $

BaseDecl

BASE <...>

XPath: //BaseDecl

Production: BaseDecl

differentiated by use of production BaseDecl.

PrefixDecl-default

PREFIX : <...>

XPath: //Prologue/PrefixDecl/PNAME_NS[text()=':'

Production: PrefixDecl

differentiated by use of production PrefixDecl.

PrefixDecl-nonDefault

PREFIX foo: <...>

XPath: //Prologue/PrefixDecl/PNAME_NS[text()!=':'

Production: PrefixDecl

differentiated by use of production PrefixDecl.

PrefixDecl-n

PREFIX foo: <...> PREFIX bar: <...>

XPath: //Prologue[count(PrefixDecl) > 1]

Production: PrefixDecl

differentiated by use of production PrefixDecl.

SelectQuery-Distinct-Var

SELECT DISTINCT ?x

XPath: //SelectQuery[yacker:implicit-terminal[text()='DISTINCT'] and Var]

Production: SelectQuery

differentiated by:

  • Regexp: ^ +[Dd][Ii][Ss][Tt][Ii][Nn][Cc][Tt]
  • SelectQuery-Distinct-star

    SELECT DISTINCT *

    XPath: //SelectQuery[yacker:implicit-terminal[text()='DISTINCT'] and yacker:implicit-terminal[text()='TIMES']]

    Production: SelectQuery

    differentiated by use of production SelectQuery.

    SelectQuery-noDistinct-Var

    SELECT ?x

    XPath: //SelectQuery[not(yacker:implicit-terminal[text()='DISTINCT']) and Var]

    Production: SelectQuery

    differentiated by:

  • Composit production: ( Var+ | '*' )
  • Regexp: \?
  • SelectQuery-noDistinct-star

    SELECT *

    XPath: //SelectQuery[not(yacker:implicit-terminal[text()='DISTINCT']) and yacker:implicit-terminal[text()='TIMES']]

    Production: SelectQuery

    differentiated by:

  • Composit production: ( Var+ | '*' )
  • Regexp: \*
  • SelectQuery-Var-n

    SELECT $x ?y

    XPath: //SelectQuery[count(Var) > 1]

    Production: SelectQuery

    differentiated by:

  • Regexp: \$
  • DefaultGraphClause

    FROM <...>

    XPath: //DefaultGraphClause

    Production: DefaultGraphClause

    differentiated by use of production DefaultGraphClause.

    DefaultGraphClause-n

    FROM <...> FROM <...>

    XPath: //SelectQuery[count(DatasetClause/DefaultGraphClause) > 1]

    Production: DefaultGraphClause

    differentiated by use of production DefaultGraphClause.

    NamedGraphClause

    FROM NAMED <...>

    XPath: //NamedGraphClause

    Production: NamedGraphClause

    differentiated by:

  • Rule: 'NAMED'
  • NamedGraphClause-n

    FROM NAMED <...> FROM NAMED <...>

    XPath: //SelectQuery[count(DatasetClause/NamedGraphClause) > 1]

    Production: NamedGraphClause

    differentiated by:

  • Rule: 'NAMED'
  • GroupOrUnionGraphPattern-union

    UNION { ... }

    XPath: //GroupOrUnionGraphPattern/yacker:implicit-terminal[text()='UNION']

    Production: GroupOrUnionGraphPattern

    differentiated by use of production GroupOrUnionGraphPattern.

    OptionalGraphPattern

    OPTIONAL { ... }

    XPath: //OptionalGraphPattern

    Production: OptionalGraphPattern

    differentiated by use of production OptionalGraphPattern.

    GraphGraphPattern

    GRAPH ?x { ... }

    XPath: //GraphGraphPattern

    Production: GraphGraphPattern

    differentiated by use of production GraphGraphPattern.

    WhereClause-where

    WHERE { ... }

    XPath: //WhereClause/yacker:implicit-terminal[text()='WHERE']

    Production: WhereClause

    differentiated by:

  • Rule: 'WHERE'?
  • Regexp: ^$
  • WhereClause-noWhere

    WHERE^H^H^H { ... }

    XPath: //WhereClause[count(yacker:implicit-terminal[text()='WHERE']) = 0]

    Production: WhereClause

    differentiated by:

  • Rule: 'WHERE'?
  • Regexp: ^$
  • GroupGraphPattern-empty

    {}

    XPath: //GroupGraphPattern[not(TriplesBlock) and not(GraphPatternNotTriples)]

    Production: GraphPatternElement

    differentiated by:

  • Rule: BasicGraphPattern?
  • Regexp: ^$
  • BasicGraphPattern-spo

    { ?s ?p ?o ... }

    XPath: //TriplesBlock[TriplesSameSubject/PropertyListNotEmpty[count(Verb)=1 and ObjectList[count(Object)=1]] and not(yacker:implicit-terminal[position()=last() and text()='DOT'])]

    Production: GraphPatternElement

    differentiated by:

  • Rule: BasicGraphPattern?
  • Regexp: .
  • BasicGraphPattern-spoDOT

    { ... ?s ?p ?o . }

    XPath: //TriplesBlock[TriplesSameSubject/PropertyListNotEmpty[count(Verb)=1 and ObjectList[count(Object)=1]] and yacker:implicit-terminal[position()=last() and text()='DOT']]

    Production: GraphPatternElement

    differentiated by:

  • Composit production: ( '.' BasicGraphPattern? )
  • Rule: BasicGraphPattern?
  • Regexp: ^$
  • BasicGraphPattern-spoo

    { ... ?s ?p ?o1, ?o2 ... }

    XPath: //TriplesSameSubject/PropertyListNotEmpty[count(Verb)=1 and ObjectList[count(Object)>1]

    Production: GraphPatternElement

    differentiated by:

  • Composit production: ( ',' ObjectList )
  • Rule: ','
  • BasicGraphPattern-spopo

    { ... ?s ?p1 ?o1 ; ?p2 ?o2 ... }

    XPath: //TriplesSameSubject/PropertyListNotEmpty[count(Verb)>1 and ObjectList[count(Object)=1]

    Production: GraphPatternElement

    differentiated by:

  • Composit production: ';' PropertyList
  • Rule: ';'
  • BasicGraphPattern-spospo

    { ... ?s1 ?p1 ?o1 . ?s2 ?p2 ?o2 ... }

    XPath: //TriplesBlock/TriplesBlock

    Production: GraphPatternElement

    differentiated by:

  • Composit production: ( '.' BasicGraphPattern? )
  • Rule: BasicGraphPattern?
  • Regexp: .
  • Var-rVAR1

    :s :p ?o

    XPath: //Var/VAR1

    Production: Var

    differentiated by:

  • Rule: VAR1
  • Var-rVAR2

    :s :p $o

    XPath: //Var/VAR2

    Production: Var

    differentiated by:

  • Rule: VAR2
  • IRIref-rQ_IRI_REF

    <...>

    XPath: //IRIref/IRI_REF

    Production: IRIref

    differentiated by:

  • Rule: Q_IRI_REF
  • PrefixedName-prefix

    prefix:

    XPath: //PrefixedName/PNAME_NS

    Production: PrefixedName

    differentiated by:

  • Rule: QNAME_NS
  • PrefixedName-localname

    :localName

    XPath: //PrefixedName/PNAME_LN[starts-with(text(), ':')]

    Production: PrefixedName

    differentiated by:

  • Rule: QNAME_LN
  • Regexp: ^:
  • PrefixedName-prefix-localname

    prefix:localName

    XPath: //PrefixedName/PNAME_LN[not(starts-with(text(), ':'))]

    Production: PrefixedName

    differentiated by:

  • Rule: QNAME_LN
  • Regexp: ^[^:]
  • String-singleQuote

    ?s ?p 'asdf'

    XPath: //String/STRING_LITERAL1

    Production: String

    differentiated by:

  • Rule: STRING_LITERAL1
  • String-doubleQuote

    ?s ?p asdf

    XPath: //String/STRING_LITERAL2

    Production: String

    differentiated by:

  • Rule: STRING_LITERAL2
  • String-triple-singleQuote

    ?s ?p '''asdf'''

    XPath: //String/STRING_LITERAL_LONG1

    Production: String

    differentiated by:

  • Rule: STRING_LITERAL_LONG1
  • String-triple-doubleQuote

    ?s ?p asdf

    XPath: //String/STRING_LITERAL_LONG2

    Production: String

    differentiated by:

  • Rule: STRING_LITERAL_LONG2
  • RDFLiteral-plain

    ?s ?p 'chat'

    XPath: //RDFLiteral[count(LANGTAG)=0]

    Production: GraphTerm

    differentiated by:

  • Rule: RDFLiteral
  • Regexp: [^@^]
  • RDFLiteral-rLANGTAG

    ?s ?p 'chat'@fr-fr

    XPath: //RDFLiteral[count(LANGTAG)=0]

    Production: GraphTerm

    differentiated by:

  • Composit production: RDFLiteral
  • Regexp: @
  • RDFLiteral-datatype

    ?s ?p '123'^^xsd:integer

    XPath: //RDFLiteral/IRIref

    Production: GraphTerm

    differentiated by:

  • Composit production: RDFLiteral
  • Regexp: ^^
  • NumericLiteral-rINTEGER

    ?s ?p 5

    XPath: //NumericLiteralUnsigned/INTEGER

    Production: NumericLiteral

    differentiated by:

  • Rule: INTEGER
  • NumericLiteral-rDECIMAL

    ?s ?p 8.3

    XPath: //NumericLiteralUnsigned/DECIMAL

    Production: NumericLiteral

    differentiated by:

  • Rule: DECIMAL
  • NumericLiteral-rDOUBLE

    ?s ?p 8.3E0

    XPath: //NumericLiteralUnsigned/DOUBLE

    Production: NumericLiteral

    differentiated by:

  • Rule: DOUBLE
  • GraphTerm-plus

    ?s ?p +5

    XPath: //NumericLiteralPositive

    Production: GraphTerm

    differentiated by:

  • Composit production: '-' | '+'
  • Rule: '+'
  • GraphTerm-minus

    ?s ?p -5

    XPath: //NumericLiteralNegative

    Production: GraphTerm

    differentiated by:

  • Composit production: '-' | '+'
  • Rule: '-'
  • GraphTerm-BooleanLiteral-true

    ?s ?p true

    XPath: //BooleanLiteral/yacker:implicit-terminal[translate(text(), 'TRUE', 'true')='true']

    Production: GraphTerm

    differentiated by:

  • Rule: BooleanLiteral
  • Regexp: [Tt][Rr][Uu][Ee]
  • GraphTerm-BooleanLiteral-false

    ?s ?p false

    XPath: //BooleanLiteral/yacker:implicit-terminal[translate(text(), 'FALSE', 'false')='false']

    Production: GraphTerm

    differentiated by:

  • Rule: BooleanLiteral
  • Regexp: [Ff][Aa][Ll][Ss][Es]
  • BlankNode-rBLANK_NODE_LABEL

    ... _:a ...

    XPath: //BLANK_NODE_LABEL

    Production: BlankNode

    differentiated by:

  • Rule: BLANK_NODE_LABEL
  • BlankNode-rANON

    ... [] ...

    XPath: //ANON

    Production: BlankNode

    differentiated by:

  • Rule: ANON
  • Collection-0

    ?s ?p ()

    XPath: //GraphTerm/NIL

    Production: Collection

    differentiated by:

  • Composit production: GraphNode+
  • Rule: GraphNode
  • Collection-1

    ?s ?p (1)

    XPath: //Collection[count(GraphNode)=1]

    Production: Collection

    differentiated by:

  • Composit production: GraphNode+
  • Rule: GraphNode
  • Collection-n

    ?s ?p (1 2)

    XPath: //Collection[count(GraphNode)>1]

    Production: Collection

    differentiated by:

  • Composit production: GraphNode+
  • Rule: GraphNode+
  • BlankNodePropertyList

    [ ?p2 ?o2 ]

    XPath: //BlankNodePropertyList

    Production: BlankNodePropertyList

    differentiated by:

  • Rule: '['
  • Verb-a

    ?s a ?o

    XPath: //Verb/yacker:implicit-terminal[text()='a']

    Production: Verb

    differentiated by:

  • Rule: a
  • BuiltInCall-str

    FILTER STR(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='STR']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'STR'
  • BuiltInCall-lang

    FILTER LANG(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='LANG']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'LANG'
  • BuiltInCall-langMatches

    FILTER LANGMATCHES(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='LANGMATCHES']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'LANGMATCHES'
  • BuiltInCall-datatype

    FILTER DATATYPE(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='DATATYPE']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'DATATYPE'
  • BuiltInCall-bound

    FILTER BOUND(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='BOUND']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'BOUND'
  • BuiltInCall-sameTerm

    FILTER SAMETERM(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='SAMETERM']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'SAMETERM'
  • BuiltInCall-isIRI

    FILTER ISIRI(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='ISIRI']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'ISIRI'
  • BuiltInCall-isBlank

    FILTER ISBLANK(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='ISBLANK']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'ISBLANK'
  • BuiltInCall-isLiteral

    FILTER ISLITERAL(?x)

    XPath: BuiltInCall/yacker:implicit-terminal[text()='ISLITERAL']

    Production: BuiltInCall

    differentiated by:

  • Rule: 'ISLITERAL'
  • RegexExpression

    FILTER REGEX(?x, 'asdf')

    XPath: //RegexExpression[count(Expression)=2]

    Production: RegexExpression

    differentiated by:

  • Rule: ( ',' Expression )?
  • Regexp: .
  • RegexExpression-flags

    FILTER REGEX(?x, 'asdf', 'i')

    XPath: //RegexExpression[count(Expression)=3]

    Production: RegexExpression

    differentiated by:

  • Rule: ( ',' Expression )?
  • Regexp: ^$
  • IRIrefOrFunction-iri

    ?x = <...>

    XPath: //IRIrefOrFunction

    Production: IRIrefOrFunction

    differentiated by:

  • Rule: ArgList+
  • Regexp: ^$
  • IRIrefOrFunction-cast-str

    xsd:string(?x)

    XPath: //IRIref/PrefixedName/PNAME_LN[text()='xsd:string']

    Production: IRIrefOrFunction

    differentiated by:

  • Rule: ArgList+
  • Regexp: \bstring\b
  • IRIrefOrFunction-cast-flt

    xsd:float(?x)

    XPath: //IRIref/PrefixedName/PNAME_LN[text()='xsd:float']

    Production: IRIrefOrFunction

    differentiated by:

  • Rule: ArgList+
  • Regexp: \bfloat\b
  • IRIrefOrFunction-cast-dbl

    xsd:double(?x)

    XPath: //IRIref/PrefixedName/PNAME_LN[text()='xsd:double']

    Production: IRIrefOrFunction

    differentiated by:

  • Rule: ArgList+
  • Regexp: \bdouble\b
  • IRIrefOrFunction-cast-dec

    xsd:decimal(?x)

    XPath: //IRIref/PrefixedName/PNAME_LN[text()='xsd:decimal']

    Production: IRIrefOrFunction

    differentiated by:

  • Rule: ArgList+
  • Regexp: \bdecimal\b
  • IRIrefOrFunction-cast-int

    xsd:integer(?x)

    XPath: //IRIref/PrefixedName/PNAME_LN[text()='xsd:integer']

    Production: fIRIrefOrFunction

    differentiated by:

  • Rule: ArgList+
  • Regexp: \binteger\b
  • IRIrefOrFunction-cast-dT

    xsd:datetime(?x)

    XPath: //IRIref/PrefixedName/PNAME_LN[text()='xsd:datetime']

    Production: IRIrefOrFunction

    differentiated by:

  • Rule: ArgList+
  • Regexp: \bdatetime\b
  • IRIrefOrFunction-cast-bool

    xsd:boolean(?x)

    XPath: //IRIref/PrefixedName/PNAME_LN[text()='xsd:boolean']

    Production: IRIrefOrFunction

    differentiated by:

  • Rule: ArgList+
  • Regexp: \bboolean\b
  • ConditionalOrExpression-n

    A || B

    XPath: //ConditionalOrExpression[count(ConditionalAndExpression)>1]

    Production: @@@

    differentiated by use of production @@@.

    ConditionalAndExpression-n

    A && B

    XPath: //ConditionalAndExpression[count(ValueLogical)>1]

    Production: @@@

    differentiated by use of production @@@.

    RelationalExpression-eq

    A = B

    XPath: //RelationalExpression/yacker:implicit-terminal[text()='EQUAL']

    Production: @@@

    differentiated by use of production @@@.

    RelationalExpression-ne

    A != B

    XPath: //RelationalExpression/yacker:implicit-terminal[text()='NEQUAL']

    Production: @@@

    differentiated by use of production @@@.

    RelationalExpression-lt

    A < B

    XPath: //RelationalExpression/yacker:implicit-terminal[text()='LT']

    Production: @@@

    differentiated by use of production @@@.

    RelationalExpression-gt

    A > B

    XPath: //RelationalExpression/yacker:implicit-terminal[text()='GT']

    Production: @@@

    differentiated by use of production @@@.

    RelationalExpression-le

    A <= B

    XPath: //RelationalExpression/yacker:implicit-terminal[text()='LE']

    Production: @@@

    differentiated by use of production @@@.

    RelationalExpression-ge

    A >= B

    XPath: //RelationalExpression/yacker:implicit-terminal[text()='GE']

    Production: @@@

    differentiated by use of production @@@.

    AdditiveExpression-n

    A + B

    XPath: //AdditiveExpression[count(MultiplicativeExpression)>1]

    Production: @@@

    differentiated by use of production @@@.

    MultiplicativeExpression-n

    A * B

    XPath: //MultiplicativeExpression[count(UnaryExpression)>1]

    Production: @@@

    differentiated by use of production @@@.

    UnaryExpression-NOT

    !A

    XPath: //UnaryExpression/yacker:implicit-terminal[text()='NOT']

    Production: @@@

    differentiated by use of production @@@.

    UnaryExpression-PLUS

    A + B

    XPath: //UnaryExpression/yacker:implicit-terminal[text()='PLUS']

    Production: @@@

    differentiated by use of production @@@.

    UnaryExpression-MINUS

    A - B

    XPath: //UnaryExpression/yacker:implicit-terminal[text()='MINUS']

    Production: @@@

    differentiated by use of production @@@.

    PrimaryExpression-rBrackettedExpression

    FILTER (... (...) ...)

    XPath: //PrimaryExpression/BrackettedExpression

    Production: @@@

    differentiated by use of production @@@.

    PrimaryExpression-rBuiltInCall

    FILTER (... STR(?x) ...)

    XPath: //PrimaryExpression/BuiltInCall

    Production: @@@

    differentiated by use of production @@@.

    PrimaryExpression-IRIref

    FILTER (... <x> ...)

    XPath: //PrimaryExpression/IRIrefOrFunction[IRIref and not(ArgList)]

    Production: @@@

    differentiated by use of production @@@.

    PrimaryExpression-function

    FILTER (... <x>(...) ...)

    XPath: //PrimaryExpression/IRIrefOrFunction[IRIref and ArgList]

    Production: @@@

    differentiated by use of production @@@.

    PrimaryExpression-rRDFLiteral

    FILTER (... 'asdf' ...)

    XPath: //PrimaryExpression/RDFLiteral

    Production: @@@

    differentiated by use of production @@@.

    PrimaryExpression-rNumericLiteral

    FILTER (... 123 ...)

    XPath: //PrimaryExpression/NumericLiteral

    Production: @@@

    differentiated by use of production @@@.

    PrimaryExpression-rBooleanLiteral

    FILTER (... true ...)

    XPath: //PrimaryExpression/BooleanLiteral

    Production: @@@

    differentiated by use of production @@@.

    PrimaryExpression-rVar

    FILTER (... ?x ...)

    XPath: //PrimaryExpression/Var

    Production: @@@

    differentiated by use of production @@@.

    OrderClause-1

    ORDER BY ?x

    XPath: //OrderClause[count(OrderCondition) = 1]

    Production: OrderClause

    differentiated by use of production OrderClause.

    OrderClause-n

    ORDER BY ?x ?y

    XPath: //OrderClause[count(OrderCondition) > 1]

    Production: OrderClause

    differentiated by use of production OrderClause.

    OrderCondition-noSC

    no ASC or DESC

    XPath: //OrderCondition[not(yacker:implicit-terminal)]

    Production: OrderCondition

    differentiated by:

  • Composit production: 'ASC' | 'DESC'
  • Rule: 'ASC'
  • OrderCondition-ASC

    ORDER BY ASC ...

    XPath: //OrderCondition/yacker:implicit-terminal[text()='ASC']

    Production: OrderCondition

    differentiated by:

  • Composit production: 'ASC' | 'DESC'
  • Rule: 'ASC'
  • OrderCondition-DESC

    ORDER BY DESC ...

    XPath: //OrderCondition/yacker:implicit-terminal[text()='ASC']

    Production: OrderCondition

    differentiated by:

  • Composit production: 'ASC' | 'DESC'
  • Rule: 'DESC'
  • OrderCondition-rBrackettedExpression

    ORDER BY (?x+?y)

    XPath: //OrderCondition/Constraint/BracketedExpression

    Production: OrderCondition

    differentiated by:

  • Composit production: ( FunctionCall | BuiltInCall | Var | BrackettedExpression )
  • Rule: BrackettedExpression
  • OrderCondition-rBuiltInCall

    ORDER BY STR(?x)

    XPath: //OrderCondition/Constraint/BuiltInCall

    Production: OrderCondition

    differentiated by:

  • Composit production: ( FunctionCall | BuiltInCall | Var | BrackettedExpression )
  • Rule: BuiltInCall
  • OrderCondition-rFunctionCall

    ORDER BY xsd:integer(?x)

    XPath: //OrderCondition/Constraint/FunctionCall

    Production: OrderCondition

    differentiated by:

  • Composit production: ( FunctionCall | BuiltInCall | Var | BrackettedExpression )
  • Rule: FunctionCall
  • OrderCondition-rVar

    ORDER BY ?x

    XPath: //OrderCondition/Var

    Production: OrderCondition

    differentiated by:

  • Composit production: ( FunctionCall | BuiltInCall | Var | BrackettedExpression )
  • Rule: Var
  • LimitOffsetClauses-limit

    LIMIT 5

    XPath: //LimitOffsetClauses[LimitClause and not(OffsetClause)]

    Production: LimitOffsetClauses

    differentiated by:

  • Composit production: ( LimitClause OffsetClause? | OffsetClause LimitClause? )
  • Rule: LimitClause
  • LimitOffsetClauses-limit-offset

    LIMIT 5 OFFSET 3

    XPath: //LimitOffsetClauses[LimitClause and OffsetClause[position()=1]]

    Production: LimitOffsetClauses

    differentiated by:

  • Composit production: ( LimitClause OffsetClause? | OffsetClause LimitClause? )
  • Rule: OffsetClause?
  • Regexp: ^$
  • LimitOffsetClauses-offset

    OFFSET 3

    XPath: //LimitOffsetClauses[OffsetClause and not(LimitClause)]

    Production: LimitOffsetClauses

    differentiated by:

  • Composit production: ( LimitClause OffsetClause? | OffsetClause LimitClause? )
  • Rule: OffsetClause
  • LimitOffsetClauses-offset-limit

    OFFSET 3 LIMIT 5

    XPath: //LimitOffsetClauses[OffsetClause and LimitClause[position()=0]]

    Production: LimitOffsetClauses

    differentiated by:

  • Composit production: ( LimitClause OffsetClause? | OffsetClause LimitClause? )
  • Rule: LimitClause?
  • Regexp: ^$
  • AskQuery

    ASK

    XPath: //AskQuery

    Production: AskQuery

    differentiated by:

  • Rule: 'ASK'
  • AskQuery-yes

    => TRUE

    XPath: //AskQuery

    Production: AskQuery

    differentiated by use of production AskQuery.

    AskQuery-no

    => FALSE

    XPath: //AskQuery

    Production: AskQuery

    differentiated by use of production AskQuery.

    ConstructTriples

    CONSTRUCT { :s :p ?o }

    XPath: //ConstructQuery

    Production: ConstructQuery

    differentiated by:

  • Rule: 'CONSTRUCT'
  • ConstructTriples-bound

    CONSTRUCT { :s :p ?known }

    XPath: //ConstructTriples

    Production: ConstructTriples

    differentiated by use of production ConstructTriples.

    ConstructTriples-unbound

    CONSTRUCT { :s :p ?unknown }

    XPath: //ConstructTriples

    Production: ConstructTriples

    differentiated by use of production ConstructTriples.