oldray / fuxi

Automatically exported from code.google.com/p/fuxi
0 stars 0 forks source link

BFP reasoner does not combine atomic inclusion axioms (as SLD reasoner does) #37

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The current BFP reasoner does not combine atomic inclusion axioms that share 
the same head as the SLD reasoner does.  As a result, for the same test case 
below, whereas the SLD reasoner dispatches 1 query, the BFP reasoner dispatches 
2:

$ python testOWL.py --strategy=sld --debug --singleTest=OWL/unionOf/premises001
..snip..

## Full SPARQL Algebra expression ##
BGP((?SUBJECT,rdf:type,first:A))
###################################
    Solving ns1:A(?SUBJECT) {}
    Combining atomic inclusion axioms: 
[Forall ?X ( ns1:A_f(?X) :- first:Human(?X) ),
 Forall ?X ( ns1:A_f(?X) :- first:Animal(?X) )]
SELECT ?SUBJECT {
  ?SUBJECT a ?KIND
  FILTER(
    ?KIND = first:Human ||
    ?KIND = first:Animal)
}
{'OWL/unionOf/Manifest001.rdf': '59.7569942474 milli seconds'}

$ python testOWL.py --strategy=bfp --debug --singleTest=OWL/unionOf/premises001
..snip..
<Network: 5 rules, 6 nodes, 6 tokens in working memory, 1 inferred tokens> 
<TerminalNode with 1 actions (ns1:A_f(?X) :- And( ns1:OpenQuery(ns2:A) 
bfp:evaluate(rule:1 1) )) : CommonVariables: [] (1 in left, 1 in right 
memories)>
    ns1:A_f(?X) :- And( ns1:OpenQuery(ns2:A) bfp:evaluate(rule:1 1) )
        1 instanciations

@prefix ns1: <http://www.w3.org/2002/03owlt/unionOf/premises001#>.

 ns1:John a ns1:A. 
SELECT ?X {     ?X  a  ns1Animal }
SELECT ?X {     ?X  a  ns1:Human }
{'OWL/unionOf/Manifest001.rdf': '327.481985092 milli seconds'}

Original issue reported on code.google.com by chime...@gmail.com on 20 Dec 2010 at 9:38