Re: PROV-ISSUE-142 (Tlebo): Can roles only be Literals? [Data Model]

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