- From: Graham Klyne <Graham.Klyne@zoo.ox.ac.uk>
- Date: Sun, 13 Nov 2011 12:21:10 +0000
- To: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
- CC: Paul Groth <p.t.groth@vu.nl>, Stephan Zednik <zednis@rpi.edu>, Provenance Working Group WG <public-prov-wg@w3.org>
On 10/11/2011 17:34, Luc Moreau wrote: > Hi Graham, > > My very original idea was to use Strings for roles, because some (non-SW) users > may just want to use a string to say "person". > > My second idea was also to allow URIs, which is what the SW people would have used. > e.g. "foaf:person" > > Beyond roles, parameter positions may also be encoded as an index. > > Hence, the choice of typed literal. They do have fixed denotations. > > I felt this was enough. I still feel this is enough. > > The Prov-O team would have had the flexibility to translate a prov-dm Literal to > whatever > they felt appropriate. > > But feedback indicated that it was not. > > So, where are we standing on this? What you are proposing may be internally consistent - lacking a formal semantics for it I cannot tell - but if you are using RDF concepts and structures (URIs, RDF-form literals) then I think you really SHOULD stick with the RDF semantics, to avoid confusion. Specifically: The URI written as foaf:Person is intended to denote a class of persons. (What it may actually denote cannot be formally constrained to this intended denotation, per http://en.wikipedia.org/wiki/Löwenheim–Skolem_theorem). On the other hand, the literal "foaf:Person"^^xsd:anyURI is specifically defined by the RDF+XSD specifications to denote a URI written as foaf:Person, and not denote a class of anything. (Ignoring for now the issue of URI vs CURIE syntax.) This is like (or is) a use-mention distinction. In RDF, a URI literal node mentions the URI, the URI node uses it. #g -- > On 11/10/2011 02:25 PM, Graham Klyne wrote: >> On 06/11/2011 19:04, Paul Groth wrote: >>> This is where the confusion is. Literals in RDF-speak are not URIs. Maybe a >>> note in either prov-o or prov-dm would help clarify this. >> >> Yes. >> >> Referring to the model theoretic style of semantics used for RDF (and also for >> formalizing first order logic - if DM is appealing to some different semantic >> framework, this needs to be spelled out): >> >> Specifically literals have a fixed denotation. A plain string denotes itself. >> In integer literal denotes the number determined according to the numeric >> encoding scheme, a URI literal denotes a URI (*), etc... >> >> By contrast, names (i.e. URIs in RDF) denote whatever some "interpretation" >> says they denote. This interpretation is just a function from names to things, >> which is not fixed by the language. The associated semantics (inherent and/or >> additionally defined) constrain the interpretations that are considered valid >> (also known as "models"). >> >> What this all means is that if something is a literal, you can't arbitrary say >> it denotes the American president known as "Barack Obama" (unless such a >> mapping is baked into an underlying literal structure, which doesn't really >> make sense). >> >> Where this all leads is that I think the roles in DM should be names, not >> literals. >> >> #g >> -- >> >> (*) ... as opposed to a URI-node in RDF, which denotes whatever the applicable >> interpretation says it denotes. >> >
Received on Sunday, 13 November 2011 12:25:33 UTC