diff options
Diffstat (limited to 'src/main/scala/rsacomb/RSAOntology.scala')
-rw-r--r-- | src/main/scala/rsacomb/RSAOntology.scala | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/src/main/scala/rsacomb/RSAOntology.scala b/src/main/scala/rsacomb/RSAOntology.scala index dcd9c63..9220434 100644 --- a/src/main/scala/rsacomb/RSAOntology.scala +++ b/src/main/scala/rsacomb/RSAOntology.scala | |||
@@ -245,8 +245,11 @@ trait RSAOntology { | |||
245 | Graph(edges: _*) | 245 | Graph(edges: _*) |
246 | } | 246 | } |
247 | 247 | ||
248 | def filteringProgram(query: SelectQuery): FilteringProgram = | 248 | def filteringProgram( |
249 | FilteringProgram(query, individuals) | 249 | query: SelectQuery, |
250 | nis: List[Term] | ||
251 | ): FilteringProgram = | ||
252 | new FilteringProgram(query, nis) | ||
250 | 253 | ||
251 | // TODO: the following functions needs testing | 254 | // TODO: the following functions needs testing |
252 | def confl( | 255 | def confl( |
@@ -359,9 +362,11 @@ trait RSAOntology { | |||
359 | 362 | ||
360 | import RDFoxUtil._ | 363 | import RDFoxUtil._ |
361 | 364 | ||
362 | val NIs: List[Rule] = | 365 | val named: List[Rule] = |
363 | individuals.map(a => | 366 | individuals.map(a => |
364 | Rule.create(TupleTableAtom.rdf(a, IRI.RDF_TYPE, RSA.internal("NI"))) | 367 | Rule.create( |
368 | TupleTableAtom.rdf(a, IRI.RDF_TYPE, RSA.internal("NAMED")) | ||
369 | ) | ||
365 | ) | 370 | ) |
366 | 371 | ||
367 | val rolesAdditionalRules: List[Rule] = { | 372 | val rolesAdditionalRules: List[Rule] = { |
@@ -500,17 +505,17 @@ trait RSAOntology { | |||
500 | val z = Variable.create("Z") | 505 | val z = Variable.create("Z") |
501 | List( | 506 | List( |
502 | Rule.create( | 507 | Rule.create( |
503 | TupleTableAtom.rdf(x, IRI.SAME_AS, x), | 508 | TupleTableAtom.rdf(x, RSA.EquivTo, x), |
504 | TupleTableAtom.rdf(x, IRI.RDF_TYPE, IRI.THING) | 509 | TupleTableAtom.rdf(x, IRI.RDF_TYPE, IRI.THING) |
505 | ), | 510 | ), |
506 | Rule.create( | 511 | Rule.create( |
507 | TupleTableAtom.rdf(y, IRI.SAME_AS, x), | 512 | TupleTableAtom.rdf(y, RSA.EquivTo, x), |
508 | TupleTableAtom.rdf(x, IRI.SAME_AS, y) | 513 | TupleTableAtom.rdf(x, RSA.EquivTo, y) |
509 | ), | 514 | ), |
510 | Rule.create( | 515 | Rule.create( |
511 | TupleTableAtom.rdf(x, IRI.SAME_AS, z), | 516 | TupleTableAtom.rdf(x, RSA.EquivTo, z), |
512 | TupleTableAtom.rdf(x, IRI.SAME_AS, y), | 517 | TupleTableAtom.rdf(x, RSA.EquivTo, y), |
513 | TupleTableAtom.rdf(y, IRI.SAME_AS, z) | 518 | TupleTableAtom.rdf(y, RSA.EquivTo, z) |
514 | ) | 519 | ) |
515 | ) | 520 | ) |
516 | } | 521 | } |
@@ -519,7 +524,7 @@ trait RSAOntology { | |||
519 | // Compute rules from ontology axioms | 524 | // Compute rules from ontology axioms |
520 | val rules = axioms.flatMap(_.accept(this.ProgramGenerator)) | 525 | val rules = axioms.flatMap(_.accept(this.ProgramGenerator)) |
521 | // Return full set of rules | 526 | // Return full set of rules |
522 | rules ++ rolesAdditionalRules ++ topAxioms ++ equalityAxioms ++ NIs | 527 | rules ++ rolesAdditionalRules ++ topAxioms ++ equalityAxioms ++ named |
523 | } | 528 | } |
524 | 529 | ||
525 | object ProgramGenerator | 530 | object ProgramGenerator |