- 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