You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@epimorphics.com> on 2011/06/16 11:14:14 UTC

Fwd: RDF WG Resolution Regarding Various Forms of String Literals

> -------- Original Message --------
> Subject: RDF WG Resolution Regarding Various Forms of String Literals
> Resent-Date: Wed, 15 Jun 2011 16:40:08 +0000
> Resent-From: public-rdf-wg@w3.org
> Date: Wed, 15 Jun 2011 12:39:19 -0400
> From: David Wood <da...@3roundstones.com>
> To: Manu Sporny <ms...@digitalbazaar.com>, Ian Horrocks <ia...@comlab.ox.ac.uk>, Lee Feigenbaum <le...@thefigtrees.net>
> CC: RDF Working Group WG <pu...@w3.org>, W3C SW CG Group <w3...@w3.org>, public-rdf-dawg@w3.org
>
> Hi all,
>
> The RDF working group resolved our ISSUE-12 [1] today, which is
> intended to "reconcile various forms of string literals".
>
> We resolved to accept the proposal at:
> http://www.w3.org/2011/rdf-wg/wiki/StringLiterals/AbolishUntaggedPlain
>
>with the modification that preferred output form (SHOULD) is "foo"
 > not "foo"^^xsd:string in RDF; and we recommend that SPARQL and other 
 > WGs do the same.
>
> Discussion highlighted several possible areas of concern, which we
> believe the current proposal addresses.  Specifically, it was noted
> that:
>
> - The forms "foo" and "foo"^^xsd:string are equivalent input
> syntaxes. - The form "foo" is the preferred output syntax. - The WG
> suggests retaining the term "plain literal" in documents to avoid
> unnecessary rework.  Such plain literals would be considered
> semantically equivalent to xsd:strings.
>
> NB: This resolution makes *no statement* about language-tagged
> literals (e.g. "foo"@en).
>
> We invite discussion regarding the ramifications of this resolution
> to other working groups and implementors.
>
> Regards, Dave
>
> [1] http://www.w3.org/2011/rdf-wg/track/issues/12

This resolution by RDF-WG is an attempt to sort out plain literals
without language tag (simple literal in SPARQL terminology) and xsd:strings.


This resolution is subject to it being acceptable to other groups.  Touching
datatypes gets the OWL world concerned.

Only xsd:Strings would exist in the abstract syntax.

:x :p "foo" .
:x :p "foo"^^xsd:String .

is a graph of one triple.

The output should be:
:x :p "foo" .

This is obviously a visible change but, in my experience, unlikely to be
much of a problem because data either has xsd:strings or simple
literals, rarely a mixture and if it is a mixture, not on the same
subject/predicate.

Jena memory models are already equate simple literals and xsd:strings
but can return 2 for a match on "foo".

Persistent models see these are different and unrelated.

There are various to implement this.  There is no rush - first step is 
to see if the resolution actually sticks and is accepted by other 
groups, then the community at large.

Then either or both of:

1/ Change Node_Literal/Node(Factory). This could even be turn 
xsd:strings to plain literals (the reverse of the resolution) as 
minimising the effect on writers.

2/ Get the parsers and writers to sort it out and leave the graph core
unchanged.

I've already been considering a canonicalization phase (e.g. numbers) 
after parsing, before inserting into a model.  This could be added to 
that pipeline.

-------------

Plain literals with language tag are a whole different matter.
One possible outcome is that have a class (not a datatype) of 
rdf:LangTagString or some other sensible name.

	Andy