W3C home > Mailing lists > Public > www-rdf-interest@w3.org > November 1999

RE: RDF API

From: Ron Daniel <RDaniel@DATAFUSION.net>
Date: Mon, 22 Nov 1999 07:41:17 -0800
Message-ID: <0D611E39F997D0119F9100A0C931315C60FE6B@datafusionnt1>
To: Sergey Melnik <melnik@DB.Stanford.EDU>
Cc: RDF Interest Group <www-rdf-interest@w3.org>
Sergey asks:
[quoting Gabe Beged-Dov]
> > I like the idea from Ron Daniel's RADIX that a model should
> > itself be a resource that can appear as a node in another model.
> 
> In principle, every (Java) object could implement the Resource
> interface. Why *must* a Model be Resource?
> 
[Ron Daniel]  I think it is important that a Model have a
URI so that we can make assertions about it - if for no other
reason than so that we can hang administrative metadata such
as who wrote it, when they wrote it, when we imported it, ...
That does not mean it HAS to be a Resource, but being a Resource
implies very little beyond a getURI() call.

> Here is my current Model API. In fact, it is similar in spirit to RADIX
> [1] (comments are very short for clarity):
> 
> public interface Model {
> 
>   public void setURI(String uri);
>   public String getURI(); // returns base URI
> 
>   public boolean contains(Triple t);
>   public void add(Triple t);
>   public void remove(Triple t);
> 
>   public int size();
>   public Enumeration elements(); // enumeration of Triples
>   public Model find(Resource subject, Resource predicate, RDFNode
> object);
> 
>   public Model create(); // creates empty model of the same class
>   public Model duplicate();
> 
>   public Resource createResource(String str);
>   public Literal createLiteral(String str);
>   public Triple createTriple(Resource subject, Resource predicate,
> RDFnode object);
> 
>   public Model union(Model m);
>   public Model difference(Model m);
>   public Model intersection(Model m);
> }
> 
> In my view, the basic Model interface should be as spartanic as
> possible. Could we remove something else from it keeping it useful?
> 
[Ron Daniel]  I'd suggest pulling union, intersection, and
difference out. Its useful functionality, but not mandatory.
Also, if the size()
method does something like return the number of triples,
that can be quite inefficient if one is trying to provide
a local Model() interface that is actually provided on top of
a JDBC connection to a remote database.

Later,
Ron
 
Received on Monday, 22 November 1999 10:41:21 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:42 GMT