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

Commit 39304ca

Browse files
Scope of lazy variables for precomputation.
1 parent f0f15e3 commit 39304ca

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

sansa-inference-spark/src/main/scala/net/sansa_stack/inference/spark/backwardchaining/BackwardChainingReasonerDataset.scala

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,15 @@ class BackwardChainingReasonerDataset(
3333

3434
val precomputeSchema: Boolean = true
3535

36-
lazy val schema: Map[Node, Dataset[RDFTriple]] = if (precomputeSchema) extractWithIndex(graph) else Map()
37-
lazy val domain = schema.getOrElse(RDFS.domain, broadcast(graph.filter(t => t.p == RDFS.domain.toString)).alias("DOMAIN"))
38-
lazy val range = schema.getOrElse(RDFS.range, broadcast(graph.filter(t => t.p == RDFS.range.toString)).alias("RANGE"))
39-
lazy val sco = schema.getOrElse(RDFS.subClassOf, broadcast(computeTC(graph.filter(t => t.p == RDFS.subClassOf.toString))).alias("SCO"))
40-
lazy val spo = schema.getOrElse(RDFS.subPropertyOf, broadcast(computeTC(graph.filter(t => t.p == RDFS.subPropertyOf.toString))).alias("SPO"))
36+
private lazy val schema: Map[Node, Dataset[RDFTriple]] = if (precomputeSchema) extractWithIndex(graph) else Map()
37+
private lazy val domain: Dataset[RDFTriple] = datasetForPredicate(RDFS.domain, "DOMAIN")
38+
private lazy val range: Dataset[RDFTriple] = datasetForPredicate(RDFS.range, "RANGE")
39+
private lazy val sco: Dataset[RDFTriple] = datasetForPredicate(RDFS.subClassOf, "SCO")
40+
private lazy val spo: Dataset[RDFTriple] = datasetForPredicate(RDFS.subPropertyOf, "SPO")
41+
42+
private def datasetForPredicate(predicate: Node, alias: String): Dataset[RDFTriple] = {
43+
schema.getOrElse(predicate, broadcast(graph.filter(t => t.p == predicate.toString)).alias("DOMAIN"))
44+
}
4145

4246
def isEntailed(triple: Triple): Boolean = {
4347
isEntailed(new TriplePattern(triple))

0 commit comments

Comments
 (0)