- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Sat, 16 Feb 2002 14:33:19 +0200
- To: RDF Core <w3c-rdfcore-wg@w3.org>
The following are a set of datatyping interpretation use cases which illustrate what I want to be able to get out of the various idioms provided by the datatyping solution and which the datatyping MT should in some manner provide for. Hopefully these will be more useful to the remaining discussions about datatyping than just prose ;-) In all cases below where there is '???' in place of a datatype in the TDL pairing, it is due to the inability to determine if the URIref in question actually denotes an rdfs:Datatype. Each blank-line separated use case should be taken in isolation. -- ppp rdfs:range ddd . xxx ppp "zzz" . -> TDL("zzz",???) ppp rdfs:range ddd . ddd rdf:type rdfs:Datatype . xxx ppp "zzz" . -> TDL("zzz",ddd) ppp rdfs:drange ddd . xxx ppp "zzz" . -> TDL("zzz",ddd) ppp rdfs:range ddd . xxx ppp _:1 . _:1 rdf:lform "zzz" . -> TDL("zzz",???) ppp rdfs:range ddd . ddd rdf:type rdfs:Datatype . xxx ppp _:1 . _:1 rdf:lform "zzz" . -> TDL("zzz",ddd) ppp rdfs:drange ddd . xxx ppp _:1 . _:1 rdf:lform "zzz" . -> TDL("zzz",ddd) xxx ppp _:1 . _:1 rdf:lform "zzz" . _:1 rdf:type ddd . -> TDL("zzz",???) ddd rdf:type rdfs:Datatype . xxx ppp _:1 . _:1 rdf:lform "zzz" . _:1 rdf:type ddd . -> TDL("zzz",ddd) xxx ppp _:1 . _:1 rdf:lform "zzz" . _:1 rdf:dtype ddd . -> TDL("zzz",ddd) {note only fully local case) xxx ppp _:1 . _:1 ddd "zzz" . -> TDL("zzz",???) ppp rdfs:range ddd . xxx ppp _:1 . _:1 ddd "zzz" . -> TDL("zzz",???) ppp rdfs:drange ddd . xxx ppp _:1 . _:1 ddd "zzz" . -> TDL("zzz",ddd) ddd rdf:type rdfs:Datatype xxx ppp _:1 . _:1 ddd "zzz" . -> TDL("zzz",ddd) -- The present DT MT in Pat's appears to account for all of the above use cases, with the exception of the inline idiom, where there is a problem with the range constraints, since they expect the property value to denote the data value, not the lexical form. The most visible difference between the inline idiom and the other idioms is that the other idioms have an explicit bNode denoting the actual value whereas with the inline idiom the value itself has no syntactic denotation in the graph. A few weeks ago I suggested (somewhat facitiously, actually, but maybe my subconcious was being particularly clever that day ;-) that when a datatype URI serves as a range value it should be interpreted as the union of the value space and the lexical space of the datatype -- and in fact, as it turns out, such an interpretation may actually solve this conflict between the inline and bNode idioms. The union datatype range would constrain the object of the property to be either a literal denoting a member of the lexical space or a bNode denoting a member of the value space, and if the latter, the set of allowable values constrains the lexical forms which may be attached to it via rdf:lform due to the known n-to-1 mapping from lexical forms to values, and it is always clear how to partition the datatype range union members into lexical space and value space from the graph syntax (literal node vs. bNode) which tells us which is which. This union interpretation would then allow for all of the above desired TDL interpretation use cases without conflict of range semantics. Eh? Cheers, Patrick -- Patrick Stickler Phone: +358 50 483 9453 Senior Research Scientist Fax: +358 7180 35409 Nokia Research Center Email: patrick.stickler@nokia.com
Received on Saturday, 16 February 2002 07:31:56 UTC