| 12 | |
| 13 | = Tips on inferencing by Michael Sintek = |
| 14 | this here taken from an e-mail from michael sintek, the gott of inference: |
| 15 | |
| 16 | I had a look at the Sesame RDFS implementation, which is quite nice: |
| 17 | they use a set of rules (implemented in Java!) for a forward rule |
| 18 | engine (probably using some Rete algorithm). |
| 19 | |
| 20 | The rules (for Sesame2) are here: |
| 21 | |
| 22 | http://www.openrdf.org/doc/sesame2/api/org/openrdf/sesame/sailimpl/inferencer/RDFSRules.html |
| 23 | |
| 24 | If you don't want the complete inferences, |
| 25 | simply remove some of them, e.g. the rules |
| 26 | for adding types: |
| 27 | |
| 28 | rule rdfs9_1: xxx rdfs:subClassOf yyy && (nt) aaa rdf:type xxx |
| 29 | --> (t1) aaa rdf:type yyy (t2) |
| 30 | |
| 31 | rule rdfs9_2: aaa rdf:type xxx && (nt) xxx rdfs:subClassOf yyy |
| 32 | --> (t1) aaa rdf:type yyy (t2) |
| 33 | |
| 34 | I could imagine that creating a subclass of RDFSRules and removing these |
| 35 | rules will do the magic already, but I have never looked at the code. |
| 36 | Anyway, should be trivial ... |
| 37 | |
| 38 | At least you could start with this implementation -- doing the |
| 39 | entailment stuff from scratch is really nasty (you need |
| 40 | something like a semi-naive bottom-up evaluation, otherwise |
| 41 | you will derive the same new triples over and over again). |