An inference engine for RDF - Agfa
An inference engine for RDF - Agfa
An inference engine for RDF - Agfa
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>An</strong> <strong>inference</strong> <strong>engine</strong> <strong>for</strong> <strong>RDF</strong><br />
The Semantic Web is a very new field of research. This makes it necessary to<br />
test a lot in order to avoid ending with theoretic constructions that are not usable<br />
in daily practice. This makes testcases a very important subject.<br />
I will discuss here the most important testcases. Pieces of source code will be<br />
given in <strong>RDF</strong>Prolog syntax. The full original sources are given in appendix 3.<br />
5.17.2. Gedcom<br />
Gedcom is a system that was developed to provide a flexible, uni<strong>for</strong>m <strong>for</strong>mat <strong>for</strong><br />
exchanging computerized genealogical data. The gedcom testcase of De Roo<br />
[DEROO] gives a file with rules and file with facts. A query can then be done.<br />
This testcase is very good <strong>for</strong> testing a more complex chaining of rules; also <strong>for</strong><br />
testing with a large set of data.<br />
Example rule:<br />
gc:parent(Child, Parent),gc:sex(Parent, male) :> gc:father(Child, Parent).<br />
Two facts:<br />
gc:parent(frank, guido),gc:sex(guido, male).<br />
The query:<br />
gc:father(Who, guido)<br />
will give as solution:<br />
gc:father(frank, guido).<br />
5.17.3. The subClassOf testcase<br />
This testcase is an example where a general rule (with a variable predicate) will<br />
cause looping if there is no anti-looping mechanism available.<br />
It contains following facts and rules:<br />
a(rdfs:subClassOf, owl:TransitiveProperty)<br />
a(P, owl:TransitiveProperty), P(C1, C2), P(C2, C3) :> P(C1, C3).<br />
Given the facts:<br />
rdfs:subClassOf (mammalia, vertebrae).<br />
rdfs:subClassOf (rodentia, mammalia)<br />
and the query:<br />
rdfs:subClassOf(What, vertebrae).<br />
The result will be:<br />
rdfs:subClassOf(mammalia, vertebrae).<br />
rdfs:subClassOf(rodentia, vertebrae).<br />
5.17.4. <strong>An</strong> Alpine club<br />
Following example was taken from [CLUB].<br />
Brahma, Vishnu and Siva are members of an Alpine club.<br />
102