Problems Title cfr.Prolog: database of facts, rules, query and solutions
Example 1 Database: son(Frank, Guido). son(Wim, Guido). son(X1,Y), son(X2,Y) -> brother(X1,X2). Query: brother(Frank,X).
RDF Graph URI: T(def:Frank,gd:son,def:Guido).
Definitions A rule generates a triple A query is a graph Closure graph A solution is a subgraph of a graph
Graph theory of resolution not based on logic proof of: 1) completeness 2) monotonicity deduction of proof based on forwards reasoning
Proof format son(Frank, Guido). son(Wim, Guido). son(X1,Y), son(X2,Y) -> brother(X1,X2). Proof of “brother(Frank,Wim).”: {(son(Frank, Guido), son(Wim, Guido)), son(Frank,Guido), son(Frank,Wim) -> brother(Frank,Wim)}.
Constructive logic BHK-interpretation(Brouwer, Heyting, Kolmogorov) A proof of A and B is given by presenting a proof of A and a proof of B. A proof of A or B is given by presenting either a proof of A or a proof of B or both. A proof of A B is a procedure which permits us to transform a proof of A into a proof of B. The constant false has no proof.
Open World Consequences No complement of set No general negation No universal quantifier a or b: if no proof of a and no proof of b ==> no proof of a or b
Open versus closed Set of all large internet sites? Complement of this set? x in complement if x is small Only members that can be constructed are in the set
Negation and disjunction RDF has no negation and disjunction Nevertheless needed Introduction by ontology Proposal for constructive negation and disjunction capable, not_capable/not(capable)
Conclusions 1 Graph theory of RDF resolution inferencing permits: 1) clear definition of rules, queries, solutions and proofs 2) proof of completeness and monotonicity 3) simple proof format based on forwards reasoning 4) constructive logic: avoids problems with closed /open world.
Conclusions 2 RDFEngine is a constructive resolution engine in Haskell Proposal for constructive negation and disjunction