Re: summary of 'a triple is not unique' and 'statements/reified' statements

On Tue, 28 Nov 2000, Seth Russell wrote:

> Thanks for your summary. I think it will be a very useful tool to help us
> arrive at a consensus on these issues.  If you are considering updating it,
> maybe you could add a table of contents with anchors into the document, so
> that we might have URIs with with to refer to our various arguments.

thanks Seth :-)
I've added a contents.

> 
> Several places you refer to the idea that something or other is either in
> "the model" or not;  yet I can find no reference in the literature where
> that notion is defined.  Pending a more authoritative definition I would
> like to propose my own:
> 
> topic: in a RDF data model
> definition:  "A notion is [in a RDF data model] iff we can find a triple for
> it in that model, or imply a triple for it in that model."
> Graphically:  "A notion is [in a RDF data model] iff we can find (or imply)
> a particular labeled directed arc for it in the graph."
> 

The various APIs for RDF have methods which test whether a triple is a
model or not. It would probably be a good idea to formalize this. 

Your suggestion begs the questions, what is a model? and what do you
mean by 'imply a triple for it'?
It seems to me that the recent thread on rdf-logic and rdf-interest
implies that what a model isn't is a proper container for statements,
and that we do need something like Gabe's suggestion of bags of reified
statements [1] at least as an interpretation of the information from a
source of RDF (I don't think Gabe means that all serializations of RDF
should follow this format, just the handling of rdf data from other
sources - I might be wrong...). So this has implications for handling
the triples we have in a consistent way from different sources, and
therefore also implications about how we match triples (as in your
suggestion) and by extension, for querying. 

I think Gabe is correct that we need to handle tracking the provenance
of statements using the RDF M&S constructs of reification and
containers. But then we need to think about the triples we will get and
at which level we want to query them. The APIs currently use something
like

 find(sub, pred, obj)

which is really low level, if we're got a lot of bags and reifications.

Looking at your definition of when a model contains, a reification of a
statement exists independantly to the statement itself, according to the
M&S, so that contains(s,p,o) would be false if the interpretation of the
model only contains a reification of the statement. So because of our
reinterpretation of the statements we've found from a rdf source, we get
different query results than if we had not reified the statements.

This is fine, except that (I think) we need to make RDF as easy to query
and accessible as possible. One partial solution is to use something
like Guha's rdfDB query language [2]. But this sort of query langauge
loses a lot of its utility if in order to use it you have to navigate
complex structures like bags and reifications. (I've been playing around
with a similar query language too, so I've got an interest in this [3]).


Just my 2pence worth.

cheers,

Libby


[1] http://lists.w3.org/Archives/Public/www-rdf-logic/2000Nov/0103.html
[2] http://web1.guha.com/rdfdb/query.html
[3] http://swordfish.rdfweb.org/rdfquery/

Received on Wednesday, 29 November 2000 08:29:25 UTC