Re: Is "Model" part of the RDF model?

*The* RDF model can be defined as an infinite set of statements that
contains all possible "primitive" statements that can be formed using
the infinite sets of URIs and literals (Unicode strings), and is closed
under reification, i.e. contains all refied statements, reifications of
reified statements etc.

It can be shown using a simple (but still non-trivial proof) that this
set (*the* RDF model) exists. *An* RDF model would be any subset of this
set. Notice that since *the* RDF model contains everything, it does not
bear any useful information.

The API concept "Model" defined in [1] is used to hold *an* RDF model, a
finite portion of *the* RDF model.

Many people noticed that it is vital to be able to manipulate sets of
statements. The API concept Model serves this purpose. In the API [1],
both Models and Statements are Resources. That means they can be used as
subjects/objects of RDF statements. While this proved to be useful,
there is no *standard* way of expressing this kind of relationships in
RDF. Instead, we have multiple implementation alternatives.

My guess is that as soon as the need for a standard way of capturing and
referring to sets of statements in RDF becomes too pressing, some
official or de facto standard for that will be defined/used.

As long as we do not need to exchange information about sets of
statements (*a*-kind RDF models) over the wire or store persistently,
the API concept "Model" works fine for "personal use".


"McBride, Brian" wrote:
> Arnold,
> A good question.  I think the current situation is as you say
> that model is not part of the the RDF Model.
> I hope Sergey will respond with his views on the Stanford API.
> Also relevant to this is the idea of contexts proposed by
> Graham Klyne.  His paper can be found at:
> Jena's precursor was an implementation of a variant of the
> Stanford API with a different approach to handling the URI's
> of models.  It's models did have URI's and that was pretty
> useful. I nearly did the same thing with Jena, but decided
> I wanted to think about it a bit more and put that off
> to a second release.  Jena in its current form is an
> experiment to test out a style of API and is not yet final.
> I don't think the API's use of models is a disguised attempt
> to change the model.  I have suggested adopting a variant of
> of the RDF Model which in which models are explicitly defined.
> There is a clear need to be able manipulate collections of
> statements.  Sometimes we want to serialize a particular
> collection into a document, or do a query on a given collection
> or make statements about a collection.
> There seem to be two main approaches to doing this.  There can
> be a concept of a collection of statements, i.e. a model aka
> StatementSet.  Or there is only one universal model and RDF
> itself is used to create collections of reified statements
> within it, as bags or contexts.
> In Jena's predecessor, models had URI's because I was
> implementing a SQL based RDF store and I needed a way
> to name different collections of statements.  It seemed
> appropriate to use URI's and treating collections of
> statements as resources enabled me to attach properties
> to the collections.  In that regard, I think that those
> models were very like what you are doing with bags of
> statements.
> One of the tasks on my todo list is to think about what the
> Jena API would be like if it had no concept of model.
> I think where I'm at at the moment, is that if model's exist
> they should be resources.  But I'm still thinking about
> whether they need to exist at all.
> Brian
> > -----Original Message-----
> > From: Arnold deVos []
> > Sent: 20 October 2000 08:36
> > To:
> > Subject: Is "Model" part of the RDF model?
> >
> >
> > RDF API's Stanford [1] and Jena [2] seem to share the concept of a
> > "Model" defined as a "container of triples" or "a set of Statements"
> > respectively and not to be confused with *the* RDF model.
> >
> > There is no explicit concept of a Model mentioned in the formal RDF
> > definition [3], so my question is: is Model just an API mechanism or
> > is it actually an extension to RDF in disguise?
> >
> > I suspect the latter because the  distribution of statements among
> > Model entities may influence the outcome of inferences and queries.
> > For example, one might select among conflicting statements based on
> > their provenance i.e. based on the Model that contains them.
> >
> > Indeed, in the Stanford API the Model has a source URI so it can
> > correspond to an RDF document. But again, is "document" a concept in
> > the formal RDF model or is just part of the syntax?
> >
> > In our in-house RDF engine we implemented "provenance" by reifying
> > statements and putting them in a bag. Statements about the bag
> > influence the credibility of the reified statements for the purpose of
> > inference and queries.
> >
> > In the Stanford API (but not Jena) the Model is-a Resource.  Is this
> > resource intended to be the same as our bag?
> >
> > Any insights into this would be helpful.
> > Regards,
> > Arnold
> > ---
> > Arnold deVos
> > Langdale Consultants
> >
> >
> > [1]
> > [2]
> > [3]

Received on Thursday, 26 October 2000 18:38:46 UTC