- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Thu, 21 Jul 2011 14:12:49 +0100
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- Cc: public-rdf-wg@w3.org
On 21 Jul 2011, at 13:53, Andy Seaborne wrote: >>> The datatype concept as it exists seems to mix mapping and value. >> >> RDF Concepts is sloppy in that regard. RDF Semantics says that literals *denote*. Plain literals denote themselves. Typed literals denote the result of applying L2V to the lexical form. > > I'm not sure what your point is here: the text in semantics has to change anyway (e.g. rule xsd 1b). You said: “The datatype concept as it exists seems to mix mapping and value.” I said: It does to some extent in RDF Concepts because parts of it are written in informal language. But if you go back to RDF Semantics then I can't see anywhere that mixes mapping and value. > I have no idea what happens on output when we have: > > ex:foo owl:sameAs xsd:String . Nothing happens. RDF parsers and RDF serializers don't perform OWL reasoning. OWL reasoners perform OWL reasoning, and their behaviour is well-defined with respect to the abstract syntax, and isn't affected by this change. Best, Richard > > #Abstract syntax > "bar"^^ex:foo. > > or, worse, > > #Abstract syntax > "bar"^^ex:foo. > and later in the output find > ex:foo owl:sameAs xsd:String . > > (whole graph analysis before output is not practcial) > > Andy > >> >> Richard >> >> >> >> >>>> I'm not saying that this makes it a no-go. But if the hack exists >>>> only to make DATATYPE("foo"@en) behave more consistently in SPARQL, >>>> then I'd rather see the hack in SPARQL. >>> >>> If it were only SPARQL , I'd agree but this seems to make RDF more regular (note - not perfectly regular). >>> >>>> >>>>> It then works for RIF and anything else built to work with RDF. >>>> >>>> No, unfortunately it doesn't, at least as far as I can tell. They >>>> actually want to have lexical forms for language-tagged literals, so >>>> that they can stuff the<string,langtag> pairs into legacy systems >>>> that don't support language tags. (Or, perhaps closer to the truth, >>>> so that they can be compatible with RDF's data model in their specs >>>> without actually supporting language tags in their literal design.) >>> >>> Actually they can do that because if the lexical form of rdf:PlainLiterals is a superset of the lexical forms rdf:LangString, it can be defined so that rdf:LangString is a derived type (the inverse term to "derived" does not seem to be defined in /TR/xpath-datamodel/). >>> >>> It's making rdf:PlainLiteral a super-datatype of xsd:string that does not work. >>> >>>> Thought experiment: If DATATYPE in SPARQL was called something else >>>> instead, say, “TYPE” (and it would return some magic constant for >>>> IRIs and blank nodes), would you still advocate making rdf:LangString >>>> a datatype instead of a class? If yes, then why? >>> >>> Yes, if it can be made to work. DATATYPE is an accessor to that part of the literal triple. All literals would have a datatype in the abstract graph. >>> >>>> >>>> Best, Richard >>> >>> Andy >>> >> >> >
Received on Thursday, 21 July 2011 13:13:29 UTC