diff options
author | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-11-27 12:52:35 +0000 |
---|---|---|
committer | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-11-27 12:52:35 +0000 |
commit | d9043e15a4bd764c4c3eccd682a18445a598d923 (patch) | |
tree | 352242f093e3f0e3035303bc43c0ce84dd15bf6f /src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala | |
parent | 6f4dda8c71e600ef55b8f6f90977d128481e3520 (diff) | |
download | RSAComb-d9043e15a4bd764c4c3eccd682a18445a598d923.tar.gz RSAComb-d9043e15a4bd764c4c3eccd682a18445a598d923.zip |
Add ability to pass multiple ontology files on the commandline
Diffstat (limited to 'src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala')
-rw-r--r-- | src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala index ceb24de..4dd554a 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala | |||
@@ -6,7 +6,7 @@ import java.util.HashMap | |||
6 | import java.util.stream.{Collectors, Stream} | 6 | import java.util.stream.{Collectors, Stream} |
7 | import java.io.File | 7 | import java.io.File |
8 | import org.semanticweb.owlapi.apibinding.OWLManager | 8 | import org.semanticweb.owlapi.apibinding.OWLManager |
9 | 9 | import org.semanticweb.owlapi.util.OWLOntologyMerger | |
10 | import org.semanticweb.owlapi.model.{OWLOntology, OWLAxiom} | 10 | import org.semanticweb.owlapi.model.{OWLOntology, OWLAxiom} |
11 | import org.semanticweb.owlapi.model.{ | 11 | import org.semanticweb.owlapi.model.{ |
12 | OWLClass, | 12 | OWLClass, |
@@ -63,17 +63,19 @@ object RSAOntology { | |||
63 | 63 | ||
64 | def apply(ontology: OWLOntology): RSAOntology = new RSAOntology(ontology) | 64 | def apply(ontology: OWLOntology): RSAOntology = new RSAOntology(ontology) |
65 | 65 | ||
66 | def apply(ontology: File): RSAOntology = | 66 | def apply(ontologies: File*): RSAOntology = |
67 | new RSAOntology(loadOntology(ontology)) | 67 | new RSAOntology(loadOntology(ontologies: _*)) |
68 | 68 | ||
69 | def genFreshVariable(): Variable = { | 69 | def genFreshVariable(): Variable = { |
70 | counter += 1 | 70 | counter += 1 |
71 | Variable.create(f"I$counter%03d") | 71 | Variable.create(f"I$counter%03d") |
72 | } | 72 | } |
73 | 73 | ||
74 | private def loadOntology(onto: File): OWLOntology = { | 74 | private def loadOntology(ontologies: File*): OWLOntology = { |
75 | val manager = OWLManager.createOWLOntologyManager() | 75 | val manager = OWLManager.createOWLOntologyManager() |
76 | manager.loadOntologyFromOntologyDocument(onto) | 76 | ontologies.foreach { manager.loadOntologyFromOntologyDocument(_) } |
77 | val merger = new OWLOntologyMerger(manager) | ||
78 | merger.createMergedOntology(manager, OWLIRI.create("_:merged")) | ||
77 | } | 79 | } |
78 | } | 80 | } |
79 | 81 | ||
@@ -163,8 +165,8 @@ class RSAOntology(val ontology: OWLOntology) { | |||
163 | } yield rule | 165 | } yield rule |
164 | 166 | ||
165 | /* DEBUG: print datalog rules */ | 167 | /* DEBUG: print datalog rules */ |
166 | //println("\nDatalog roles:") | 168 | println("\nDatalog roles:") |
167 | //datalog.foreach(println) | 169 | datalog.foreach(println) |
168 | 170 | ||
169 | // Open connection with RDFox | 171 | // Open connection with RDFox |
170 | val (server, data) = RDFoxUtil.openConnection("RSACheck") | 172 | val (server, data) = RDFoxUtil.openConnection("RSACheck") |