aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2020-11-10 10:43:49 +0000
committerFederico Igne <federico.igne@cs.ox.ac.uk>2020-11-10 10:43:49 +0000
commitcbc3f81b75296bd92ebddf5acb74542d89d78b1e (patch)
tree7d6e0f826d236730898db7d4eb1e614202453d44 /src/main/scala
parent2b85ac2d3bb318bc9d64b22eb81ff1518428398d (diff)
downloadRSAComb-cbc3f81b75296bd92ebddf5acb74542d89d78b1e.tar.gz
RSAComb-cbc3f81b75296bd92ebddf5acb74542d89d78b1e.zip
Add OWLClassAssertionAxiom to axioms handled during translation
Diffstat (limited to 'src/main/scala')
-rw-r--r--src/main/scala/rsacomb/RDFoxAxiomConverter.scala23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/main/scala/rsacomb/RDFoxAxiomConverter.scala b/src/main/scala/rsacomb/RDFoxAxiomConverter.scala
index 2d04c56..15a7cd1 100644
--- a/src/main/scala/rsacomb/RDFoxAxiomConverter.scala
+++ b/src/main/scala/rsacomb/RDFoxAxiomConverter.scala
@@ -14,7 +14,12 @@ import tech.oxfordsemantic.jrdfox.logic.datalog.{
14 TupleTableAtom, 14 TupleTableAtom,
15 TupleTableName 15 TupleTableName
16} 16}
17import tech.oxfordsemantic.jrdfox.logic.expression.{Term, Variable, Literal} 17import tech.oxfordsemantic.jrdfox.logic.expression.{
18 Term,
19 IRI,
20 Variable,
21 Literal
22}
18 23
19import scala.collection.JavaConverters._ 24import scala.collection.JavaConverters._
20 25
@@ -22,6 +27,7 @@ import rsacomb.SkolemStrategy
22import rsacomb.RDFoxRuleShards 27import rsacomb.RDFoxRuleShards
23import org.semanticweb.owlapi.model.OWLSubObjectPropertyOfAxiom 28import org.semanticweb.owlapi.model.OWLSubObjectPropertyOfAxiom
24import org.semanticweb.owlapi.model.OWLObjectProperty 29import org.semanticweb.owlapi.model.OWLObjectProperty
30import org.semanticweb.owlapi.model.OWLClassAssertionAxiom
25 31
26object RDFoxAxiomConverter { 32object RDFoxAxiomConverter {
27 33
@@ -79,6 +85,21 @@ class RDFoxAxiomConverter(
79 List(Rule.create(head.asJava, body.asJava)) 85 List(Rule.create(head.asJava, body.asJava))
80 } 86 }
81 87
88 override def visit(axiom: OWLClassAssertionAxiom): List[Rule] = {
89 val ind = axiom.getIndividual
90 if (ind.isNamed) {
91 val term = IRI.create(ind.asOWLNamedIndividual().getIRI.getIRIString)
92 println("This is executed")
93 val cls = axiom.getClassExpression
94 val visitor =
95 new RDFoxClassExprConverter(term, unsafe, SkolemStrategy.None, suffix)
96 val shard = cls.accept(visitor)
97 List(Rule.create(shard.res.asJava, shard.ext.asJava))
98 } else {
99 List()
100 }
101 }
102
82 def doDefault(axiom: OWLAxiom): List[Rule] = List() 103 def doDefault(axiom: OWLAxiom): List[Rule] = List()
83 104
84} // class RDFoxAxiomConverter 105} // class RDFoxAxiomConverter