Re: rdf:first/rest/nil/List: syntax-only at the RDF level

<snick/>

> No, I emphatically do not agree. I will take this out of the RDF
> model theory, under protest, if the WG decides that is what we should
> do, but you are on your own in Webont. I will restrict myself to
> making sarcastic comments about the extra work caused by RDF-WG not
> having the balls to do the obviously correct thing because nobody
> wanted to write some new code.

well, I'm trying (not really code, but inference rules)
and for the moment I have it in owl-rules as it makes
use of owl vocabulary, but I can put it anywhere

it's something like

#### using Pat's trick to say that owl:List is the same class as rdf:List
owl:List rdfs:subClassOf rdf:List, [ owl:onProperty rdf:first;
owl:maxCardinality "1" ]; is rdfs:subClassOf of rdf:List .

{ :rule11i1 . ?s rdf:first ?x } log:implies { ?s owl:item ?x } .
{ :rule11i2 . ?s rdf:rest ?b . ?b owl:item ?x } log:implies { ?s owl:item
?x } .

{ :rule12i1 } log:implies { ?x :includes rdf:nil } .
{ :rule12i2 . ?s rdf:first ?a . ?x owl:item ?a . ?s rdf:rest ?b . ?x
:includes ?b } log:implies { ?x :includes ?s } .

{ :rule14i1 } log:implies { ?x :inAllOf rdf:nil } .
{ :rule14i2 . ?s rdf:first ?a . ?x a ?a . ?s rdf:rest ?b . ?x :inAllOf ?b }
log:implies { ?x :inAllOf ?s } .

{ :rule15i1 . ?s rdf:first ?a . ?x a ?a } log:implies { ?x :inSomeOf ?s } .
{ :rule15i2 . ?s rdf:rest ?b . ?x :inSomeOf ?b } log:implies { ?x :inSomeOf
?s } .

{ :rule16i1 } log:implies { rdf:nil owl:notItem ?x } .
{ :rule16i2 . ?s rdf:first ?a . ?a owl:differentIndividualFrom ?x . ?s
rdf:rest ?b . ?b owl:notItem ?x } log:implies { ?s owl:notItem ?x } .

...

-- ,
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/

Received on Wednesday, 30 October 2002 15:18:38 UTC