aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/rsacomb/RSA.scala
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2020-11-18 19:13:25 +0000
committerFederico Igne <federico.igne@cs.ox.ac.uk>2020-11-18 19:13:25 +0000
commit1efc189e90240c162b54cbc50362b46786643dad (patch)
tree9beabe0a2af7ba1674aea0060787782aa72e8a83 /src/main/scala/rsacomb/RSA.scala
parenta45aeff72b82bbc9a52f10929bf15b414c868525 (diff)
downloadRSAComb-1efc189e90240c162b54cbc50362b46786643dad.tar.gz
RSAComb-1efc189e90240c162b54cbc50362b46786643dad.zip
Reorganize project with Java-like folder structure
Diffstat (limited to 'src/main/scala/rsacomb/RSA.scala')
-rw-r--r--src/main/scala/rsacomb/RSA.scala100
1 files changed, 0 insertions, 100 deletions
diff --git a/src/main/scala/rsacomb/RSA.scala b/src/main/scala/rsacomb/RSA.scala
deleted file mode 100644
index ab4f539..0000000
--- a/src/main/scala/rsacomb/RSA.scala
+++ /dev/null
@@ -1,100 +0,0 @@
1package rsacomb.util
2
3/* Java imports */
4import java.util.Map
5
6import tech.oxfordsemantic.jrdfox.formats.SPARQLParser
7import tech.oxfordsemantic.jrdfox.Prefixes
8import tech.oxfordsemantic.jrdfox.logic.datalog.{
9 TupleTableAtom,
10 TupleTableName,
11 Negation
12}
13import tech.oxfordsemantic.jrdfox.logic.expression.{Term, Variable, IRI}
14import org.semanticweb.owlapi.model.OWLOntology
15import org.semanticweb.owlapi.model.{
16 OWLAxiom,
17 OWLClass,
18 OWLObjectPropertyExpression
19}
20
21import rsacomb.suffix.RSASuffix
22
23// Debug only
24import scala.collection.JavaConverters._
25
26object RSA {
27
28 val Prefixes: Prefixes = new Prefixes()
29 Prefixes.declarePrefix("rsa:", "http://www.cs.ox.ac.uk/isg/rsa/")
30
31 private def atom(name: IRI, vars: List[Term]) =
32 TupleTableAtom.create(TupleTableName.create(name.getIRI), vars: _*)
33
34 def PE(t1: Term, t2: Term) =
35 TupleTableAtom.rdf(t1, RSA("PE"), t2)
36
37 def U(t: Term) =
38 TupleTableAtom.rdf(t, IRI.RDF_TYPE, RSA("U"))
39
40 def In(t: Term)(implicit set: Term) =
41 TupleTableAtom.rdf(t, RSA("In"), set)
42
43 def notIn(t: Term)(implicit set: Term) = Negation.create(In(t)(set))
44
45 def congruent(t1: Term, t2: Term) =
46 TupleTableAtom.rdf(t1, RSA("congruent"), t2)
47
48 def QM(implicit variables: (List[Term], List[Term])) = {
49 val (answer, bounded) = variables
50 atom(RSA("QM"), answer ::: bounded)
51 }
52
53 def ID(t1: Term, t2: Term)(implicit variables: (List[Term], List[Term])) = {
54 val (answer, bounded) = variables
55 atom(RSA("ID"), (answer ::: bounded) :+ t1 :+ t2)
56 }
57
58 def Named(t: Term) =
59 TupleTableAtom.rdf(t, IRI.RDF_TYPE, RSA("Named"))
60
61 def Thing(t: Term) =
62 TupleTableAtom.rdf(t, IRI.RDF_TYPE, IRI.THING)
63
64 def NI(t: Term) =
65 TupleTableAtom.rdf(t, IRI.RDF_TYPE, RSA("NI"))
66
67 def TQ(t1: Term, t2: Term, sx: RSASuffix)(implicit
68 variables: (List[Term], List[Term])
69 ) = {
70 val (answer, bounded) = variables
71 atom(RSA("TQ" :: sx), (answer ::: bounded) :+ t1 :+ t2)
72 }
73
74 def AQ(t1: Term, t2: Term, sx: RSASuffix)(implicit
75 variables: (List[Term], List[Term])
76 ) = {
77 val (answer, bounded) = variables
78 atom(RSA("AQ" :: sx), (answer ::: bounded) :+ t1 :+ t2)
79 }
80
81 def FK(implicit variables: (List[Term], List[Term])) = {
82 val (answer, bounded) = variables
83 atom(RSA("FK"), answer ::: bounded)
84 }
85
86 def SP(implicit variables: (List[Term], List[Term])) = {
87 val (answer, bounded) = variables
88 atom(RSA("SP"), answer ::: bounded)
89 }
90
91 def Ans(implicit variables: (List[Term], List[Term])) = {
92 val (answer, _) = variables
93 atom(RSA("Ans"), answer)
94 }
95
96 def apply(name: Any): IRI =
97 IRI.create(
98 Prefixes.getPrefixIRIsByPrefixName.get("rsa:").getIRI + name.toString
99 )
100}