# Re: The Mel99 semantics for RDF

From: Dan Connolly <connolly@w3.org>
Date: Thu, 17 May 2001 21:41:28 -0500
Message-ID: <3B048BD8.3FE779A6@w3.org>
To: Graham Klyne <GK@ninebynine.org>

```Graham Klyne wrote:
>
> At 10:15 PM 5/16/01 -0500, Dan Connolly wrote:
[...]
> >II. Semantics.
> >
> >An interpretation I is a directed,
> >labelled graph; the vertices
> >and the edge labels come from the
> >same set; let's call it N[I], for nodes.
> >Let's call the labelled
> >vertices S[I]; so S[I] \subset N[I] x N[I] x N[I].
>
> Did you really mean labelled vertices here?  Labelled edges makes more
> sense to me.

Labelled edges. Right.

> >An interpretation I satisfies a formula F
> >if there exists an assignment A of
> >the existentially quantified variables
> >in F to N[I] such that
> >for each atom (p, s, o) in F,
> >the triple of what I and A say those terms
> >denote, (p', s', o'), is in S[I].
>
> This seems to miss something.  I thought the definition of satisfaction
> required some notion of truth value.  Also, my reference defines
> satisfaction in terms of a formula F, an interpretation I and a
> substitution A, as "A satisfies F (under interpretation I)..."

I lumped it all together: RDF formulas can only have
existentially quantified variables; they're true
iff there exists an assignment of the variables
that works.

>   It might
> be easier to consider F by cases.  E.g. for a given formula F and
> interpretation I, and some assignment A of members of N to variables in F:
>
> Case 1:  F contains a single atomic formula with no variables; i.e. the
> interpretation of all terms in F is a specific member of N.
>    A satisfies F iff I assigns the truth value TRUE to the member of
> F.  (i.e. irrespective of A)

er... I assigning TRUE to F's interpretation, (p', s', o'), is
the same as (p', s', o') \elt S[I].

[...]
> Case 4:  [by convention?] if F is the empty set, A satisfies F (for any A
> or I).

It's not by convention; it's by definition: I and A satisfy F
if all the (p, s, o) are in S[I]; if there are no (p, s, o),
it falls out in the wash.

> >An interpretation is a model for a
> >set of formulas if it satisfies all the formulas.
>
> The definition of model that I have is more strict here:
>
> defn:  A formula F is true for I iff every assignment A of N to variables
> satisfies F

Er... that's for universally quantified variables, no?
No such thing in RDF 1.0.

> defn:  An interpretation I is a model for a set of formulae {Fj} iff every
> Fj is true for I.

That's what I said.

> The key difference here is that, to be a model, the interpretation must
> provide satisfaction for *every* set of variable assignments.

Not for existentially quantified variables, I don't think.

> >That's it for the basics.
> >
> >Note that the prinicple of erasure holds:
> >any interpretation that satisfies {A1, A2, A3}
> >also satsifes {A1, A2}.
>
> I think this follows pretty directly from my case 2 above.  I think this
> bit captures the "conjunctive semantics" of RDF.

Yup. That's the point.

> >Does that answer the sorts of questions
> >that a model-theoretic semantics is supposed
>
> It seems to tell us that for every valid interpretation of RDF, for each
> statement there exists a unique resource with certain properties.  It don't
> the corresponding statement.

Er... right; would you expect it to?

>  Question: If we apply model operators to this
> resource, do we need something outside the semantics of the model operator
> to tell us that it applies to the corresponding statement?

I don't know what a model operator is.

> I'm not sure that having a unique resource for each statement is quite what
> RDF anticipates.  It seems to me that RDF allows multiple resources (i.e.
> interpretations of different URIs) that have a similar relationship to the
> original statement.  Maybe Rf would be more usefully defines as a relation?

I don't think I follow you. But I'm quite sure that the spec
says that if subject(x)=subject(y) and predicate(x)=predicate(y)
and object(x)=object(y), then x=y. That's what "triple" means, no?

> (e.g. Rf( p, s, o, r ) being TRUE if r is a reification of (p,s,o) in S.)

No, that doesn't seem right.

> >Pat asks, in his message of Wed, 16 May 2001 20:54:38 -0400 (EDT)
> >| it isnt entirely clear  whether or not relations can
> >| be objects
> >
> >Yes and no; existential variables can go in the 'predicate'
> >slot in formulas, but the (p, s, o) structure in
> >an interpretation is just like one first-order relation;
> >so there aren't any actual logical relations
> >in N.
>
> I don't understand this bit.

Look at it this way: an RDF formula

might look like
(rdfs:Class rdfs:Class)
but this semantics makes it out more like
(PropertyValue rdf:type rdfs:Class rdfs:Class)
so the terms in the RDF syntax all go in
argument slots, not the predicate slot.

Otherwise, we'd have rdfs:Class denoting an
element of itself. Bzzt.

> >| (if so, the model theory
> >| required is going to be a bit more complicated)
> >
> >I have been trying, without success, to get my head
> >around semantics of lambda calculus and all that.
> >By this account of things, it seems that I don't need to.
>
> Hmmm... echoes of Scott&Strachey denotational semantics?

Dunno.

> [...]
> >| And
> >| when reification appears, it seems that we have to put the triples
> >| themselves into the domain.
> >
> >By Sergey's account, only indirectly, thru the Rf thingy.
>
> I'm getting out by depth, but... I think this is a difference between an
> interpretation to (semantics over?) a reflexively defined domain compared
> with semantics of relexion.  I think that using a denumerable, reflexively
> defined domain doesn't introduce any hard problems.

I dunno about reflexion. It looks to me like RDF syntax
has one function symbol: reify(p, s, o).

> >| What *is* a triple, then? What kinds of
> >| properties does it have? Are the triples in the domain of
> >| quantification the same triples used in RDF syntax,
> >
> >No; the syntax has URIs and anonymous terms (i.e. existentially
> >quantified variables); the domain of quantification
> >is N.
>
> "Domain of quantification" is a new one on me.  Is this the same as the
> "domain of dioscourse"?

That's the way I understood the question.

> >(of course, N may contain some strings and URIs and such,
> >but that's beside the point, right?)
>
> Ummm... that might be the edge of a precipice.  It seems to be OK for the
> model theory you've outlined, but also seems to fall outside the expected
> interpretation of URIs discussed elsewhere.

I don't see that.

> I guess the real problem comes if you then want to introduce (and define
> semantics for) some function that operates in the domain of discourse to
> map a string to some proposition.

Why does that look like a problem?

> >| or are they
> >| abstract things denoted by the RDF syntax?
> >
> >Yes.
> >
> >Of course, this is that funny use the word 'abstract';
> >in fact, an interpretation's domain might be
> >very concrete things: people, places, rocks, houses, no?
>
> Hmmm... see above.

I don't follow.

--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
```
Received on Thursday, 17 May 2001 22:41:34 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:45:37 UTC