- From: Pat Hayes <phayes@ihmc.us>
- Date: Mon, 1 Mar 2010 17:10:50 -0600
- To: Danny Ayers <danny.ayers@gmail.com>
- Cc: Damian Steer <pldms@mac.com>, Svante Schubert <Svante.Schubert@sun.com>, Semantic Web <semantic-web@w3.org>
- Message-Id: <E9BA2E59-731B-4D36-8316-E726453CF8CE@ihmc.us>
Danny, the RDF specs are not wrong (on this matter, at least.) Neither mathematically nor technically. But it is necessary to actually read them and understand them. Literals are textual objects, part of the RDF *syntax*, lIke URIs and blank nodes. Also like those, they - the literals - *refer to* things (in RDF Webspeak, resources.) Exactly what they refer to depends on the literal, and if the literal is typed, it depends on the datatype. So for example, the literal "345"^^xsd:number refers to the number three hundred and forty five. When you write RDF, all the names in the triples are understood to be talking about the things they refer to. So, this triple: ex:PatHayes ex:hasAgeInYears "65"^^xsd:number . says that my age is 65. It does not say that my age is "65", or that my age is a literal. It says that my age is a literal *value*, ie the value of a literal. The RDFS class rdfs:LIteral is not the class of literals: it is the class of literal *values*. There is no class of RDFS literals (at least, not one defined in RDFS), just as there is no RDFS-defined class of blank nodes or of URI references. Now, plain literals with no type (and no language tag) are a special case, in that their literal value is the literal string itself, so that ex:PatHayes foaf:name "Patrick John Hayes" . says that my name is the value of the literal "Patrick John Hayes", which is this very string itself. So in this case you can sort of refer to the actual literal. But its only in this plain-plain case, and as soon as you add a language tag or type the literal, this identity of syntax and value no longer holds. So to answer the original question, there is no way in RDF(S) (or indeed OWL) to *refer to* a typed literal. The intended use of literals is that they are to be used to refer to literal values, rather than be objects in their own right. To treat them as objects, we would need to have an RDFS meta-language for talking about RDFS syntax. Pat Hayes On Feb 28, 2010, at 5:31 PM, Danny Ayers wrote: > I am not a logician, but I believe there has been some hair-tugging > over the treatment of literals & resources. Technically and > mathematically, it's wrong as it it stands in the specs. Bit strange > given that the people behind it were the best in the world, but > there you go. > > Until a reformulation of the RDF model comes along, we have to play > with it pragmatically - a literal is a string etc. > > Please don't be scared by the fact that there are errors, it's > usable, this stuff can be applied to the wire. > > The Italians say piano piano to mean we just do a little, and get > their eventually. A better saying is "may you live in interesting > times", major curse. But that is where we are. > > Love, > Danny. > > On 28 February 2010 23:34, Damian Steer <pldms@mac.com> wrote: > Sorry, substitute rdfs:label for ex:readableLabel there. > > Damian > > > > > -- > http://danny.ayers.name > ------------------------------------------------------------ IHMC (850)434 8903 or (650)494 3973 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32502 (850)291 0667 mobile phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Monday, 1 March 2010 23:11:54 UTC