18.10.2014 Views

An inference engine for RDF - Agfa

An inference engine for RDF - Agfa

An inference engine for RDF - Agfa

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!