Re: [RDF+OWL] Problem with coreifying RDFS entailment embedding

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).

Something like option (1) seems like the best solution to me. However, 
wouldn't you also need permit triples of the form:

     xxx rdfs:subClassOf rdfs:Resource

?

Dave
-- 
Hewlett-Packard Limited
Registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England

Received on Tuesday, 10 March 2009 09:32:31 UTC