Re: Querying reified statements

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