- From: Gary Hallmark <gary.hallmark@oracle.com>
- Date: Tue, 03 Mar 2009 21:40:27 -0800
- To: Jos de Bruijn <debruijn@inf.unibz.it>
- CC: RIF <public-rif-wg@w3.org>
rdfs:Resource is kind of like java.lang.Object. My product supports ?v#Object for expert use in rules, but we discourage it. Rules that truly apply to every object/resource are very rare. I support option #1 as the least objectionable of the 3. Jos de Bruijn wrote: > While trying to prove that the RIF Core version of the RDFS embedding I > came up with [1] is correct, I found out that it is not. In fact, I > believe it is not possible to embed all RIF-RDFS combinations into RIF > Core in a straightforward manner. The problem is with rdfs:Resource. > According to the semantics, every object in the domain is in the class > extension of rdfs:Resource. This is naturally expressed using the rule > Forall ?x (?x[rdf:type -> rdfs:Resource]) > > However, this rule is not safe. I see three ways of dealing with this > problem: > > 1) disallow using rdfs:Resource in the rules and in RDF triples that are > not of the form xxx rdf:type rdfs:Resource in the embedding > > 2) extending the embedding to define rules for all predicate symbols > appearing in the rule set, e.g., if ex:p is a binary predicate, we add > the rules > Forall ?x ?y (?x[rdf:type -> rdfs:Resource] :- ex:p(?x,?y)) > Forall ?x ?y (?y[rdf:type -> rdfs:Resource] :- ex:p(?x,?y)) > > 3) we drop the requirement of the rules being safe > > I would prefer option 1, because option 2 would make the embedding very > complicated and I guess it is desirable to have the embedding in RIF > Core (ruling out option 3). > > Best, Jos >
Received on Wednesday, 4 March 2009 05:41:20 UTC