- From: Danny Ayers <danny.ayers@gmail.com>
- Date: Tue, 2 Mar 2010 04:57:13 +0100
- To: Pat Hayes <phayes@ihmc.us>
- Cc: Damian Steer <pldms@mac.com>, Svante Schubert <Svante.Schubert@sun.com>, Semantic Web <semantic-web@w3.org>
- Message-ID: <1f2ed5cd1003011957g2e769227u22ae12ee195e7aa7@mail.gmail.com>
Burp, sorry Pat, gotta try again. Literal strings and http resources are poles apart, surely? One is identified by the name it has been given (hopefully http something) and the other you can twist about, make a hash of or whatever - but it's still a string. On 2 March 2010 00:10, Pat Hayes <phayes@ihmc.us> wrote: > > 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 > > > > > -- http://danny.ayers.name
Received on Tuesday, 2 March 2010 03:57:48 UTC