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

Commit c9b185b

Browse files
Merge branch 'develop' of github.com:SANSA-Stack/SANSA-Inference into develop
# Conflicts: # sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/triples/FixpointIteration.scala
2 parents 39304ca + 5def5c7 commit c9b185b

21 files changed

Lines changed: 136 additions & 83 deletions

pom.xml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
<scala.binary.version>2.11</scala.binary.version>
7171
<spark.version>2.2.0</spark.version>
7272
<flink.version>1.3.1</flink.version>
73-
<jena.version>3.3.0</jena.version>
73+
<jena.version>3.5.0</jena.version>
7474
<sansa.stack.version>0.2.0</sansa.stack.version>
7575
<sansa.rdf.version>${sansa.stack.version}</sansa.rdf.version>
7676
<sansa.query.version>${sansa.stack.version}</sansa.query.version>
@@ -81,6 +81,7 @@
8181
<MaxPermGen>512m</MaxPermGen>
8282
<CodeCacheSize>512m</CodeCacheSize>
8383
<gpg.keyname>AKSW</gpg.keyname>
84+
<owlapi.version>5.1.0</owlapi.version>
8485
</properties>
8586

8687
<prerequisites>
@@ -177,6 +178,28 @@
177178
<version>${jena.version}</version>
178179
</dependency>
179180

181+
<!-- OWL API -->
182+
<dependency>
183+
<groupId>net.sourceforge.owlapi</groupId>
184+
<artifactId>owlapi-api</artifactId>
185+
<version>${owlapi.version}</version>
186+
</dependency>
187+
<dependency>
188+
<groupId>net.sourceforge.owlapi</groupId>
189+
<artifactId>owlapi-apibinding</artifactId>
190+
<version>${owlapi.version}</version>
191+
</dependency>
192+
<dependency>
193+
<groupId>net.sourceforge.owlapi</groupId>
194+
<artifactId>owlapi-impl</artifactId>
195+
<version>${owlapi.version}</version>
196+
</dependency>
197+
<dependency>
198+
<groupId>net.sourceforge.owlapi</groupId>
199+
<artifactId>owlapi-parsers</artifactId>
200+
<version>${owlapi.version}</version>
201+
</dependency>
202+
180203
<!-- Graph API -->
181204
<dependency>
182205
<groupId>com.assembla.scala-incubator</groupId>
@@ -297,7 +320,7 @@
297320
<arg>-feature</arg>
298321
<arg>-dependencyfile</arg>
299322
<arg>${project.build.directory}/.scala_dependencies</arg>
300-
<arg>-Xmax-classfile-name</arg>
323+
<arg>-Xmax-classfile-name</arg>
301324
<arg>128</arg>
302325
</args>
303326
<jvmArgs>
@@ -756,9 +779,5 @@
756779
</plugins>
757780
</build>
758781
</profile>
759-
760782
</profiles>
761-
762-
763-
764783
</project>

sansa-inference-spark/pom.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,24 @@
9292
<version>${jena.version}</version>
9393
</dependency>
9494

95+
<!-- OWL API -->
96+
<dependency>
97+
<groupId>net.sourceforge.owlapi</groupId>
98+
<artifactId>owlapi-api</artifactId>
99+
</dependency>
100+
<dependency>
101+
<groupId>net.sourceforge.owlapi</groupId>
102+
<artifactId>owlapi-apibinding</artifactId>
103+
</dependency>
104+
<dependency>
105+
<groupId>net.sourceforge.owlapi</groupId>
106+
<artifactId>owlapi-impl</artifactId>
107+
</dependency>
108+
<dependency>
109+
<groupId>net.sourceforge.owlapi</groupId>
110+
<artifactId>owlapi-parsers</artifactId>
111+
</dependency>
112+
95113
<!-- Graph API -->
96114
<dependency>
97115
<groupId>com.assembla.scala-incubator</groupId>

sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/RDFGraphMaterializer.scala

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@ package net.sansa_stack.inference.spark
22

33
import java.net.URI
44

5-
import org.apache.jena.graph.{Node, NodeFactory}
6-
import org.apache.spark.SparkConf
7-
import org.apache.spark.sql.SparkSession
8-
9-
import net.sansa_stack.inference.data.RDFTriple
105
import net.sansa_stack.inference.rules.ReasoningProfile._
116
import net.sansa_stack.inference.rules.{RDFSLevel, ReasoningProfile}
127
import net.sansa_stack.inference.spark.data.loader.RDFGraphLoader
138
import net.sansa_stack.inference.spark.data.writer.RDFGraphWriter
14-
import net.sansa_stack.inference.spark.forwardchaining.{ForwardRuleReasonerOWLHorst, ForwardRuleReasonerRDFS, TransitiveReasoner}
9+
import net.sansa_stack.inference.spark.forwardchaining.triples.{ForwardRuleReasonerOWLHorst, ForwardRuleReasonerRDFS, TransitiveReasoner}
10+
import org.apache.jena.graph.{Node, NodeFactory}
11+
import org.apache.spark.SparkConf
12+
import org.apache.spark.sql.SparkSession
1513

1614
/**
1715
* The main entry class to compute the materialization on an RDF graph.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package net.sansa_stack.inference.spark.forwardchaining.axioms
2+
3+
import net.sansa_stack.inference.utils.Logging
4+
import org.apache.spark.SparkContext
5+
import org.apache.spark.rdd.RDD
6+
import org.semanticweb.owlapi.model.OWLAxiom
7+
8+
/**
9+
* A forward chaining implementation for the RDFS entailment regime that works
10+
* on OWL axioms
11+
*
12+
* @param sc The Apache Spark context
13+
* @param parallelism The degree of parallelism
14+
*/
15+
class ForwardRuleReasonerRDFS(sc: SparkContext, parallelism: Int = 2) extends Logging {
16+
17+
def apply(sc: SparkContext, parallelism: Int = 2): ForwardRuleReasonerRDFS =
18+
new ForwardRuleReasonerRDFS(sc, parallelism)
19+
20+
/**
21+
* TODO: To be implemented
22+
*/
23+
def apply(axioms: RDD[OWLAxiom]): RDD[OWLAxiom] = {
24+
axioms
25+
}
26+
}

sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/AbstractForwardRuleReasoner.scala renamed to sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/triples/AbstractForwardRuleReasoner.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package net.sansa_stack.inference.spark.forwardchaining
1+
package net.sansa_stack.inference.spark.forwardchaining.triples
22

33
import net.sansa_stack.inference.data.RDF
44
import net.sansa_stack.inference.spark.data.model.AbstractRDFGraphSpark

sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/AbstractForwardRuleReasonerRDFS.scala renamed to sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/triples/AbstractForwardRuleReasonerRDFS.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package net.sansa_stack.inference.spark.forwardchaining
1+
package net.sansa_stack.inference.spark.forwardchaining.triples
22

3-
import org.apache.spark.sql.SparkSession
4-
import org.slf4j.LoggerFactory
53
import net.sansa_stack.inference.data.{RDF, RDFOps, RDFVocab}
64
import net.sansa_stack.inference.rules.RDFSLevel._
75
import net.sansa_stack.inference.spark.data.model.AbstractRDFGraphSpark
6+
import org.apache.spark.sql.SparkSession
7+
import org.slf4j.LoggerFactory
88

99
/**
1010
* A forward chaining implementation of the RDFS entailment regime.

sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/FixpointIteration.scala renamed to sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/triples/FixpointIteration.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
package net.sansa_stack.inference.spark.forwardchaining
1+
package net.sansa_stack.inference.spark.forwardchaining.triples
22

3-
import scala.reflect.ClassTag
4-
import org.apache.spark.rdd.RDD
53
import net.sansa_stack.inference.utils.Logging
4+
import org.apache.spark.rdd.RDD
65
import org.apache.spark.sql.Dataset
76

7+
import scala.reflect.ClassTag
8+
89
/**
910
* Creates a new RDD by performing bulk iterations using the given step function. The first
1011
* RDD the step function returns is the input for the next iteration, the second RDD is

sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/ForwardRuleReasoner.scala renamed to sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/triples/ForwardRuleReasoner.scala

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
package net.sansa_stack.inference.spark.forwardchaining
2-
3-
import scala.collection.mutable
4-
5-
import org.apache.jena.graph.{Node, Triple}
6-
import org.apache.spark.rdd.RDD
1+
package net.sansa_stack.inference.spark.forwardchaining.triples
72

83
import net.sansa_stack.inference.spark.data.model.RDFGraph
94
import net.sansa_stack.inference.spark.data.model.TripleUtils._
105
import net.sansa_stack.inference.utils.Profiler
6+
import org.apache.jena.graph.{Node, Triple}
7+
import org.apache.spark.rdd.RDD
8+
9+
import scala.collection.mutable
1110

1211
/**
1312
* A forward chaining based reasoner.

sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/ForwardRuleReasonerNaive.scala renamed to sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/triples/ForwardRuleReasonerNaive.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
package net.sansa_stack.inference.spark.forwardchaining
1+
package net.sansa_stack.inference.spark.forwardchaining.triples
22

3-
import scala.language.{existentials, implicitConversions}
3+
import net.sansa_stack.inference.data.Jena
4+
import net.sansa_stack.inference.spark.data.model.RDFGraphNative
5+
import net.sansa_stack.inference.spark.rules.RuleExecutorNative
6+
import org.apache.jena.graph.Triple
47
import org.apache.jena.reasoner.rulesys.Rule
58
import org.apache.spark.SparkContext
69
import org.apache.spark.rdd.RDD
710
import org.slf4j.LoggerFactory
8-
import net.sansa_stack.inference.data.{Jena}
9-
import net.sansa_stack.inference.spark.data.model.RDFGraphNative
10-
import net.sansa_stack.inference.spark.rules.RuleExecutorNative
1111

12-
import org.apache.jena.graph.{Node, Triple}
12+
import scala.language.{existentials, implicitConversions}
1313

1414
/**
1515
* A naive implementation of the forward chaining based reasoner that does fix-point iteration, i.e. it applies

sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/ForwardRuleReasonerOWLHorst.scala renamed to sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/forwardchaining/triples/ForwardRuleReasonerOWLHorst.scala

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
package net.sansa_stack.inference.spark.forwardchaining
1+
package net.sansa_stack.inference.spark.forwardchaining.triples
22

3+
import net.sansa_stack.inference.spark.data.model.RDFGraph
4+
import net.sansa_stack.inference.spark.data.model.TripleUtils._
5+
import net.sansa_stack.inference.utils.CollectionUtils
36
import org.apache.jena.graph.{Node, Triple}
47
import org.apache.jena.vocabulary.{OWL2, RDF, RDFS}
58
import org.apache.spark.SparkContext
69
import org.apache.spark.rdd.{RDD, UnionRDD}
710
import org.slf4j.LoggerFactory
811

9-
import net.sansa_stack.inference.spark.data.model.RDFGraph
10-
import net.sansa_stack.inference.spark.data.model.TripleUtils._
11-
import net.sansa_stack.inference.utils.CollectionUtils
12-
1312
/**
1413
* A forward chaining implementation of the OWL Horst entailment regime.
1514
*

0 commit comments

Comments
 (0)