@@ -37,7 +37,8 @@ class ForwardRuleReasonerOWLHorst(sc: SparkContext, parallelism: Int) extends Fo
3737 val equivPropertyTriples = extractTriples(triplesRDD, OWL2 .equivalentProperty.getURI) // owl:equivalentProperty
3838
3939
40- // 1. we have to process owl:equivalentClass and owl:equivalentProperty before computing the transitive closure
40+ // 1. we have to process owl:equivalentClass (resp. owl:equivalentProperty) before computing the transitive closure
41+ // of rdfs:subClassOf (resp. rdfs:sobPropertyOf)
4142 // rdfp12a: (?C owl:equivalentClass ?D) -> (?C rdfs:subClassOf ?D )
4243 // rdfp12b: (?C owl:equivalentClass ?D) -> (?D rdfs:subClassOf ?C )
4344 subClassOfTriples = sc.union(
@@ -55,14 +56,9 @@ class ForwardRuleReasonerOWLHorst(sc: SparkContext, parallelism: Int) extends Fo
5556 .distinct()
5657
5758 // 2. we compute the transitive closure of rdfs:subPropertyOf and rdfs:subClassOf
58- // rdfs11: (xxx rdfs:subClassOf yyy), (yyy rdfs:subClassOf zzz) -> (xxx rdfs:subClassOf zzz)
59+ // rdfs11: (xxx rdfs:subClassOf yyy), (yyy rdfs:subClassOf zzz) -> (xxx rdfs:subClassOf zzz)
5960 val subClassOfTriplesTrans = computeTransitiveClosure(subClassOfTriples)
60-
61- /*
62- rdfs5 xxx rdfs:subPropertyOf yyy .
63- yyy rdfs:subPropertyOf zzz . xxx rdfs:subPropertyOf zzz .
64- */
65-
61+ // rdfs5: (xxx rdfs:subPropertyOf yyy), (yyy rdfs:subPropertyOf zzz) -> (xxx rdfs:subPropertyOf zzz)
6662 val subPropertyOfTriplesTrans = computeTransitiveClosure(subPropertyOfTriples)
6763
6864
@@ -86,7 +82,6 @@ class ForwardRuleReasonerOWLHorst(sc: SparkContext, parallelism: Int) extends Fo
8682 .filter(t => subClassOfMapBC.value.getOrElse(t.`object`, Set .empty).contains(t.subject))
8783 .map(t => RDFTriple (t.subject, OWL2 .equivalentClass.getURI, t.`object`))
8884 )
89-
9085 // rdfp13c: (?C rdfs:subPropertyOf ?D ), (?D rdfs:subPropertyOf ?C ) -> (?C owl:equivalentProperty ?D)
9186 val equivPropTriplesInf = equivPropertyTriples.union(
9287 subPropertyOfTriplesTrans
@@ -169,6 +164,8 @@ class ForwardRuleReasonerOWLHorst(sc: SparkContext, parallelism: Int) extends Fo
169164
170165// println("input rdf:type triples:\n" + typeTriples.collect().mkString("\n"))
171166
167+ // at this point, we have to perform fix-point iteration, i.e. we process a set of rules until no new data
168+ // has been generated
172169 var newDataInferred = true
173170 var iteration = 0
174171
@@ -270,7 +267,7 @@ class ForwardRuleReasonerOWLHorst(sc: SparkContext, parallelism: Int) extends Fo
270267 RDFTriple (s, p, o)
271268 }
272269 )
273- println(rdfp14a.collect().mkString(" \n " ))
270+ // println(rdfp14a.collect().mkString("\n"))
274271
275272 // rdfp8a: (?P owl:inverseOf ?Q), (?X ?P ?Y) -> (?Y ?Q ?X)
276273 val rdfp8a = triplesFiltered
0 commit comments