It has to be a basic pattern:
https://www.w3.org/TR/sparql11-query/#constructWhere

On Thu, 16 Feb 2017 at 21.31, Jean-Marc Vanel <[email protected]>
wrote:

> Indeed adding syntaxARQ brings a progress:
> QueryFactory.create(query, Syntax.syntaxARQ)
>
> GRAPH is tolerated,
> but OPTIONAL is not:
>
> Exception in thread "main" org.apache.jena.query.QueryParseException:
> Encountered " "optional" "OPTIONAL "" at line 9, column 11.
> Was expecting one of:
>     <IRIref> ...
>     <PNAME_NS> ...
>     <PNAME_LN> ...
>     <BLANK_NODE_LABEL> ...
>     <VAR1> ...
>     <VAR2> ...
>     "true" ...
>     "false" ...
>     <INTEGER> ...
>     <DECIMAL> ...
>     <DOUBLE> ...
>     <INTEGER_POSITIVE> ...
>     <DECIMAL_POSITIVE> ...
>     <DOUBLE_POSITIVE> ...
>     <INTEGER_NEGATIVE> ...
>     <DECIMAL_NEGATIVE> ...
>     <DOUBLE_NEGATIVE> ...
>     <STRING_LITERAL1> ...
>     <STRING_LITERAL2> ...
>     <STRING_LITERAL_LONG1> ...
>     <STRING_LITERAL_LONG2> ...
>     "(" ...
>     <NIL> ...
>     "}" ...
>     "[" ...
>     <ANON> ...
>
>     at
> org.apache.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:100)
>     at
> org.apache.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:52)
>
>
>
> 2017-02-16 17:54 GMT+01:00 Rob Vesse <[email protected]>:
>
> > As a general comment the short form of construct is very constrained.
> > Anything other than that simple triple patterns is illegal in the short
> form
> >
> >  Rob
> >
> > On 16/02/2017 16:45, "Andy Seaborne" <[email protected]> wrote:
> >
> >     Hi,
> >
> >     The result of a CONSTRUCT is an RDF graph and the template must be a
> >     "triples template"
> >
> >     [10]        ConstructQuery    ::=
> >                   'CONSTRUCT' ... 'WHERE' '{' TriplesTemplate? '}'  ...
> >
> >     and
> >
> >     [52]        TriplesTemplate   ::=
> >                   TriplesSameSubject ( '.' TriplesTemplate? )?
> >
> >     No GRAPH.
> >
> >     Jena accepts  CONSTRUCT WHERE { GRAPH .... }
> >     in extended mode (Syntax.syntaxARQ) and returns a Dataset.
> >
> >         Andy
> >
> >
> >     On 16/02/17 14:52, Jean-Marc Vanel wrote:
> >     > Hi
> >     >
> >     > I tested with 3.2.0.
> >     >
> >     > The short form for the CONSTRUCT query
> >     > https://www.w3.org/TR/sparql11-query/#constructWhere
> >     > works, at least syntactically ( I have nothing in the default graph
> > in my
> >     > TDB ) :
> >     > CONSTRUCT WHERE
> >     >  { ?X ?P ?O . }
> >     >  LIMIT 10
> >     >
> >     > But adding GRAPH pattern gives a synyax error:
> >     > CONSTRUCT WHERE  {
> >     > GRAPH ?G {
> >     >     ?X ?P ?O .
> >     > }
> >     > } LIMIT 10
> >     >
> >     > Which does not occur e.g. with Virtuoso.
> >     >
> >     > org.apache.jena.query.QueryParseException: Encountered " "graph"
> > "GRAPH ""
> >     > at line 2, column 1.
> >     > Was expecting one of:
> >     >     <IRIref> ...
> >     >     <PNAME_NS> ...
> >     >     <PNAME_LN> ...
> >     >     <BLANK_NODE_LABEL> ...
> >     >     <VAR1> ...
> >     >     <VAR2> ...
> >     >     "true" ...
> >     >     "false" ...
> >     >     <INTEGER> ...
> >     >     <DECIMAL> ...
> >     >     <DOUBLE> ...
> >     >     <INTEGER_POSITIVE> ...
> >     >     <DECIMAL_POSITIVE> ...
> >     >     <DOUBLE_POSITIVE> ...
> >     >     <INTEGER_NEGATIVE> ...
> >     >     <DECIMAL_NEGATIVE> ...
> >     >     <DOUBLE_NEGATIVE> ...
> >     >     <STRING_LITERAL1> ...
> >     >     <STRING_LITERAL2> ...
> >     >     <STRING_LITERAL_LONG1> ...
> >     >     <STRING_LITERAL_LONG2> ...
> >     >     "(" ...
> >     >     <NIL> ...
> >     >     "}" ...
> >     >     "[" ...
> >     >     <ANON> ...
> >     >
> >     >     at
> >     > org.apache.jena.sparql.lang.ParserSPARQL11.perform(
> > ParserSPARQL11.java:100)
> >     >
> >     >
> >
> >
> >
> >
> >
> >
>
>
> --
> Jean-Marc Vanel
>
> http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me
> Déductions SARL - Consulting, services, training,
> Rule-based programming, Semantic Web
> +33 (0)6 89 16 29 52
> Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
>

Reply via email to