W3C home > Mailing lists > Public > www-rdf-interest@w3.org > December 2000

Re: Querying reified statements

From: Seth Russell <seth@robustai.net>
Date: Wed, 13 Dec 2000 09:57:17 -0800
Message-ID: <3A37B87D.4A877F39@robustai.net>
To: David Allsopp <dallsopp@signal.dera.gov.uk>
CC: www-rdf-interest@w3.org
David Allsopp wrote:

> Perhaps the solution is to 'flatten' an RDF model containing reified
> statements (applying filters according to the origin of the statements
> or other criteria) to generate a model without any reifications, which
> can be queried easily.  This could be done explicitly, or we could have
> a Virtual Model which acts as a filtered interface to one or more actual
> models?

Yes I think you are on to something here.

Whatever RDF is, I think it is safe to say, it is an external language, it
is not very useful as your internal knowledge representation.

So that to simplify the query I would use a quadruple internally instead of
the external triple ... principally as Graham has suggested ... and place
all statements made by someone in some context:

[Context:Things Said About John]
         |
[Context:Sam says about John]----contains--->[id1, John, age,42]
[Context:Tom says about John]----contains--->[id2, John, age,43]
[Context:John says about John]----contains--->[id3, John, age,39]

So if the context node [Context:Things Said About John] is selected, then
all the triples id1, id2, id3 show up otherwise they do not;  so your
simplified query would be something like:

select [Context:Things Said About John]
select [*, John, age, ?]

The world is context sensitive, so things just work better in context :))
Seth Russell
Received on Wednesday, 13 December 2000 12:53:16 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:27 UTC