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 set of all things that have either the property yellow or blue or both needs to<br />
be declared in a superset that has a name.<br />
For a proof of A ∨ ¬A either A has to be proved or ¬A has to be proved (e.g. an<br />
object is yellow or not_yellow only if this has been declared).<br />
This is the consequence of the fact that in the <strong>RDF</strong> graph everything is<br />
designated by a URI.<br />
A proof of a triple is given when:<br />
a) it is a valid triple<br />
b) it is accepted by the trust system<br />
The BHK-interpretation of constructive logic states:<br />
(Brouwer, Heyting, Kolmogorov) [STANDARD]<br />
a) “ A proof of A and B is given by presenting a proof of A and a proof of B.”<br />
With <strong>RDF</strong> all triples in a set of triples have between them an implicit<br />
conjunction. If A and B are triples in the <strong>RDF</strong> database, they are necessarily<br />
true and their conjucntion is thus constructively true too.<br />
b) “ A proof of A or B is given by presenting either a proof of A or a proof of B<br />
or both.”<br />
There is no disjunction defined in <strong>RDF</strong>. Would it be defined as above(3.2),<br />
then it would be constructive .<br />
c) “ A proof of A Æ B is a procedure which permits us to trans<strong>for</strong>m a proof of A<br />
into a proof of B.”<br />
The implication is an extension of <strong>RDF</strong>. I propose a constructive implication<br />
where (A1, A2, … , <strong>An</strong>) Æ B is interpreted: if (A1, A2, … <strong>An</strong>) are true triples<br />
then B is a true triple.<br />
d) “ The constant false has no proof.”<br />
The constant false does not exist in <strong>RDF</strong> but it could be added .<br />
This constructive approach is chosen <strong>for</strong> reasons of verifiability. Suppose an<br />
answer to a query is T1 ∨ T2 where T1 and T2 are triples but neither T1 or T2<br />
can be proven. How can such an answer be verified?<br />
When solutions are composed of existing triples then these triples can be<br />
verified i.e. the originating namespace can be queried <strong>for</strong> a confirmation or<br />
perhaps the triples or their constituents (subject, predicate, object) could be<br />
signed.<br />
51