[
https://issues.apache.org/jira/browse/JENA-511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Seaborne resolved JENA-511.
--------------------------------
Resolution: Not A Problem
Assignee: Andy Seaborne
> Double-dot (two dots) at the end of triples in the SPARQL generated by the
> ARQ Serializer
> -----------------------------------------------------------------------------------------
>
> Key: JENA-511
> URL: https://issues.apache.org/jira/browse/JENA-511
> Project: Apache Jena
> Issue Type: Bug
> Components: ARQ
> Affects Versions: Jena 2.10.1
> Reporter: Greorg Bergman
> Assignee: Andy Seaborne
> Priority: Minor
> Attachments: src.zip
>
>
> Hello,
> I do not know if this is a bug or not, but I have detected a weird behavior
> of the ARQ SPARQL Serializer (jena-arq-2.10.1.jar).
> When I build a SPARQL Query whose query pattern is defined by an ElementGroup
> with only one ElementTriplesBlock containing all the triples, the SPARQL
> produced by the ARQ Serializer is ok.
> See >>>
> {noformat}
> SELECT ?x_1
> WHERE
> { ?x_1 <http://www.test.com/predicate_1> ?y_1 .
> ?y_1 <http://www.test.com/predicate_1> <http://www.test.com/resource_1>
> .
> ?x_2 <http://www.test.com/predicate_2> ?y_2 .
> ?y_2 <http://www.test.com/predicate_2> <http://www.test.com/resource_2>
> .
> }
> {noformat}
> But when the SPARQL query pattern is defined by an ElementGroup with two
> ElementTriplesBlocks (each one containing several triples), the SPARQL
> generated is not anymore syntactically correct. Indeed, it contains a
> double-dot (two dots ". .") at the end of the last triple of the first
> ElementTriplesBlock.
> See >>>
> {noformat}
> SELECT ?x_1
> WHERE
> { ?x_1 <http://www.test.com/predicate_1> ?y_1 .
> ?y_1 <http://www.test.com/predicate_1> <http://www.test.com/resource_1>
> . .
> ?x_2 <http://www.test.com/predicate_2> ?y_2 .
> ?y_2 <http://www.test.com/predicate_2> <http://www.test.com/resource_2>
> .
> }
> {noformat}
> Is this a bug ?
>
> I have uploaded the source code which prints these two examples :
> - the class AvoidBug shows the correct SPARQL query
> - the class DisplayBug shows the bad SPARQL query
> - Here follows the libs needed to run the project :
> org/apache/jena/jena-arq/2.10.1/jena-arq-2.10.1.jar
> org/apache/jena/jena-core/2.10.1/jena-core-2.10.1.jar
> org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar
> log4j/log4j/1.2.16/log4j-1.2.16.jar"/>
> xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar
> xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar
> org/apache/jena/jena-iri/0.9.6/jena-iri-0.9.6.jar
> I gave a look at the jena-arq code and - if this is an issue - the problem
> seems to be in the class com.hp.hpl.jena.sparql.serializer.FormatterElement :
> (1) a dot is added at the end of the Triple serialisation : see the end of
> method formatSameSubject(...) at line 599.
> (2) but also during the ElementGroup serialisation when it contains one or
> more ElementTriplesBlock : see the middle of the method visit(ElementGroup
> el) at line 321.
> When an ElementGroup contains two ElementTriplesBlock (or more), a dot is
> added during (1) (at the end of the last triple of the first
> ElementTriplesBlock processed) but also during (2) at the end of the first
> ElementTriplesBlock just after the previous dot. For me, the dot should be
> added during either (1) or (2) but not two times.
> Hope this helps,
> Greorg
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira