- From: Birte Glimm <birte.glimm@comlab.ox.ac.uk>
- Date: Wed, 10 Mar 2010 11:52:58 +0000
- To: Ivan Herman <ivan@w3.org>
- Cc: Chimezie Ogbuji <ogbujic@ccf.org>, SPARQL Working Group WG <public-rdf-dawg@w3.org>, Axel Polleres <axel.polleres@deri.org>, Sandro Hawke <sandro@w3.org>
see below On 10 March 2010 10:28, Ivan Herman <ivan@w3.org> wrote: > > On 2010-3-9 16:54 , Chimezie Ogbuji wrote: [snip] >> As long as sk(SG) is finite, any RIF-RDF-entailed graph would also be finite >> (since the safety restrictions ensure the Herbrand model is finite by >> essentially ensuring no 'new' constants are introduced). So the finite >> restriction would only be relevant for the infinite axiomatic triples, and >> Birte's recent modifications to C2 address this: >> >> (C2) For each variable x in V(BGP), sk( $B&L (B(x)) occurs in sk(SG) or in >> rdfV-Minus. >> > This is necessary only if we use RIF-RDF-RDF and RIF-RDF-RDFS (and OWL). > In the case of RIF-RDF-Simple the issue does not arise, does it? Simple entailment requires: "μ is a solution for BGP from G when there is a pattern instance mapping P such that ***P(BGP) is a subgraph of G*** and μ is the restriction of P to the query variables in BGP." The fact that the instantiated BGP is a sub-graph of G (SG) corresponds to what we do with the Skolemization and otherwise also simple entailment would not guarantee finite answers since in the presence of blank nodes in the answer I can always create another answer by just renaming the bnode and I get something that is still simply entailed according to the definition of simple entailment. Skolemisation is just better able to capture that we in fact work on extended graphs (containing also inferred triples) in non-simple entailment. Nevertheless, the restriction as for simple entailment would not really work for RIF since you don't want to exclude the entailed triples, e.g., if we have SG: ex:a a ex:b . rif-rdf:usesRuleset ex:rules.rif . with ex:rules.rif: ex:b(x) -> ex:c(x) and query: SELECT ?x WHERE { ?x a ex:c } then I would expect to get (even with RIF-RDF-Simple) ?x/ex:a although the instantiated BGP ex:a a ex:c does not occur in G/SG. Condition C2 might allow that, but it might also need rephrasing because it should also refer to the terms used in the (imported) rule set too I guess, e.g., (C2) For each variable x in V(BGP), sk(\mu(x)) occurs in sk(SG) or in rdfV-Minus. should probably refer to sk(SG) \cup terms from import closure of the referenced RIF rule sets. Otherwise I would not get an answer for the example above because ex:c only occurs in the rule set. This could all be a misunderstanding due to my limited RIF knowledge, but I thought I better ask. Birte -- Dr. Birte Glimm, Room 306 Computing Laboratory Parks Road Oxford OX1 3QD United Kingdom +44 (0)1865 283529
Received on Wednesday, 10 March 2010 11:53:37 UTC