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

Re: RDF API

From: Sergey Melnik <melnik@DB.Stanford.EDU>
Date: Wed, 17 Nov 1999 13:17:02 -0800
Message-ID: <38331B4E.50D7D678@db.stanford.edu>
To: guha@epinions.com
CC: www-rdf-interest@w3.org
Nodes do exist. We know that all nodes we can ever think of exist.
However, we are not particular interested in this fact and are not
willing and able to explicitly represent it in our RDF models using

URI --rdf:type--> rdfs:Resource

where URI iterates over an infinite set (notice that even in this case
every node would hang on an arc).

About a year ago I was able to formally prove that the "largest" most
general RDF model that contains all possible URIs, all possible
statements you can form with them and *all reifications* of that
statements ad infinitum does exist (the proof is non-trivial).

This knowledge is important from the theoretical point of view. However,
for the sake of practicability, I'm arguing that we need a usable API
rather than a precise understanding of what it means to exist. We can
view every RDF model as if it implicitly contained all well-formed URIs.
Still, if we want to emphasize the difference between a model that
contains "loose" nodes that we know nothing about, it is always possible
to add a "existential" statement like the one above.

I've coded many thousands lines of code using a superset of the API that
I proposed for as a seed for a general discussion. I have never
experienced the need to ask a model whether it contains a resource that
it knows nothing about.

As to RDF vs predicate logic: you are right in the sense that the
expression power of RDF lies strictly within the limits of predicate
logic. However, an algebra for RDF might look quite different, since we
still need to have properties as first-class objects in our model. If
you want to represent RDF predicates as "real" predicates in your
algebraic structure, you also need to "reify" them in your object
universe and add a set of logical predicates to establish a relationship
between them. The proof I was talking about above was based on the
algebraic representation of RDF as shown in

http://www-diglib.stanford.edu/diglib/ginf/WD/rdf-alg/rdf-alg.ps

Note that in this model, reification is a *partial* function, therefore
such proof is not needed. In fact, RDF specs states this fact
explicitly. However, it is possible to make it a total function for
research purposes ;)

Best,
Sergey
Received on Wednesday, 17 November 1999 16:12:30 GMT

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