- From: Garret Wilson <garret@globalmentor.com>
- Date: Wed, 01 Aug 2007 09:10:13 -0700
- To: Story Henry <henry.story@bblfish.net>
- CC: Jeremy Carroll <jjc@hpl.hp.com>, Tim Berners-Lee <timbl@w3.org>, Semantic Web <semantic-web@w3.org>
Story Henry wrote: > > On 1 Aug 2007, at 17:18, Garret Wilson wrote: > >> So now that I've agreed with your points, let me say that your points >> beg certain questions, which perhaps you can answer: >> >> 1. Where in all of this is there a need for the rdfs:Literal class? > > You can make up any class of objects you want. rdfs:Literal is useful. Wait---can't I already make up any class of objects I want? I thought that was what rdf:type was for. I guess I was looking for more of an answer than "rdfs:Literal is useful"---you're just affirming the question. Let me state the question again: assuming that your N3 processor and SPARQL engine automatically turn 123 and "123" into URI references <http://www.example.org/integers/123> and <http://www.example.org/string/123>, can you give me any real-life example in which the existence of an rdfs:Literal class would bring functionality you don't already have? > >> 2. Where in all of this is there a need for rdf:datatype? > > same as above, it's useful. Please, Henry, I'm being serious. Affirming the question isn't a serious answer. Can you give an example of where rdf:datatype can do something that I can't already do using URIs as identifiers and the rdf:type property I use for all non-literal resources? > >> 3. Where in all of this is there a need for a literal to be >> identified *in the model* as something other than a URI? > > None. You could do all with URLs but people would balk at you, and it > would make writing things down really > difficult. Please, Henry, you apparently didn't even read my message! I'm advocating writing 123 and "123"! (Hell, I balk at writing "123"^^xsd:integer and "123"^^xsd:string!) Nobody is asking you to write out a long URI. RDF doesn't store "123" in the model for typed literals---it stores "123"^^xsd:integer or "123"^^xsd:string. If "123"^^xsd:integer and <http://example.org/integers/123> are equivalent, and "123"^^xsd:string and <http://example.org/strings/123> are equivalent, why would you prefer a non-URI sequence of characters over a URI for identification? This is not about writing out something short versus writing out something long. Something long gets stored in the model anyway. Why do we have to use a non-URI for literals? Why is "123"^^xsd:integer better than <http://example.org/integers/123> ? That is the question. > In fact you could write an ontology out to do this if you wished. > > <http://unicode.org/char/a> = "a" . > > and so on for every character in the unicode. > > Then you could write out a new model theory, and prove that your URI > only model theory was a simplification of the current one, but that > they were equivalent. Henry, this is jumping from apples to oranges, and it's unfair. Nowhere in our discussion were we referring to individual Unicode characters, either as subjects or object values. But sure, let's assume that you want to say that my name eg:startsWith the letter "G"? Even you would say that this turns into N3 something like this: <uriForMyName> eg:startsWith "G"^^unicode:char. That's what you would recommend, right? So how is "G"^^unicode:char more ridiculous than <http://unicode.org/char/G> ? You were trying to make my argument look absurd by talking about something I was never talking about: referring to Unicode characters. When we *do* talk about referring to Unicode characters individually, the RDF literal method looks just as ridiculous as anything else. Garret
Received on Wednesday, 1 August 2007 16:10:29 UTC