Re: Recent changes to FuXi

Jos.

On 6/30/08 3:55 AM, "jos.deroo@agfa.com" <jos.deroo@agfa.com> wrote:
> Hey Chime, that's perfect now and even more than 5 times faster.. Waw!
> Will look in detail to see how it all works :)

Taking http://www.w3.org/TR/owl-test/byFunction#function-allValuesFrom  for
example.  The DLP [1] algorithm is the difference between using this rule:

 { ?X a first:r .
   ?X first:p ?BdxmVKgO15 } => { ?BdxmVKgO15 a first:c }

Instead of:

 {?R owl:onProperty ?P; owl:allValuesFrom ?A. ?X ?P ?Y; a ?R} => {?Y a ?A}.

Where ?BdxmVKgO15 is a skolem (or open) variable term.  In the first case,
the rule antecedent requires much fewer Join conditions than in the second
(general) case .  The first rule is generated automatically, so this
suggests a natural inference mechanism that consists of taking an RDF graph
that includes OWL assertions, generating the corresponding rete network /
rule set, and passing the RDF graph through the (very concise) decision
network to calculate a conflict set of entailed RDF triples.

[1] 
http://www.cs.man.ac.uk/~horrocks/Publications/download/2003/p117-grosof.pdf
 
> jdroo@jdroo-laptop:~/fuxi/test$ python testOWL.py
> testOwl (__main__.OwlTestSuite) ... Time to build production rule (RDFLib):
> 0.0163600444794 seconds
> OWL/InverseFunctionalProperty/premises003
> OWL/InverseFunctionalProperty/conclusions003
> <OWL/InverseFunctionalProperty/conclusions003.rdf> :-
> <OWL/InverseFunctionalProperty/premises003.rdf>
> ########## Finished Building decision network from DLP ##########
> <Network: 21 rules, 69 nodes, 0 tokens in working memory, 0 inferred tokens>
> Time to calculate closure on working memory:  9.13095474243 milli seconds
> <Network: 21 rules, 69 nodes, 35 tokens in working memory, 1 inferred tokens>
> === Passed! ===
> ----------------------------------------------------------------------
> Ran 1 test in 0.596s
> 
> OK
> 
> Kind Regards,
> 
> Jos De Roo | Agfa HealthCare
> Senior Researcher | HE/Advanced Clinical Applications Research
> T  +32 3444 6256
> 
> Quadrat NV, Kortrijksesteenweg 157, 9830 Sint-Martens-Latem, Belgium
> http://www.agfa.com/healthcare/
> R.O.: Septestraat 27, B-2640 Mortsel, Belgium | RLE Antwerp | VAT BE
> 0403.003.524 | IBAN BE03570124715584 | Citibank International PLC, B-1050
> Brussels
> Click on link to read important disclaimer:
> http://www.agfa.com/healthcare/maildisclaimer
> 
> -----public-cwm-talk-request@w3.org wrote: -----
> 
>> To: fuxi-discussion <fuxi-discussion@googlegroups.com>
>> From: Chimezie <chimezie@gmail.com>
>> Sent by: public-cwm-talk-request@w3.org
>> Date: 06/30/2008 01:17AM
>> cc: public-cwm-talk@w3.org
>> Subject: Re: Recent changes to FuXi
>> 
>> 
>> Hey Jos.  thanks for the test run.  I forgot to update testOWL.py.
>> I've done so now.  Let me know if the update doesn't allow that
>> particular test to pass
>> 
>> On Jun 29, 7:24 am, jos.de...@agfa.com wrote:
>>> Hi Chime,
>>> The testrun is fine when skipping
>>>     'OWL/intersectionOf/Manifest001.rdf' ,#can't calculate identical class
>>> extensions
>> 
>> See: http://code.google.com/p/python-dlp/source/detail?r=203
>> 
>>> As an aside, I also started rewriting our OWL rules as
>>> Coherent Logic rules to be used in our Skolem Euler Machine
>>> http://eulersharp.sourceforge.net/GUIDE
>>> and it makes things much more straightforward to have
>>> existentials in the conclusion of rules which is a form of the
>>> more general case of disjunction in the conclusion of rules.
>>> That works pretty well and is performant as well :)
>> 
>> Do you skolemize each fired existential in a consequent?
>> 
>> -- Chimezie
>> 
>> 
> 

Received on Wednesday, 2 July 2008 09:24:04 UTC