diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/rsacomb/FilteringProgram.scala | 60 | ||||
| -rw-r--r-- | src/main/scala/rsacomb/Main.scala | 21 | ||||
| -rw-r--r-- | src/main/scala/rsacomb/RDFoxClassExprConverter.scala | 4 | ||||
| -rw-r--r-- | src/main/scala/rsacomb/RSA.scala | 10 | ||||
| -rw-r--r-- | src/main/scala/rsacomb/RSAOntology.scala | 30 | ||||
| -rw-r--r-- | src/test/scala/rsacomb/OWLAxiomSpec.scala | 6 | ||||
| -rw-r--r-- | src/test/scala/rsacomb/OWLClassSpec.scala | 6 |
7 files changed, 74 insertions, 63 deletions
diff --git a/src/main/scala/rsacomb/FilteringProgram.scala b/src/main/scala/rsacomb/FilteringProgram.scala index e9a69ff..44960e5 100644 --- a/src/main/scala/rsacomb/FilteringProgram.scala +++ b/src/main/scala/rsacomb/FilteringProgram.scala | |||
| @@ -62,7 +62,7 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 62 | this.generateFilteringProgram().map(reifyRule) ++ facts | 62 | this.generateFilteringProgram().map(reifyRule) ++ facts |
| 63 | 63 | ||
| 64 | private def predNI(t: Term): TupleTableAtom = | 64 | private def predNI(t: Term): TupleTableAtom = |
| 65 | TupleTableAtom.rdf(t, IRI.RDF_TYPE, RSA.internal("NI")) | 65 | TupleTableAtom.rdf(t, IRI.RDF_TYPE, RSA.rsa("NI")) |
| 66 | 66 | ||
| 67 | /* NOTE: we are restricting to queries that contain conjunctions of | 67 | /* NOTE: we are restricting to queries that contain conjunctions of |
| 68 | * atoms for the time being. This might need to be reviewed in the | 68 | * atoms for the time being. This might need to be reviewed in the |
| @@ -92,39 +92,39 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 92 | def not(atom: TupleTableAtom): BodyFormula = Negation.create(atom) | 92 | def not(atom: TupleTableAtom): BodyFormula = Negation.create(atom) |
| 93 | val predQM = | 93 | val predQM = |
| 94 | TupleTableAtom.create( | 94 | TupleTableAtom.create( |
| 95 | TupleTableName.create(RSA.internal("QM").getIRI), | 95 | TupleTableName.create(RSA.rsa("QM").getIRI), |
| 96 | (answer ++ bounded): _* | 96 | (answer ++ bounded): _* |
| 97 | ) | 97 | ) |
| 98 | def predID(t1: Term, t2: Term) = | 98 | def predID(t1: Term, t2: Term) = |
| 99 | TupleTableAtom.create( | 99 | TupleTableAtom.create( |
| 100 | TupleTableName.create(RSA.internal("ID").getIRI), | 100 | TupleTableName.create(RSA.rsa("ID").getIRI), |
| 101 | (answer ++ bounded).appended(t1).appended(t2): _* | 101 | (answer ++ bounded).appended(t1).appended(t2): _* |
| 102 | ) | 102 | ) |
| 103 | def predNAMED(t1: Term): TupleTableAtom = | 103 | def predNAMED(t1: Term): TupleTableAtom = |
| 104 | TupleTableAtom.rdf(t1, IRI.RDF_TYPE, RSA.internal("NAMED")) | 104 | TupleTableAtom.rdf(t1, IRI.RDF_TYPE, RSA.rsa("NAMED")) |
| 105 | def predTQ(sx: String, t1: Term, t2: Term) = | 105 | def predTQ(sx: String, t1: Term, t2: Term) = |
| 106 | TupleTableAtom.create( | 106 | TupleTableAtom.create( |
| 107 | TupleTableName.create(RSA.internal(s"TQ_$sx").getIRI), | 107 | TupleTableName.create(RSA.rsa(s"TQ_$sx").getIRI), |
| 108 | (answer ++ bounded).appended(t1).appended(t2): _* | 108 | (answer ++ bounded).appended(t1).appended(t2): _* |
| 109 | ) | 109 | ) |
| 110 | def predAQ(sx: String, t1: Term, t2: Term) = | 110 | def predAQ(sx: String, t1: Term, t2: Term) = |
| 111 | TupleTableAtom.create( | 111 | TupleTableAtom.create( |
| 112 | TupleTableName.create(RSA.internal(s"AQ_$sx").getIRI), | 112 | TupleTableName.create(RSA.rsa(s"AQ_$sx").getIRI), |
| 113 | (answer ++ bounded).appended(t1).appended(t2): _* | 113 | (answer ++ bounded).appended(t1).appended(t2): _* |
| 114 | ) | 114 | ) |
| 115 | val predFK = | 115 | val predFK = |
| 116 | TupleTableAtom.create( | 116 | TupleTableAtom.create( |
| 117 | TupleTableName.create(RSA.internal("FK").getIRI), | 117 | TupleTableName.create(RSA.rsa("FK").getIRI), |
| 118 | (answer ++ bounded): _* | 118 | (answer ++ bounded): _* |
| 119 | ) | 119 | ) |
| 120 | val predSP = | 120 | val predSP = |
| 121 | TupleTableAtom.create( | 121 | TupleTableAtom.create( |
| 122 | TupleTableName.create(RSA.internal("SP").getIRI), | 122 | TupleTableName.create(RSA.rsa("SP").getIRI), |
| 123 | (answer ++ bounded): _* | 123 | (answer ++ bounded): _* |
| 124 | ) | 124 | ) |
| 125 | val predANS = | 125 | val predANS = |
| 126 | TupleTableAtom.create( | 126 | TupleTableAtom.create( |
| 127 | TupleTableName.create(RSA.internal("ANS").getIRI), | 127 | TupleTableName.create(RSA.rsa("ANS").getIRI), |
| 128 | answer: _* | 128 | answer: _* |
| 129 | ) | 129 | ) |
| 130 | 130 | ||
| @@ -135,7 +135,7 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 135 | val r3a = | 135 | val r3a = |
| 136 | for ((v, i) <- bounded.zipWithIndex) | 136 | for ((v, i) <- bounded.zipWithIndex) |
| 137 | yield Rule.create( | 137 | yield Rule.create( |
| 138 | predID(RSA.internal(i), RSA.internal(i)), | 138 | predID(RSA.rsa(i), RSA.rsa(i)), |
| 139 | predQM, | 139 | predQM, |
| 140 | not(predNI(v)) | 140 | not(predNI(v)) |
| 141 | ) | 141 | ) |
| @@ -160,8 +160,8 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 160 | role1 suffix "f", | 160 | role1 suffix "f", |
| 161 | role2 suffix "f", | 161 | role2 suffix "f", |
| 162 | predID( | 162 | predID( |
| 163 | RSA.internal(bounded.indexOf(role1.getArguments.get(2))), | 163 | RSA.rsa(bounded.indexOf(role1.getArguments.get(2))), |
| 164 | RSA.internal(bounded.indexOf(role2.getArguments.get(2))) | 164 | RSA.rsa(bounded.indexOf(role2.getArguments.get(2))) |
| 165 | ), | 165 | ), |
| 166 | not( | 166 | not( |
| 167 | TupleTableAtom.rdf( | 167 | TupleTableAtom.rdf( |
| @@ -181,8 +181,8 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 181 | role1 suffix "f", | 181 | role1 suffix "f", |
| 182 | role2 suffix "b", | 182 | role2 suffix "b", |
| 183 | predID( | 183 | predID( |
| 184 | RSA.internal(bounded.indexOf(role1.getArguments.get(2))), | 184 | RSA.rsa(bounded.indexOf(role1.getArguments.get(2))), |
| 185 | RSA.internal(bounded.indexOf(role2.getArguments.get(0))) | 185 | RSA.rsa(bounded.indexOf(role2.getArguments.get(0))) |
| 186 | ), | 186 | ), |
| 187 | not( | 187 | not( |
| 188 | TupleTableAtom.rdf( | 188 | TupleTableAtom.rdf( |
| @@ -202,8 +202,8 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 202 | role1 suffix "b", | 202 | role1 suffix "b", |
| 203 | role2 suffix "b", | 203 | role2 suffix "b", |
| 204 | predID( | 204 | predID( |
| 205 | RSA.internal(bounded.indexOf(role1.getArguments.get(0))), | 205 | RSA.rsa(bounded.indexOf(role1.getArguments.get(0))), |
| 206 | RSA.internal(bounded.indexOf(role2.getArguments.get(0))) | 206 | RSA.rsa(bounded.indexOf(role2.getArguments.get(0))) |
| 207 | ), | 207 | ), |
| 208 | not( | 208 | not( |
| 209 | TupleTableAtom.rdf( | 209 | TupleTableAtom.rdf( |
| @@ -228,14 +228,14 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 228 | if bounded contains role2arg2 | 228 | if bounded contains role2arg2 |
| 229 | } yield Rule.create( | 229 | } yield Rule.create( |
| 230 | predID( | 230 | predID( |
| 231 | RSA.internal(bounded indexOf role1arg0), | 231 | RSA.rsa(bounded indexOf role1arg0), |
| 232 | RSA.internal(bounded indexOf role2arg0) | 232 | RSA.rsa(bounded indexOf role2arg0) |
| 233 | ), | 233 | ), |
| 234 | role1 suffix "f", | 234 | role1 suffix "f", |
| 235 | role2 suffix "f", | 235 | role2 suffix "f", |
| 236 | predID( | 236 | predID( |
| 237 | RSA.internal(bounded indexOf role1arg2), | 237 | RSA.rsa(bounded indexOf role1arg2), |
| 238 | RSA.internal(bounded indexOf role2arg2) | 238 | RSA.rsa(bounded indexOf role2arg2) |
| 239 | ), | 239 | ), |
| 240 | TupleTableAtom.rdf(role1arg0, RSA.EquivTo, role2arg0), | 240 | TupleTableAtom.rdf(role1arg0, RSA.EquivTo, role2arg0), |
| 241 | not(predNI(role1arg0)) | 241 | not(predNI(role1arg0)) |
| @@ -253,14 +253,14 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 253 | if bounded contains role2arg2 | 253 | if bounded contains role2arg2 |
| 254 | } yield Rule.create( | 254 | } yield Rule.create( |
| 255 | predID( | 255 | predID( |
| 256 | RSA.internal(bounded indexOf role1arg0), | 256 | RSA.rsa(bounded indexOf role1arg0), |
| 257 | RSA.internal(bounded indexOf role2arg2) | 257 | RSA.rsa(bounded indexOf role2arg2) |
| 258 | ), | 258 | ), |
| 259 | role1 suffix "f", | 259 | role1 suffix "f", |
| 260 | role2 suffix "b", | 260 | role2 suffix "b", |
| 261 | predID( | 261 | predID( |
| 262 | RSA.internal(bounded indexOf role1arg2), | 262 | RSA.rsa(bounded indexOf role1arg2), |
| 263 | RSA.internal(bounded indexOf role2arg0) | 263 | RSA.rsa(bounded indexOf role2arg0) |
| 264 | ), | 264 | ), |
| 265 | TupleTableAtom.rdf(role1arg0, RSA.EquivTo, role2arg2), | 265 | TupleTableAtom.rdf(role1arg0, RSA.EquivTo, role2arg2), |
| 266 | not(predNI(role1arg0)) | 266 | not(predNI(role1arg0)) |
| @@ -278,14 +278,14 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 278 | if bounded contains role2arg2 | 278 | if bounded contains role2arg2 |
| 279 | } yield Rule.create( | 279 | } yield Rule.create( |
| 280 | predID( | 280 | predID( |
| 281 | RSA.internal(bounded indexOf role1arg2), | 281 | RSA.rsa(bounded indexOf role1arg2), |
| 282 | RSA.internal(bounded indexOf role2arg2) | 282 | RSA.rsa(bounded indexOf role2arg2) |
| 283 | ), | 283 | ), |
| 284 | role1 suffix "b", | 284 | role1 suffix "b", |
| 285 | role2 suffix "b", | 285 | role2 suffix "b", |
| 286 | predID( | 286 | predID( |
| 287 | RSA.internal(bounded indexOf role1arg0), | 287 | RSA.rsa(bounded indexOf role1arg0), |
| 288 | RSA.internal(bounded indexOf role2arg0) | 288 | RSA.rsa(bounded indexOf role2arg0) |
| 289 | ), | 289 | ), |
| 290 | TupleTableAtom.rdf(role1arg2, RSA.EquivTo, role2arg2), | 290 | TupleTableAtom.rdf(role1arg2, RSA.EquivTo, role2arg2), |
| 291 | not(predNI(role1arg2)) | 291 | not(predNI(role1arg2)) |
| @@ -303,11 +303,11 @@ class FilteringProgram(query: SelectQuery, constants: List[Term]) | |||
| 303 | predAQ(sx, Variable.create("V"), Variable.create("W")), | 303 | predAQ(sx, Variable.create("V"), Variable.create("W")), |
| 304 | role suffix sx, | 304 | role suffix sx, |
| 305 | predID( | 305 | predID( |
| 306 | RSA.internal(bounded indexOf arg0), | 306 | RSA.rsa(bounded indexOf arg0), |
| 307 | Variable.create("V") | 307 | Variable.create("V") |
| 308 | ), | 308 | ), |
| 309 | predID( | 309 | predID( |
| 310 | RSA.internal(bounded indexOf arg2), | 310 | RSA.rsa(bounded indexOf arg2), |
| 311 | Variable.create("W") | 311 | Variable.create("W") |
| 312 | ) | 312 | ) |
| 313 | ) | 313 | ) |
diff --git a/src/main/scala/rsacomb/Main.scala b/src/main/scala/rsacomb/Main.scala index 596ef33..3963981 100644 --- a/src/main/scala/rsacomb/Main.scala +++ b/src/main/scala/rsacomb/Main.scala | |||
| @@ -91,7 +91,7 @@ object RSAComb extends App { | |||
| 91 | // Step 2. Computing the canonical model | 91 | // Step 2. Computing the canonical model |
| 92 | val nis = { | 92 | val nis = { |
| 93 | val query = | 93 | val query = |
| 94 | "SELECT ?Y WHERE { ?X internal:EquivTo ?Y ; a internal:NAMED . }" | 94 | "SELECT ?Y WHERE { ?X rsa:EquivTo ?Y ; a rsa:NAMED . }" |
| 95 | val cursor = | 95 | val cursor = |
| 96 | data.createCursor( | 96 | data.createCursor( |
| 97 | RSA.Prefixes, | 97 | RSA.Prefixes, |
| @@ -126,7 +126,7 @@ object RSAComb extends App { | |||
| 126 | } | 126 | } |
| 127 | query ++= " WHERE {" | 127 | query ++= " WHERE {" |
| 128 | for (i <- 0 until arity) { | 128 | for (i <- 0 until arity) { |
| 129 | query ++= s" ?S internal:${pred}_$i ?X$i ." | 129 | query ++= s" ?S rsa:${pred}_$i ?X$i ." |
| 130 | } | 130 | } |
| 131 | query ++= " }" | 131 | query ++= " }" |
| 132 | // Collect answers | 132 | // Collect answers |
| @@ -159,7 +159,7 @@ object RSAComb extends App { | |||
| 159 | RDFoxUtil.submitQuery( | 159 | RDFoxUtil.submitQuery( |
| 160 | data, | 160 | data, |
| 161 | RSA.Prefixes, | 161 | RSA.Prefixes, |
| 162 | "SELECT ?X { ?X a internal:NAMED }", | 162 | "SELECT ?X { ?X a rsa:NAMED }", |
| 163 | 1 | 163 | 1 |
| 164 | ) | 164 | ) |
| 165 | 165 | ||
| @@ -167,7 +167,7 @@ object RSAComb extends App { | |||
| 167 | RDFoxUtil.submitQuery( | 167 | RDFoxUtil.submitQuery( |
| 168 | data, | 168 | data, |
| 169 | RSA.Prefixes, | 169 | RSA.Prefixes, |
| 170 | "SELECT ?X { ?X a internal:NI }", | 170 | "SELECT ?X { ?X a rsa:NI }", |
| 171 | 1 | 171 | 1 |
| 172 | ) | 172 | ) |
| 173 | 173 | ||
| @@ -179,7 +179,7 @@ object RSAComb extends App { | |||
| 179 | RDFoxUtil.submitQuery( | 179 | RDFoxUtil.submitQuery( |
| 180 | data, | 180 | data, |
| 181 | RSA.Prefixes, | 181 | RSA.Prefixes, |
| 182 | "SELECT ?X ?Y { ?X internal:EquivTo ?Y }", | 182 | "SELECT ?X ?Y { ?X rsa:EquivTo ?Y }", |
| 183 | 2 | 183 | 2 |
| 184 | ) | 184 | ) |
| 185 | 185 | ||
| @@ -200,6 +200,17 @@ object RSAComb extends App { | |||
| 200 | println("\nSpurious answers") | 200 | println("\nSpurious answers") |
| 201 | retrieveInstances("SP", filter.variables.length) | 201 | retrieveInstances("SP", filter.variables.length) |
| 202 | 202 | ||
| 203 | { | ||
| 204 | val cursor = data.createCursor( | ||
| 205 | RSA.Prefixes, | ||
| 206 | "ASK { :a a :D }", | ||
| 207 | new HashMap[String, String]() | ||
| 208 | ); | ||
| 209 | var mul = cursor.open() | ||
| 210 | println(s"Answer: ${mul > 0}") | ||
| 211 | cursor.close(); | ||
| 212 | } | ||
| 213 | |||
| 203 | // Close connection to RDFox | 214 | // Close connection to RDFox |
| 204 | RDFoxUtil.closeConnection(server, data) | 215 | RDFoxUtil.closeConnection(server, data) |
| 205 | } | 216 | } |
diff --git a/src/main/scala/rsacomb/RDFoxClassExprConverter.scala b/src/main/scala/rsacomb/RDFoxClassExprConverter.scala index 7f44ab1..89a1a04 100644 --- a/src/main/scala/rsacomb/RDFoxClassExprConverter.scala +++ b/src/main/scala/rsacomb/RDFoxClassExprConverter.scala | |||
| @@ -110,8 +110,8 @@ class RDFoxClassExprConverter( | |||
| 110 | if (unsafe.contains(prop)) | 110 | if (unsafe.contains(prop)) |
| 111 | ( | 111 | ( |
| 112 | List( | 112 | List( |
| 113 | TupleTableAtom.rdf(term, RSA.internal("PE"), c), | 113 | TupleTableAtom.rdf(term, RSA.rsa("PE"), c), |
| 114 | TupleTableAtom.rdf(c, IRI.RDF_TYPE, RSA.internal("U")) | 114 | TupleTableAtom.rdf(c, IRI.RDF_TYPE, RSA.rsa("U")) |
| 115 | ), | 115 | ), |
| 116 | List(), | 116 | List(), |
| 117 | c | 117 | c |
diff --git a/src/main/scala/rsacomb/RSA.scala b/src/main/scala/rsacomb/RSA.scala index 10a9d47..98c7a4d 100644 --- a/src/main/scala/rsacomb/RSA.scala +++ b/src/main/scala/rsacomb/RSA.scala | |||
| @@ -21,14 +21,14 @@ import scala.collection.JavaConverters._ | |||
| 21 | 21 | ||
| 22 | object RSA extends RSAOntology with RSAAxiom { | 22 | object RSA extends RSAOntology with RSAAxiom { |
| 23 | 23 | ||
| 24 | val Prefixes = new Prefixes() | 24 | val Prefixes: Prefixes = new Prefixes() |
| 25 | Prefixes.declarePrefix(":", "http://example.com/rsa_example.owl#") | 25 | Prefixes.declarePrefix(":", "http://example.com/rsa_example.owl#") |
| 26 | Prefixes.declarePrefix("internal:", "http://127.0.0.1/") | 26 | Prefixes.declarePrefix("rsa:", "http://127.0.0.1/") |
| 27 | Prefixes.declarePrefix("rdf:", "http://www.w3.org/1999/02/22-rdf-syntax-ns#") | 27 | Prefixes.declarePrefix("rdf:", "http://www.w3.org/1999/02/22-rdf-syntax-ns#") |
| 28 | Prefixes.declarePrefix("rdfs:", "http://www.w3.org/2000/01/rdf-schema#") | 28 | Prefixes.declarePrefix("rdfs:", "http://www.w3.org/2000/01/rdf-schema#") |
| 29 | Prefixes.declarePrefix("owl:", "http://www.w3.org/2002/07/owl#") | 29 | Prefixes.declarePrefix("owl:", "http://www.w3.org/2002/07/owl#") |
| 30 | 30 | ||
| 31 | val EquivTo: IRI = this.internal("EquivTo") | 31 | val EquivTo: IRI = this.rsa("EquivTo") |
| 32 | 32 | ||
| 33 | // Counter used to implement a simple fresh variable generator | 33 | // Counter used to implement a simple fresh variable generator |
| 34 | private var counter = -1; | 34 | private var counter = -1; |
| @@ -44,9 +44,9 @@ object RSA extends RSAOntology with RSAAxiom { | |||
| 44 | + name.toString | 44 | + name.toString |
| 45 | ) | 45 | ) |
| 46 | 46 | ||
| 47 | def internal(name: Any): IRI = | 47 | def rsa(name: Any): IRI = |
| 48 | IRI.create( | 48 | IRI.create( |
| 49 | Prefixes.getPrefixIRIsByPrefixName.get("internal:").getIRI | 49 | Prefixes.getPrefixIRIsByPrefixName.get("rsa:").getIRI |
| 50 | + name.toString | 50 | + name.toString |
| 51 | ) | 51 | ) |
| 52 | 52 | ||
diff --git a/src/main/scala/rsacomb/RSAOntology.scala b/src/main/scala/rsacomb/RSAOntology.scala index 52e13e6..78460ff 100644 --- a/src/main/scala/rsacomb/RSAOntology.scala +++ b/src/main/scala/rsacomb/RSAOntology.scala | |||
| @@ -233,7 +233,7 @@ trait RSAOntology { | |||
| 233 | private def rsaGraph( | 233 | private def rsaGraph( |
| 234 | data: DataStoreConnection | 234 | data: DataStoreConnection |
| 235 | ): Graph[Resource, UnDiEdge] = { | 235 | ): Graph[Resource, UnDiEdge] = { |
| 236 | val query = "SELECT ?X ?Y WHERE { ?X internal:E ?Y }" | 236 | val query = "SELECT ?X ?Y WHERE { ?X rsa:E ?Y }" |
| 237 | val cursor = | 237 | val cursor = |
| 238 | data.createCursor(RSA.Prefixes, query, new HashMap[String, String]()); | 238 | data.createCursor(RSA.Prefixes, query, new HashMap[String, String]()); |
| 239 | var mul = cursor.open() | 239 | var mul = cursor.open() |
| @@ -280,8 +280,8 @@ trait RSAOntology { | |||
| 280 | val role = axiom.objectPropertyExpressionsInSignature(0) | 280 | val role = axiom.objectPropertyExpressionsInSignature(0) |
| 281 | if (this.confl(role).contains(role)) { | 281 | if (this.confl(role).contains(role)) { |
| 282 | Set( | 282 | Set( |
| 283 | RSA.internal("v0_" ++ RSA.hashed(axiom)), | 283 | RSA.rsa("v0_" ++ RSA.hashed(axiom)), |
| 284 | RSA.internal("v1_" ++ RSA.hashed(axiom)) | 284 | RSA.rsa("v1_" ++ RSA.hashed(axiom)) |
| 285 | ) | 285 | ) |
| 286 | } else { | 286 | } else { |
| 287 | Set() | 287 | Set() |
| @@ -308,9 +308,9 @@ trait RSAOntology { | |||
| 308 | // if conflR.contains(roleS) | 308 | // if conflR.contains(roleS) |
| 309 | // individual = | 309 | // individual = |
| 310 | // if (axiom.hashCode < axiom1.hashCode) { | 310 | // if (axiom.hashCode < axiom1.hashCode) { |
| 311 | // RSA.internal("v0_" ++ axiom1.hashCode.toString()) | 311 | // RSA.rsa("v0_" ++ axiom1.hashCode.toString()) |
| 312 | // } else { | 312 | // } else { |
| 313 | // RSA.internal("v1_" ++ axiom1.hashCode.toString()) | 313 | // RSA.rsa("v1_" ++ axiom1.hashCode.toString()) |
| 314 | // } | 314 | // } |
| 315 | // } yield individual | 315 | // } yield individual |
| 316 | // } | 316 | // } |
| @@ -347,11 +347,11 @@ trait RSAOntology { | |||
| 347 | tripleDSC = RSA.hashed(classD, roleS, classC) | 347 | tripleDSC = RSA.hashed(classD, roleS, classC) |
| 348 | individual = | 348 | individual = |
| 349 | if (tripleARB > tripleDSC) { | 349 | if (tripleARB > tripleDSC) { |
| 350 | RSA.internal("v1_" ++ tripleDSC) | 350 | RSA.rsa("v1_" ++ tripleDSC) |
| 351 | } else { | 351 | } else { |
| 352 | // Note that this is also the case for | 352 | // Note that this is also the case for |
| 353 | // `tripleARB == tripleDSC` | 353 | // `tripleARB == tripleDSC` |
| 354 | RSA.internal("v0_" ++ tripleDSC) | 354 | RSA.rsa("v0_" ++ tripleDSC) |
| 355 | } | 355 | } |
| 356 | } yield individual | 356 | } yield individual |
| 357 | } | 357 | } |
| @@ -366,7 +366,7 @@ trait RSAOntology { | |||
| 366 | val named: List[Rule] = | 366 | val named: List[Rule] = |
| 367 | individuals.map(a => | 367 | individuals.map(a => |
| 368 | Rule.create( | 368 | Rule.create( |
| 369 | TupleTableAtom.rdf(a, IRI.RDF_TYPE, RSA.internal("NAMED")) | 369 | TupleTableAtom.rdf(a, IRI.RDF_TYPE, RSA.rsa("NAMED")) |
| 370 | ) | 370 | ) |
| 371 | ) | 371 | ) |
| 372 | 372 | ||
| @@ -539,7 +539,7 @@ trait RSAOntology { | |||
| 539 | private def rules1(axiom: OWLSubClassOfAxiom): List[Rule] = { | 539 | private def rules1(axiom: OWLSubClassOfAxiom): List[Rule] = { |
| 540 | val unfold = ontology.unfold(axiom).toList | 540 | val unfold = ontology.unfold(axiom).toList |
| 541 | // Fresh Variables | 541 | // Fresh Variables |
| 542 | val v0 = RSA.internal("v0_" ++ RSA.hashed(axiom)) | 542 | val v0 = RSA.rsa("v0_" ++ RSA.hashed(axiom)) |
| 543 | val varX = Variable.create("X") | 543 | val varX = Variable.create("X") |
| 544 | // Predicates | 544 | // Predicates |
| 545 | val atomA: TupleTableAtom = { | 545 | val atomA: TupleTableAtom = { |
| @@ -549,8 +549,8 @@ trait RSAOntology { | |||
| 549 | def in(t: Term): TupleTableAtom = { | 549 | def in(t: Term): TupleTableAtom = { |
| 550 | TupleTableAtom.rdf( | 550 | TupleTableAtom.rdf( |
| 551 | t, | 551 | t, |
| 552 | RSA.internal("IN"), | 552 | RSA.rsa("IN"), |
| 553 | RSA.internal(unfold.hashCode.toString) | 553 | RSA.rsa(unfold.hashCode.toString) |
| 554 | ) | 554 | ) |
| 555 | } | 555 | } |
| 556 | def notIn(t: Term): Negation = Negation.create(in(t)) | 556 | def notIn(t: Term): Negation = Negation.create(in(t)) |
| @@ -590,9 +590,9 @@ trait RSAOntology { | |||
| 590 | .getProperty | 590 | .getProperty |
| 591 | if (ontology.confl(roleR) contains roleR) { | 591 | if (ontology.confl(roleR) contains roleR) { |
| 592 | // Fresh Variables | 592 | // Fresh Variables |
| 593 | val v0 = RSA.internal("v0_" ++ RSA.hashed(axiom)) | 593 | val v0 = RSA.rsa("v0_" ++ RSA.hashed(axiom)) |
| 594 | val v1 = RSA.internal("v1_" ++ RSA.hashed(axiom)) | 594 | val v1 = RSA.rsa("v1_" ++ RSA.hashed(axiom)) |
| 595 | val v2 = RSA.internal("v2_" ++ RSA.hashed(axiom)) | 595 | val v2 = RSA.rsa("v2_" ++ RSA.hashed(axiom)) |
| 596 | // Predicates | 596 | // Predicates |
| 597 | def atomA(t: Term): TupleTableAtom = { | 597 | def atomA(t: Term): TupleTableAtom = { |
| 598 | val cls = axiom.getSubClass.asInstanceOf[OWLClass].getIRI | 598 | val cls = axiom.getSubClass.asInstanceOf[OWLClass].getIRI |
| @@ -630,7 +630,7 @@ trait RSAOntology { | |||
| 630 | .asInstanceOf[OWLObjectSomeValuesFrom] | 630 | .asInstanceOf[OWLObjectSomeValuesFrom] |
| 631 | .getProperty | 631 | .getProperty |
| 632 | // Fresh Variables | 632 | // Fresh Variables |
| 633 | val v1 = RSA.internal("v1_" ++ RSA.hashed(axiom)) | 633 | val v1 = RSA.rsa("v1_" ++ RSA.hashed(axiom)) |
| 634 | // Predicates | 634 | // Predicates |
| 635 | def atomA(t: Term): TupleTableAtom = { | 635 | def atomA(t: Term): TupleTableAtom = { |
| 636 | val cls = axiom.getSubClass.asInstanceOf[OWLClass].getIRI | 636 | val cls = axiom.getSubClass.asInstanceOf[OWLClass].getIRI |
diff --git a/src/test/scala/rsacomb/OWLAxiomSpec.scala b/src/test/scala/rsacomb/OWLAxiomSpec.scala index 75803d8..056f428 100644 --- a/src/test/scala/rsacomb/OWLAxiomSpec.scala +++ b/src/test/scala/rsacomb/OWLAxiomSpec.scala | |||
| @@ -53,8 +53,8 @@ object OWLAxiomSpec { | |||
| 53 | val term_x = Variable.create("x") | 53 | val term_x = Variable.create("x") |
| 54 | val term_y = Variable.create("y") | 54 | val term_y = Variable.create("y") |
| 55 | val term_z = Variable.create("z") | 55 | val term_z = Variable.create("z") |
| 56 | val term_c1 = RSA.internal("c_1") | 56 | val term_c1 = RSA.rsa("c_1") |
| 57 | val term_c2 = RSA.internal("c_2") | 57 | val term_c2 = RSA.rsa("c_2") |
| 58 | val term_alice = RDFIRI.create("univ:alice") | 58 | val term_alice = RDFIRI.create("univ:alice") |
| 59 | 59 | ||
| 60 | // RDFox Predicates | 60 | // RDFox Predicates |
| @@ -223,7 +223,7 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement { | |||
| 223 | // it should "contain a conjuction of atoms (hasSupervisor[?x,?c],Professor[?c]) in the head of the rule" in { | 223 | // it should "contain a conjuction of atoms (hasSupervisor[?x,?c],Professor[?c]) in the head of the rule" in { |
| 224 | // val skolem = SkolemStrategy.Constant(axiom_OWLSubClassOf2.toString) | 224 | // val skolem = SkolemStrategy.Constant(axiom_OWLSubClassOf2.toString) |
| 225 | // val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem) | 225 | // val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem) |
| 226 | // val term_c = RSA.internal(skolem.const.getIRI) | 226 | // val term_c = RSA.rsa(skolem.const.getIRI) |
| 227 | // val head = List( | 227 | // val head = List( |
| 228 | // TupleTableAtom.rdf(term_x, iri_hasSupervisor, term_c), | 228 | // TupleTableAtom.rdf(term_x, iri_hasSupervisor, term_c), |
| 229 | // TupleTableAtom.rdf(term_c, RDFIRI.RDF_TYPE, iri_Professor) | 229 | // TupleTableAtom.rdf(term_c, RDFIRI.RDF_TYPE, iri_Professor) |
diff --git a/src/test/scala/rsacomb/OWLClassSpec.scala b/src/test/scala/rsacomb/OWLClassSpec.scala index a8ac14e..505c4aa 100644 --- a/src/test/scala/rsacomb/OWLClassSpec.scala +++ b/src/test/scala/rsacomb/OWLClassSpec.scala | |||
| @@ -49,9 +49,9 @@ object OWLClassSpec { | |||
| 49 | // RDFox Terms | 49 | // RDFox Terms |
| 50 | val term_x = Variable.create("x") | 50 | val term_x = Variable.create("x") |
| 51 | val term_y = Variable.create("y") | 51 | val term_y = Variable.create("y") |
| 52 | val term_c1 = Literal.create("internal:c_1", Datatype.IRI_REFERENCE) | 52 | val term_c1 = RSA.rsa("c_1") |
| 53 | val term_c2 = Literal.create("internal:c_2", Datatype.IRI_REFERENCE) | 53 | val term_c2 = RSA.rsa("c_2") |
| 54 | val term_alice = Literal.create("univ:alice", Datatype.IRI_REFERENCE) | 54 | val term_alice = RDFIRI.create("univ:alice") |
| 55 | 55 | ||
| 56 | // RDFox Predicates | 56 | // RDFox Predicates |
| 57 | val pred_sameAs = TupleTableName.create("owl:sameAs") | 57 | val pred_sameAs = TupleTableName.create("owl:sameAs") |
