- From: Garret Wilson <garret@globalmentor.com>
- Date: Sat, 06 Sep 2003 13:51:15 -0700
- To: www-rdf-interest@w3.org
Maybe I'm misunderstanding literals, because I'm having a bit of a
problem using them and understanding how they work with identifiers.
Please let me know where I'm going wrong.
As I understand them, a literal is simply a lexical representation of
some value. The string "5", for instance, stands for the value of the
fifth counting number, but there could be other lexical representations
for the same value (e.g. "V" in Roman numerals, or the Urdu character
for "5").
But isn't this "thing" that the literal represents a resource? How do I
identify that "thing" so that I can represent it later?
Let me ask a different way: what if I want to represent "5" the Unicode
character---or better yet, a string of Unicode characters of count==1
containing one character: '5'. Maybe I could use the lexical value "5"
to represent the string "5" with a data type of xsd:string. That's fine,
so far, but how do I *identify* the string of characters I'm talking
about---"5"?
Here's an example. Let's make an ontology for representing muliple
choice questions. It might be used like this:
<rdf:Description>
<q:question>What is the six-letter name used when referring to the
standard computer keyboard?</q:question>
<q:choice>ABCDEF<q:choice>
<q:choice>QWERTY<q:choice>
</rdf:Description>
I want to specify the answer:
<q:answer rdf:resource="...#qwerty">
But I'm not allowed to identify the resource represented by the literal
"qwerty" (although we know that it's just a string of characters---'Q',
'W', 'E', 'R', 'T', 'Y').
One might say to simply use the literal again, since that maps to the
same value:
<q:answer>QWERTY</q:answer>
Do I really have to duplicate the entire lexical identifier, instead of
using a URI? How would I refer to this choice, for example?
<q:choice>Add two quarts of water to the water that is already starting
to boil on the stove.<q:choice>
<q:answer>Add two quarts of water to the water that is already starting
to boil on the stove.<q:answer>
Someone might suggest to use another level of indirection, like this:
<rdf:Description>
<q:question>
<rdf:Description>
<rdf:value>What is the six-letter name used when referring to the
standard computer keyboard?</rdf:value>
</rdf:Description>
</q:question>
<q:choice>
<rdf:Description>
<rdf:value>ABCDEF</rdf:value>
</rdf:Description>
<q:choice>
<q:choice>
<rdf:Description rdf:about="#qwerty">
<rdf:value>QWERTY</rdf:value>
</rdf:Description>
<q:choice>
<q:answer rdf:resource="...#qwerty">
</rdf:Description>
Not very pretty, but it does the trick---*syntactically*. But are the
semantics of this? I'd venture that the second choice is a resource, and
that resource has a rdf:value property with a value of "QWERTY", and we
know that because the lexical value of the rdf:value property value is
"QWERTY", which maps to the xsd:string "QWERTY".
But that's not the semantics I want---I want to say, "The second choice
is a resource, and that resource is of type xsd:string and has the value
"QWERTY"? That's what I started out with---but is there no way to
identify later the object of that statement without simply duplicating
the entire lexical representation?
Thanks in advance,
Garret
Received on Saturday, 6 September 2003 16:53:26 UTC