Skip to content
This repository was archived by the owner on Oct 8, 2020. It is now read-only.

Commit 429fe95

Browse files
Merge pull request #9 from SANSA-Stack/reasonerTest
Contains rule-based forward chaining reasoner implementation for RDFS and (all but one rule of) OWL Horst
2 parents e9a7f19 + c0b16d7 commit 429fe95

File tree

365 files changed

+3468
-359
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

365 files changed

+3468
-359
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,6 @@ project/plugins/project/
1919
.idea
2020

2121
scalastyle-output.xml
22+
23+
# Protege files
24+
catalog-v001.xml

pom.xml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@
6363
<maven.compiler.source>1.8</maven.compiler.source>
6464
<maven.compiler.target>1.8</maven.compiler.target>
6565
<maven.version>>=3.0</maven.version>
66-
<!--<java.version>>=1.8</java.version>-->
6766
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
6867
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
6968
<scala.version>2.11.12</scala.version>
7069
<scala.binary.version>2.11</scala.binary.version>
70+
<sansa.version>0.3.1-SNAPSHOT</sansa.version>
7171
<spark.version>2.3.1</spark.version>
7272
<flink.version>1.5.0</flink.version>
7373
<jena.version>3.7.0</jena.version>
@@ -111,7 +111,12 @@
111111
<artifactId>sansa-rdf-partition-core</artifactId>
112112
<version>${sansa.rdf.version}</version>
113113
</dependency>
114-
114+
<!-- SANSA OWL -->
115+
<dependency>
116+
<groupId>net.sansa-stack</groupId>
117+
<artifactId>sansa-owl-spark_${scala.binary.version}</artifactId>
118+
<version>${sansa.version}</version>
119+
</dependency>
115120
<!-- Query Layer -->
116121
<dependency>
117122
<groupId>${project.groupId}</groupId>
@@ -262,12 +267,12 @@
262267
<version>0.9.2</version>
263268
</dependency>
264269

265-
<!-- Apache Calcite -->
266-
<dependency>
267-
<groupId>org.apache.calcite</groupId>
268-
<artifactId>calcite-core</artifactId>
269-
<version>1.16.0</version>
270-
</dependency>
270+
<!-- Apache Calcite -->
271+
<dependency>
272+
<groupId>org.apache.calcite</groupId>
273+
<artifactId>calcite-core</artifactId>
274+
<version>1.16.0</version>
275+
</dependency>
271276

272277
<!-- Test -->
273278
<dependency>
@@ -330,8 +335,12 @@
330335
<version>1.3.3</version>
331336
</dependency>
332337

333-
334-
338+
<!--Apache hadoop -->
339+
<dependency>
340+
<groupId>org.apache.hadoop</groupId>
341+
<artifactId>hadoop-common</artifactId>
342+
<version>2.9.0</version>
343+
</dependency>
335344
</dependencies>
336345
</dependencyManagement>
337346

sansa-inference-spark/pom.xml

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
<properties>
1818
<spark.deps.scope>compile</spark.deps.scope>
19+
<scala.version>2.11.11</scala.version>
20+
<sansa.version>0.3.1-SNAPSHOT</sansa.version>
1921
</properties>
2022

2123
<dependencies>
@@ -32,6 +34,12 @@
3234
<scope>test</scope>
3335
</dependency>
3436

37+
<!-- SANSA OWL -->
38+
<dependency>
39+
<groupId>net.sansa-stack</groupId>
40+
<artifactId>sansa-owl-spark_${scala.binary.version}</artifactId>
41+
</dependency>
42+
3543
<!-- RDF Layer -->
3644
<dependency>
3745
<groupId>${project.groupId}</groupId>
@@ -125,6 +133,12 @@
125133
<artifactId>owlapi-parsers</artifactId>
126134
</dependency>
127135

136+
<!--Apache hadoop -->
137+
<dependency>
138+
<groupId>org.apache.hadoop</groupId>
139+
<artifactId>hadoop-common</artifactId>
140+
</dependency>
141+
128142
<!-- Graph API -->
129143
<dependency>
130144
<groupId>org.scala-graph</groupId>
@@ -168,7 +182,6 @@
168182
<scope>test</scope>
169183
</dependency>
170184

171-
172185
<dependency>
173186
<groupId>org.specs2</groupId>
174187
<artifactId>specs2-core_${scala.binary.version}</artifactId>
@@ -179,12 +192,6 @@
179192
<artifactId>specs2-junit_${scala.binary.version}</artifactId>
180193
<scope>test</scope>
181194
</dependency>
182-
<!--<dependency>-->
183-
<!--<groupId>com.groupon.dse</groupId>-->
184-
<!--<artifactId>spark-metrics</artifactId>-->
185-
<!--<version>2.0.1-SNAPSHOT</version>-->
186-
<!--<scope>test</scope>-->
187-
<!--</dependency>-->
188195

189196
<!-- Logging -->
190197
<dependency>
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
Prefix(:=<http://ex.com/default#>)
2+
Prefix(foo:=<http://ex.com/foo#>)
3+
Prefix(bar:=<http://ex.com/bar#>)
4+
Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
5+
6+
Ontology(<http://ex.com/ont/sample1.owl>
7+
<http://ex.com/ont/release/123/sample1.owl>
8+
#Import(<http://www.example.com/my/2.0>)
9+
# annotations
10+
Annotation(foo:hasName "Name")
11+
Annotation(bar:hasTitle "Title")
12+
Annotation(:description "A longer
13+
description running over
14+
several lines")
15+
16+
## declarations
17+
# class declarations
18+
Declaration(Annotation(foo:ann "some annotation") Class(bar:Cls1))
19+
Declaration(Class(bar:Cls2))
20+
# datatype declarations
21+
Declaration(Datatype(bar:dtype1))
22+
Declaration(Datatype(bar:dtype2))
23+
# object property declarations
24+
Declaration(ObjectProperty(bar:objProp1))
25+
Declaration(ObjectProperty(bar:objProp2))
26+
# data property declarations
27+
Declaration(DataProperty(bar:dataProp1))
28+
Declaration(DataProperty(bar:dataProp2))
29+
# annotation property declarations
30+
Declaration(AnnotationProperty(bar:annProp1))
31+
Declaration(AnnotationProperty(bar:annProp2))
32+
# named individual declarations
33+
Declaration(NamedIndividual(foo:indivA))
34+
Declaration(NamedIndividual(foo:indivB))
35+
Declaration(NamedIndividual(foo:indivC))
36+
37+
## annotation axioms
38+
AnnotationAssertion(bar:label bar:Cls1 "Class 1")
39+
SubAnnotationPropertyOf(bar:annProp1 bar:annProp2)
40+
AnnotationPropertyDomain(bar:annProp1 bar:Cls1)
41+
AnnotationPropertyRange(bar:annProp1 bar:Cls2)
42+
43+
## class expressions -- 20
44+
EquivalentClasses(bar:IntersectionCls ObjectIntersectionOf(bar:Cls1 bar:Cls2))
45+
EquivalentClasses(bar:UnionCls ObjectUnionOf(bar:Cls1 bar:Cls2))
46+
EquivalentClasses(bar:ComplementCls ObjectComplementOf(bar:Cls1))
47+
EquivalentClasses(bar:AllIndividualsCls ObjectOneOf(foo:indivA foo:indivB))
48+
EquivalentClasses(bar:Cls1 ObjectSomeValuesFrom(bar:objProp1 bar:Cls1))
49+
EquivalentClasses(bar:SomeProp1Cls1 ObjectSomeValuesFrom(bar:objProp1 bar:Cls1))
50+
EquivalentClasses(bar:AllProp1Cls1 ObjectAllValuesFrom(bar:objProp1 bar:Cls1))
51+
EquivalentClasses(bar:HasValProp1IndivB ObjectHasValue(bar:objProp1 foo:indivB))
52+
EquivalentClasses(bar:HasSelfProp1 ObjectHasSelf(bar:objProp1))
53+
EquivalentClasses(bar:Min2Prop1Cls1 ObjectMinCardinality(2 bar:objProp1 bar:Cls1))
54+
EquivalentClasses(bar:Max3Prop1Cls1 ObjectMaxCardinality(3 bar:objProp1 bar:Cls1))
55+
EquivalentClasses(bar:Exact5Prop1Cls1 ObjectExactCardinality(5 bar:objProp1 bar:Cls1))
56+
EquivalentClasses(bar:DataSomeIntLT20 DataSomeValuesFrom(bar:dataProp2 DatatypeRestriction(xsd:integer xsd:maxExclusive "20"^^xsd:integer)))
57+
EquivalentClasses(bar:DataAllIntGT10 DataAllValuesFrom(bar:dataProp2 DatatypeRestriction(xsd:integer xsd:minInclusive "10"^^xsd:integer)))
58+
EquivalentClasses(bar:DataHasVal5 DataHasValue(bar:dataProp2 "5"^^xsd:integer))
59+
EquivalentClasses(bar:DataMin3Prop1 DataMinCardinality(3 bar:dataProp1))
60+
EquivalentClasses(bar:DataMax2Prop1 DataMaxCardinality(2 bar:dataProp1))
61+
EquivalentClasses(bar:DataExact5Prop1 DataExactCardinality(5 bar:dataProp1))
62+
SubClassOf(bar:Cls1 bar:UnionCls)
63+
SubClassOf(bar:Cls2 bar:UnionCls)
64+
SubClassOf(bar:UnionCls bar:AllProp1Cls1)
65+
SubClassOf(bar:Cls1 DataHasValue(bar:dataProp2 "10"^^xsd:integer))
66+
SubClassOf(bar:Cls2 ObjectHasValue(bar:objProp1 foo:indivB))
67+
68+
DisjointClasses(bar:DataMin3Prop1 bar:DataMax2Prop1)
69+
DisjointUnion(bar:Cl1OrNegate bar:Cls1 bar:ComplementCls1)
70+
71+
## object property axioms -- 40
72+
EquivalentObjectProperties(bar:invObjProp1 ObjectInverseOf(bar:objProp1))
73+
SubObjectPropertyOf(bar:subObjProp1 bar:objProp1)
74+
EquivalentObjectProperties(bar:sameAsObjProp1 bar:objProp1)
75+
DisjointObjectProperties(bar:objProp1 bar:objProp2)
76+
InverseObjectProperties(bar:invObjProp1 bar:objProp1)
77+
ObjectPropertyDomain(bar:objProp1 bar:Cls1)
78+
ObjectPropertyRange(bar:objProp1 bar:AllIndividualsCls)
79+
FunctionalObjectProperty(bar:objProp2)
80+
InverseFunctionalObjectProperty(bar:invObjProp1)
81+
ReflexiveObjectProperty(bar:objProp1)
82+
IrreflexiveObjectProperty(bar:objProp2)
83+
SymmetricObjectProperty(bar:objProp2)
84+
AsymmetricObjectProperty(bar:asymmObjProp)
85+
TransitiveObjectProperty(bar:objProp1)
86+
87+
## data property axioms
88+
DataPropertyRange(bar:dataProp1 xsd:string)
89+
DataPropertyDomain(bar:dataProp1 bar:Cls1)
90+
DataPropertyRange(bar:dataProp2 xsd:int)
91+
DataPropertyDomain(bar:dataProp2 bar:Cls1)
92+
SubDataPropertyOf(bar:subDataProp1 bar:dataProp1)
93+
SubDataPropertyOf(bar:dataProp1 bar:dataProp2)
94+
EquivalentDataProperties(bar:sameAsDataProp1 bar:dataProp1)
95+
DisjointDataProperties(bar:dataProp1 bar:dataProp2)
96+
FunctionalDataProperty(bar:dataProp1)
97+
HasKey(bar:Cls1 () (bar:dataProp1))
98+
99+
## assertions -- 63
100+
AnnotationAssertion(bar:annProp1 foo:indivB "ZYXW")
101+
SameIndividual(foo:sameAsIndivA foo:indivA)
102+
SameIndividual(foo:indivC foo:sameAsIndivC)
103+
DifferentIndividuals(foo:indivA foo:indivB)
104+
ClassAssertion(bar:Cls1 foo:indivA)
105+
ClassAssertion(bar:Cls1 foo:indivC)
106+
ClassAssertion(bar:DataHasVal5 foo:indivC)
107+
ClassAssertion(DataHasValue(bar:dataProp2 "5"^^xsd:integer) foo:indivB)
108+
ClassAssertion(ObjectHasValue(bar:objProp1 foo:indivB) foo:indivA)
109+
ClassAssertion(bar:SomeProp1Cls1 foo:indivA)
110+
ObjectPropertyAssertion(bar:objProp1 foo:indivA foo:indivB)
111+
ObjectPropertyAssertion(bar:objProp1 foo:indivB foo:indivC)
112+
ObjectPropertyAssertion(bar:objProp2 foo:indivB foo:indivA)
113+
ObjectPropertyAssertion(bar:objProp2 foo:indivB foo:indivC)
114+
NegativeObjectPropertyAssertion(bar:Prop2 foo:indivB foo:indivA)
115+
DataPropertyAssertion(bar:dataProp1 foo:indivA "ABCD")
116+
DataPropertyAssertion(bar:dataProp1 foo:indivB "BCDE")
117+
DataPropertyAssertion(bar:dataProp2 foo:indivB "BCDE")
118+
NegativeDataPropertyAssertion(bar:dataProp2 foo:indivA "23"^^xsd:integer)
119+
)

0 commit comments

Comments
 (0)