RE: RDF semantics: a question about instances and interpolation lemma

> Definition of instance:
>
> An instance of an RDF graph is, intuitively, a similar graph in which
> some blank nodes may have been replaced by urirefs or
> literals. However, it is technically convenient to also allow blank
> nodes to be replaced by other blank nodes, so we need to state this
> rather more precisely. Say that one triple is an instance of another
> if it can be obtained by substituting zero or more urirefs, literals
> or blank nodes for blank nodes in the original; and that a graph is an
> instance of another just when every triple in the first graph is an
> instance of a triple in the second graph, and every triple in the
> second graph has an instance in the first graph. Note that any graph
> is an instance of itself.
>
> By this definition,
>
> (1a) eg:a eg:prop1 eg;b.
> (1b) eg:c eg:prop2 eg:d.
>
> is an instance of
>
> (2a) _:a eg:prop1 _:b.
> (2b) _:b eg:prop2 _:c.
>

I don't think that follows.

> (1a) is an instance of (2a) by { _:a -> eg:a, _:b -> eg:b }
>
> (1b) is an instance of (2b) by { _:b -> eg:c, _:c -> eg:d }

That is true. However we are replacing blank nodes *in the graph*. Hence
once we have done the replacement to use (1a) as an instance of (2a) the
graph we have is:

(3a) <eg:a> <eg:prop1> <eg:b> .
(3b) <eg:b> <eg:prop2> _:c .

Since (1b) cannot be an instance of (3b) (without say a DAML statement
declaring directly or indirectly that eg:b and eg:b are the same resource)
the first graph is not an instance of the second.

Received on Tuesday, 3 December 2002 06:36:12 UTC