Re: Of partial reification

At 01:21 PM 11/23/00 +0100, Jonas Liljegren wrote:
>Graham Klyne <GK@Dial.pipex.com> writes:
>
> > Under the present regime, I think the pain of disallowing partial
> > reification (e.g. "syncing and transaction mechanism") is greater than
> > the pain of allowing it.  Also, I don't see how one can prevent
> > somebody from creating a model such as:
> >
> >     [S] --rdf:Type-----> [rdf:Statement]
> >     [S] --rdf:Subject--> [SomeResource]
>
>Heh!  This could be used as an alternative to having dedicated
>variable URIs in queries.  The above would match all statements with
>the specified subject.

Something of the kind did occur to me...



>But I still prefere having the varaiables...

... I can sympathize with that.

But consider:
   [?S] --rdf:type-------> [rdf:Statement]
   [?S] --rdf:subject----> [SomeResource]
   [?S] --rdf:predicate--> [?A]
   [?S] --rdf:object-----> [?B]
would match all resources that modelled statements about [SomeResource].

What is the purpose of variables in such a query?

(a) maybe to establish the existence of a given property for a subject, 
without caring about its object value?

(b) to act as a placeholder to which an actual value (or values) may be 
bound, so that the result of a query can be interrogated or processed in 
some useful way.

If we don't care about the particular object values, anonymous placeholders 
might be used:
   [?S] --rdf:type-------> [rdf:Statement]
   [?S] --rdf:subject----> [SomeResource]
   [?S] --rdf:predicate--> [??]
   [?S] --rdf:object-----> [??]

If we really don't care about the existence of predicate of object arcs, 
then I think the query must reduce to:
   [?S] --rdf:type-------> [rdf:Statement]
   [?S] --rdf:subject----> [SomeResource]

My point?  I think the use of variables in queries is an orthogonal issue 
to "completeness" of the graph structures involved.

#g

------------
Graham Klyne
(GK@ACM.ORG)

Received on Thursday, 23 November 2000 09:40:01 UTC