Skip to content

AlessandroGhiotto/OWL2RL-with-DLV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

OWL 2 RL reasoner with DLV

OWL 2 RL is a subset of OWL 2 which is amenable to implementation using rule-based technologies. Here I implement an OWL 2 RL reasoner with DLV.

The only predicate that we are going to use is t(S, P, O) which represents a triple with subject S, predicate P and object O. In order to distinguish between IRIs, literals and blank nodes we can use the function symbols iri, literal and bnode.

For example, the triples:

    ex:bob foaf:knows _:x .
    _:x foaf:age 21 .

can be represented as

    t(iri("ex:bob"), iri("foaf:knows"), bnode("_:x")).
    t(bnode("_:x"), iri("foaf:age"), literal("21")).

Description

Here I have listed all the rules implemented. Parts 7, 10 and 11 extend OWL 2 RL reasoning with features of DLV such as NAF and disjunction.

  1. RDFS rules: prp-dom, prp-rng, scm-spo, prp-spo1, cax-sco, scm-sco.
  2. Equality and class axioms: eq-sym, eq-trans, eq-rep-s, eq-rep-p, eq-rep-o, eq-diff1, cax-eqc1, cax-eqc2, and cax-dw.
  3. Axioms about properties: prp-fp, prp-ifp, prp-irp, prp-symp, prp-asyp, prp-trp, prp-inv1, and prp-inv2.
  4. Boolean operations (simplified): cls-com, cls-int1-s, cls-int2-s, cls-uni-s.
  5. Existential and universal restrictions: cls-svf1, cls-svf2, cls-avf.
  6. Semantics of schema vocabulary: scm-dom1, scm-dom2, scm-rng1, scm-rng2.
  7. Disjunction in the head (simplified): cls-uni-dlv-s
  8. Boolean operations: cls-int1, cls-int2 and cls-uni.
  9. AllDifferent and AllDisjointClasses: eq-diff2, eq-diff3, cax-adc.
  10. Disjunction in the head: cls-uni-dlv.
  11. Universal restriction with the closed world assumption: cls-avf-cw

Getting Started

Dependencies

Executing program

For running the OWL2_RL reasoner on your knowledge base you need to print in the terminal the path to the DLV executable, the path to the file "OWL2_RL_reasoner_with_DLV.dlv" and the path to the file containing your knowlege base

<path-to\dlv-executable> <path-to\OWL2_RL_reasoner_with_DLV.dlv> <path-to\your-kb>

About

Implementation of an OWL 2 RL reasoner with DLV.

Resources

Stars

Watchers

Forks