Update: jena-core & jena-arq status

If you want to play, set:

JenaRuntime.isRDF11 = true

Do not run on persistent storage yet.


** jena-core:

Notes:
The Literal.getInt etc operations now cast xsd;strings, not just plain literals. Its the most compatible way forward. Personally, I think the whole casting thing in this area id now wrong (it's an XML-centric feature because of prevalence of <property>123</property>).

Todo-1/
There is one RDF/XML-ABBREV writer thing to sort out - it is not using attributes for simple strings because they have type xsd:string now.

** jena-arq:

Todo-2/
ARQ sorts deterministically, even where the SPARQL spec does not require it. The spec requires simple literals before datatype literals. ARQ then sorts by lexical form then by datatype URI.

So in SPARQL/RDF-1.0 :

"5" < "5"^^xsd:integer < "5"^^xsd:string

but RDF-1.1 makes "abc" the same term as "abc"^^xsd:String.

Generally, 1.0->1.1 is about treating xsd:string like simple literals (no datatpe, no language) so that becomes:

"5" < "5"^^xsd:integer

There are 3 tests that catch this.

Todo-3/
Similarly, it's sorting rdf:langString as a datatype, not as a language literal. 2 tests.

Todo-4/
Some of the scripted tests need fixing, including some WG ones which use DISTINCT and now "a" and "a"^^xsd:string are the same when they use dot be different.

Note: Bonus: TransformFilterEquality can now process the string case as an optimization.

Note: Discovery:

SimpleSelector(null, null, 5) does not find "5"^^xsd:integer, only "5" which I find bizarre in the extreme. It always been this way - it's not an RDF-1.1-ism.

        Andy

Reply via email to