- 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