I saw your thoughtful posting to rdf-logic, below.
We have some of the same concerns about RDF and OWL, and I have occasionally questioned some of the folks preparing the W3C RDF document about this.
One thing that we have found that makes it easier to explore these questions, is to have a mechanism that executes recursive axioms safely and efficiently. In addition, we assign an English meaning to each predicate, to keep track of what we are doing.
I'd be interested please in getting your set of axioms so far, plus English comments where needed.
If you can kindly send these, I will try rephrasing them in our Internet Business Logic system. Then, we can run them over deliberately chosen tricky test examples to see what happens. You and your students will also be able to run them by pointing a browser to our site if you wish.
BTW, the system implements a model theory of stratified datalog programs augmented with negation as failure, plus aggregation predicates that support "bag", "set' and so forth.
I hope this may be of interest. The executable results will be available to all on our Web site.
Thanks in advance, -- Adrian
Semantic Integration + Business Rules in English + Your Oracle Database
PO Box 1412
CT 06011-1412 USA
Phone: USA 860 583 9677
Cell: USA 860 830 2085
Fax: USA 860 314 1029
Date: Wed, 01 Oct 2003 15:20:37 +0300
From: Tanel Tammet <email@example.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312
X-Accept-Language: en-us, en
Subject: Some questions about the exact meanings
X-Mailing-List: <firstname.lastname@example.org> archive/latest/3881
Resent-Date: Wed, 1 Oct 2003 09:12:50 -0400 (EDT)
I have been teaching a group of students some RDF and OWL.
Concerning semantics, the approach has been transforming
everything to classical FOL, using "holds(predicate, subject, object)"
to encode triples.
As expected, mostly it is straightofrward, but in some places
I have not been able to understand what would be the
right translation (ie what would be the exact semantics)
of RDF and OWL constructions. Right now I have two
First, suppose we want to say that "P" is a symmetric property.
We can axiomatize what "symmetric" means by:
forall X,Y,Z. holds(symmetric,X,Y) <=>
(holds(X,Y,Z) => holds(X,Z,Y)).
The question is whether in OWL the equivalence <=>
in this definition should really be an implication =>
or it should be an equivalence <=>
What is the _right_ axiom schema for OWL: with implication
or with equivalence?
The second question stems from collections in RDF.
We have bag, seq and alt collections. The meanings
of these seem to be a bit vague in the sense that
I am not sure how to axiomatize them.
I'd start the axiomatisation by using function terms
(we can later convert the function terms to
predicates if we wish).
So, let us have a bag of three objects: (car, plane, train).
a) construct a list in FOF, say like this:
bagcons(car, bagcons(plane, bagcons(train,nil)))
(where we could later replace "bagcons" terms
by "applies(bagcons, ...." etc) if we want)
b) axiomatising "bagcons".
For example, when a collection is a bag, it
means that the order of elements is unimportant.
Hence we should axiomatise:
forall X,Y,Z. bagcons(X,bagcons(Y,Z))=bagcons(Y,bagcons(X,Z))
The question now arises: which are the right axioms
for bag, seq and alt?
While "seq" seems fine, since it looks like being a
plain list (ie no axioms), bag and alt pose problems.
I am not sure that the "bagcons" axiom above is really
what is meant by RDF "bag". It is even more unclear
with "alt": how should we really axiomatise "alt"?
Most RDF documents leave this to be understood
"intuitively", which is not OK in RDF context.
And I could not understand the corresponding parts
of RDF semantics paper.