Re: RDF-ISSUE-12 (String Literals): Reconcile various forms of string literals (time permitting) [Cleanup tasks]

On 2011-03-05, at 23:57, Sandro Hawke wrote:
> On Sat, 2011-03-05 at 23:26 +0000, Steve Harris wrote:
>> On 2011-03-05, at 15:24, Pat Hayes wrote:
>>> On Mar 5, 2011, at 5:35 AM, RDF Working Group Issue Tracker wrote:
>>>> RDF-ISSUE-12 (String Literals): Reconcile various forms of string literals (time permitting) [Cleanup tasks]
>>>> Raised by: Ivan Herman
>>>> On product: Cleanup tasks
>>>> At the moment we have plain literals, rdf:plainLiteral, and xsd:string literals. They are very very close to one another but they are officially different. In practice this means that, eg, SPARQL queries have to have a three branch UNION to handle all of these. Worth looking at some sort of a reconciliation of these.
>>> +100 
>>> We really should clean up this mess. I suggest a draconian solution: deprecate all but xsd:string. Untyped literals were just a mistake, it seems clear from hindsight. rdf:plainLiteral was a brave attempt to clean up the mess, but it is a crock because it had to work within the existing specs. We have a chance to put all this right. 
>>> We can allow language tags on xsd:string literals and we can even allow the plain literal syntax to stay, but treat it as syntactic sugar for an xsd:string literal. And we can incorporate xsd:string datatyping into plain RDF entailment. All of this is inelegant at the theoretical level (but no more than having XMLLIteral in there) but supremely practical, since the entire world knows what xsd:string means and uses xsd typing. 
>> I like the idea of merging plain literals an xsd:string in some way.
>> For reasons of brevity I'd like the plain literal syntax to be kept. Possibly plain literal syntax should even be the canonical form, as plain literals are found far more often than xsd:string-s in current RDF documents.
> What about just saying, "please don't use xs:string any more", and "if
> you (some RDF software) find an xs:string, you SHOULD convert it to a
> plain literal".  Would that pretty much solve the problem?

That's the inverse of what I suggested just before I read this mail. It works for me (from a storage point of view it's probably simpler), but I understand that it's not ideal for some reasoning systems?

> (FWIW, offhand, I think this is a better solution than the one in my
> email of 2 minutes ago.)
> (I don't think rdf:PlainLiteral is a problem.  It was designed not to
> be, and I haven't heard any reports of it turning out to be. It's just a
> way to express plain literals in systems like RIF and OWL 2 that don't
> have native plain literals.  It doesn't manifest in systems like RDF and
> SPARQL that do have native plain literals.)

I'm not really clear on what rdf:PLainLiteral does, or is for, so I don't really have an opinion.

Is it likely to encounter rdf:PlainLiteral in the wild? I don't off-hand know of any RDF parsers that do anything special with it.

- Steve

Steve Harris, CTO, Garlik Limited
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD

Received on Sunday, 6 March 2011 08:13:16 UTC