Re: new model theory for DAML+OIL

From: Peter F. Patel-Schneider (
Date: 10/10/01

From: Pat Hayes <>
Subject: Re: new model theory for DAML+OIL
Date: Wed, 10 Oct 2001 15:08:25 -0500

> >I didn't account for blank nodes in the model theory in a way that is easy
> >to define a decent notion of entailment, so I put together a revision of
> >the model theory.   The development of interpretations and models is now
> >similar to yours.
> >
> >I believe that entailment has
> >
> >	G |= G'
> >
> >for G' isomorphic to G, which would have been somewhat difficult to achieve
> >in the previous model theory.
> ? Not sure I follow you. If you mean (labelled)graph-isomorphism, 
> that is trivial in the rdf MT, whereas I think it actually does not 
> follow in yours, since the same literal may denote something 
> different in G and in G' (?)

I think that it does now, with the new changes.  Think of literal-labeled
nodes as restricted existentials.


> >An untidy RDF graph, R, is a three-tuple (that can be considered to be a
> >partially node labeled, directed triple-graph)
> >		< N, E, LN >
> >where N is the set of nodes in the graph
> >       LN :(partial) N -> URI u L gives labels for nodes
> >       E <= N' x N'' x N is the set of edges in the graph
> >	where N' = { n : LN(n) is undefined or LN(n) in URI }
> >	where N'' = { n : LN(n) is defined and LN(n) in URI }
> ? Why is an edge a triple of *nodes*? I would prefer to have edges as 
> a distinct set with (total) mappings to their endpoints, and LN 
> defined on N u E.

Just stylistic, not a significant change.


> >2/ Literal Values
> >
> >LV is some collection of literal values.
> >
> >   Literal values form the value space, in XML Schema datatype terms, not
> >   the lexical space!
> >
> >XLS : L -> powerset ( LV ), maps literals into the set of literal values
> >			    that they might have.
> >
> >   Here is the first substantive difference from Pat Hayes's model theory.
> >   The XLS mapping does not provide a definitive answer for the meaning of a
> >   literal.  The reason for not pinning down the mapping for literals is to
> >   allow different mappings for different datatypes.  For example, a node
> >   with literal label 05 might be mapped into the integer 5 or the string "05".
> See my recent message; could you change this to XLS: LL -> LV, where 
> LL is the set of all *occurrences* of literal labels (or, maybe, of 
> nodes which have literals as labels, given that we do not require 
> tidiness on such nodes) ?  This would allow a node labelled with 05 
> to be mapped into either 5 or "5", but not both. (I think this might 
> also simplify the later treatment of DTs, since the extra conditions 
> they introduce would indeed be semantic conditions in the usual 
> sense, ie restrictions on the class of interpretations.)

I think that the next step is for me to try to come up with some (larger)
set of examples to see if that approach will work.


> >6/ Datatypes (general version)
> >
> >Datatypes add extra structure to literals and literal values.
> >
> >A datatype theory is a four-tuple <LV,DT,DTC,DTS>
> >where LV is a collection of literal values
> >       DT is a collection URIs that are also datatypes
> >       DTC : DT -> powerset ( LV )
> >       DTS : DT -> ( L -> LV ), with DTS(d) potentially partial
> >			       and DTS(d)(L) <= DTC(d) for all d
> >
> >DTC maps a datatype to its extension (or value space).
> >DTS maps a datatype to a partial map from literals (or lexical space) to
> >literal values (or value space).
> This seems rather complicated. Couldn't you define DTC as a pullback from DTS?

Perhaps.  I'm trying to stay close to the XML Schema Datatype terminology.

> >    Each datatype provides at most one literal value for each literal via
> >    the DTS mapping.
> Quite. Now, Peter, what is wrong with my original MT in which 
> 'global' is understood as relative to a datatyping scheme, and XL is 
> defined to be
> (lambda x. DTS(datatype(x))(x)), where datatype is whatever function 
> from literals to their type determines that unique literal value? 
> Could we resolve this just by my altering the text to make this 
> possibility clear?
> >Given a datatype theory <LV,DT,DTC,DTS>
> >define XLS(l) = { lv in LV : for some d in DT with DT(d) defined on l
> >			     lv = DT(d)(l) }
> Wait a minute. Surely once we have a datatyping scheme fixed, the 
> denotation of any literal should be uniquely defined? When is this 
> actually going to home in on a referent? It seems to me that this is 
> getting out of hand. The semantics of '5' is more complicated than 
> the entire semantic theory for all of RDF.

Not necessarily.  Consider ``literals'' that have no datatype information.

> >Given a datatype theory <LV,DT,DTC,DTS>
> >a datatype RDFS model for a core RDFS graph R is a core RDFS model I for R,
> >with the following extra conditions:
> >
> >   if <s,p,l> is in E with LN(l) in L
> >   and <M(p),c> in IEXT(IS(rdfs:range))
> >     then for any node nc with LN(nc) in DT and M(nc) = c
> >	M(l) = DTS(LN(nc))
> so M(l) is a mapping, not a literal value? Or should that be 
> DTS(c)(LN(nc)) (??)

Sorry, it should have been 

	M(l) = DTS(LN(nc))(l)

so a datatype determines the denotation of a literal that it is the type of.


> >   These conditions are rather complicated for semantic conditions,
> Worse, seems to me: they aren't really semantic conditions. The first 
> one should be phrased as a(n extra) truth-condition on E  in terms of 
> <s, p, l>. Just having that triple in the graph shouldn't be a 
> semantic constraint in itself; what if the graph is false in I?

Agreed, they ain't pretty.  

> Also, what set (of nodes) does nc range over?

Nodes of the graph that is being ``modelled''.

> >so some
> >   explanation is in orer.  The first condition says that literals (n) that
> >   are objects of statements must denote according to any datatype range for
> >   the predicate (M(p)) of the statement.
> Even if the assertion that is made about them is false?

To be a model the assertions must be true, right?

> >  The second condition says that
> >   literals values (y) that are in relationships must belong to the value
> >   space (DTC(LN(c))) of any range of the relationship.
> >
> >
> >A core RDFS graph R datatype-entails another core RDFS graph R'  iff
> >R u R' is defined and
> >every datatype RDFS model for R is also a datatype RDFS model for R u R'.
> >
> With the same datatype [theory], right(?)

Right, that needs to be added.

> Pat

This archive was generated by hypermail 2.1.4 : 04/02/02 EST