- From: Sandro Hawke <sandro@w3.org>
- Date: Sun, 14 Sep 2003 15:47:07 -0400
- To: Garret Wilson <garret@globalmentor.com>
- Cc: Graham Klyne <GK@ninebynine.org>, www-rdf-interest@w3.org
> 1. Let me see if I understand this correctly: literals and URI > references are syntactically distinct. The things they represent are all > resources---the things literals represent (rdfs:Literal) are a subset of > the things URI references represent (rdfs:Resource). Right? That's exactly right for plain Literals (no datatype). Since typed literals have a value space (set of possible values) defined by their datatype, and there is no formal limit to how datatypes can be defined, I don't see anything stopping any rdfs:Resource from actually being an rdfs:Literal with *some* datatype *someone* makes up. Intuitively, and using the datatypes predefined XML Schema, yes rdfs:Literal is a proper subset of rdfs:Literal. > > So, any value (e.g., the number 10) which might be denoted by a literal > > (e.g. "10"^^xsd:integer) could also be denoted by a URI (e.g. I might > > define the URI ref http://www.ninebynine.org/2003/09/number#_10 to have > > the number 10 as its intended denotation), and while they remain > > syntactically distinct entities, in the interpretation intended by my > > hypothetical definition, (and the presumed definition of xsd:integer) > > they would denote the same number 10. > > 2. Does each instance of the plain literal "10" always refer to the same > identical resource? Yes. > 3. Does each instance of the typed literal "10"^^xsd:integer always > refer to the same identical resource? Yes. (But of course "10" does not refer to the same thing as "10"^^xsd:integer. Whether "10" refers to the same thing as "10"^^xsd:string is ... an interesting question. If I were being really helpful here (and it were not Sunday afternoon), I'd find the RDF Core test case on this, or propose one if there is none.) > 4. How can I assert properties of the resources indicated by the plain > literal "10"? (If "10" really represents a resource, why can't that > thing have properties, too?) It would be nice to say (in N-Triples) "10" math:divisor "5". but since RDF doesn't allow literals in the subject position, we need some more-powerful language. OWL gives us an equals sign (called owl:sameAs) so we can write _:ten owl:sameAs "10". _:ten math:divisor "5". which comes out in RDF/XML (dropping the placeholder "_:ten") as: <rdf:RDF xmlns:math="http://www.example.com/math#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description> <math:divisor>5</math:divisor> <owl:sameAs>10</owl:sameAs> </rdf:Description> </rdf:RDF> > 5. If I wanted to http://www.ninebynine.org/2003/09/number#_10 to refer > to the resource represented by "10"^^xsd:integer, how would I do that in > a graph (via RDF+XML)? Why must I force the RDF processor to have some > sort of outside predefined knowledge to associate URIs with resources > designated by literals? If I can associate URIs with resources in a > graph, and literals stand for resources, why can't I associate a URI > with the resource designated by a literal? Again, use owl:sameAs: <rdf:Description about="http://www.ninebynine.org/2003/09/number#_10"> <owl:sameAs rdf:datatype=" ... integer">10</owl:sameAs> </rdf:Description> So in a sense, yes, that's outside knowledge, but knowledge of OWL is probably pretty important in most RDF processors. -- sandro
Received on Sunday, 14 September 2003 15:49:02 UTC