aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/rsacomb/RDFTriple.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/rsacomb/RDFTriple.scala')
-rw-r--r--src/main/scala/rsacomb/RDFTriple.scala33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/main/scala/rsacomb/RDFTriple.scala b/src/main/scala/rsacomb/RDFTriple.scala
index 11ad6d4..9e593df 100644
--- a/src/main/scala/rsacomb/RDFTriple.scala
+++ b/src/main/scala/rsacomb/RDFTriple.scala
@@ -1,10 +1,11 @@
1package rsacomb 1package rsacomb
2 2
3import tech.oxfordsemantic.jrdfox.logic.{Atom, IRI, TupleTableName} 3import tech.oxfordsemantic.jrdfox.logic.datalog.{TupleTableAtom, TupleTableName}
4import tech.oxfordsemantic.jrdfox.logic.expression.{IRI}
4 5
5trait RDFTriple { 6trait RDFTriple {
6 7
7 implicit class RDFTriple(atom: Atom) { 8 implicit class RDFTriple(atom: TupleTableAtom) {
8 9
9 /* Is this the best way to determine if an atom is an RDF triple? 10 /* Is this the best way to determine if an atom is an RDF triple?
10 * Note that we can't use `getNumberOfArguments()` because is not 11 * Note that we can't use `getNumberOfArguments()` because is not
@@ -21,39 +22,39 @@ trait RDFTriple {
21 * ``` 22 * ```
22 */ 23 */
23 def isRdfTriple: Boolean = 24 def isRdfTriple: Boolean =
24 atom.getTupleTableName.getIRI.equals("internal:triple") 25 atom.getTupleTableName.getName.equals("internal:triple")
25 26
26 def isClassAssertion: Boolean = 27 def isClassAssertion: Boolean =
27 atom.isRdfTriple && atom.getArgument(1).equals(IRI.RDF_TYPE) 28 atom.isRdfTriple && atom.getArguments.get(1).equals(IRI.RDF_TYPE)
28 29
29 def isRoleAssertion: Boolean = 30 def isRoleAssertion: Boolean =
30 atom.isRdfTriple && !atom.getArgument(1).equals(IRI.RDF_TYPE) 31 atom.isRdfTriple && !atom.getArguments.get(1).equals(IRI.RDF_TYPE)
31 32
32 def suffix(sx: String): Atom = 33 def suffix(sx: String): TupleTableAtom =
33 if (this.isClassAssertion) { 34 if (this.isClassAssertion) {
34 val newclass = atom.getArgument(2) match { 35 val newclass = atom.getArguments.get(2) match {
35 case iri: IRI => IRI.create(iri.getIRI.appendedAll(sx)) 36 case iri: IRI => IRI.create(iri.getIRI.appendedAll(sx))
36 case other => other 37 case other => other
37 } 38 }
38 Atom.rdf( 39 TupleTableAtom.rdf(
39 atom getArgument 0, 40 atom.getArguments.get(0),
40 atom getArgument 1, 41 atom.getArguments.get(1),
41 newclass 42 newclass
42 ) 43 )
43 } else if (this.isRoleAssertion) { 44 } else if (this.isRoleAssertion) {
44 val newrole = atom.getArgument(1) match { 45 val newrole = atom.getArguments.get(1) match {
45 case iri: IRI => IRI.create(iri.getIRI.appendedAll(sx)) 46 case iri: IRI => IRI.create(iri.getIRI.appendedAll(sx))
46 case other => other 47 case other => other
47 } 48 }
48 Atom.rdf( 49 TupleTableAtom.rdf(
49 atom getArgument 0, 50 atom.getArguments.get(0),
50 newrole, 51 newrole,
51 atom getArgument 2 52 atom.getArguments.get(2)
52 ) 53 )
53 } else { 54 } else {
54 val newname = 55 val newname =
55 TupleTableName.create(atom.getTupleTableName.getIRI.appendedAll(sx)) 56 TupleTableName.create(atom.getTupleTableName.getName.appendedAll(sx))
56 Atom.create(newname, atom.getArguments()) 57 TupleTableAtom.create(newname, atom.getArguments())
57 } 58 }
58 } 59 }
59 60