From 159605a3b8b55a8394600a9c73d0c8bccba0546f Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Tue, 10 Nov 2020 15:18:35 +0000 Subject: Generalize axiom hashing for constant generation --- src/main/scala/rsacomb/RSA.scala | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/main/scala/rsacomb/RSA.scala') diff --git a/src/main/scala/rsacomb/RSA.scala b/src/main/scala/rsacomb/RSA.scala index a6f4b88..66de974 100644 --- a/src/main/scala/rsacomb/RSA.scala +++ b/src/main/scala/rsacomb/RSA.scala @@ -9,12 +9,17 @@ import tech.oxfordsemantic.jrdfox.Prefixes import tech.oxfordsemantic.jrdfox.logic.expression.{Variable, IRI} import org.semanticweb.owlapi.apibinding.OWLManager import org.semanticweb.owlapi.model.OWLOntology +import org.semanticweb.owlapi.model.{ + OWLAxiom, + OWLClass, + OWLObjectPropertyExpression +} import rsacomb.RSAOntology // Debug only import scala.collection.JavaConverters._ -object RSA extends RSAOntology { +object RSA extends RSAOntology with RSAAxiom { val Prefixes = new Prefixes() Prefixes.declarePrefix(":", "http://example.com/rsa_example.owl#") @@ -43,6 +48,18 @@ object RSA extends RSAOntology { + name.toString ) + def hashed( + cls1: OWLClass, + prop: OWLObjectPropertyExpression, + cls2: OWLClass + ): String = + (cls1, prop, cls2).hashCode.toString + + def hashed(axiom: OWLAxiom): String = { + val (cls1, prop, cls2) = axiom.toTriple.get + this.hashed(cls1, prop, cls2) + } + // TODO: move this somewhere else... maybe an OntoUtils class or something. def loadOntology(onto: File): OWLOntology = { val manager = OWLManager.createOWLOntologyManager() -- cgit v1.2.3