Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
package org.dbpedia.extraction.dump.util

import java.io.{File, FileInputStream, PrintWriter}
import java.util.function.Consumer

import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream
import org.apache.jena.query.QueryExecutionFactory
import org.apache.jena.rdf.model.{Model, ModelFactory}
import org.apache.jena.query.{QueryExecutionFactory, QuerySolution}
import org.apache.jena.rdf.model.{Model, ModelFactory, RDFNode, Resource}
import org.apache.jena.sparql.core.ResultBinding
import org.apache.jena.sparql.core.Var
import org.apache.jena.sparql.engine.binding.BindingProject

import scala.collection.mutable
import scala.collection.mutable.{ArrayBuffer, ListBuffer}
Expand Down Expand Up @@ -126,27 +131,42 @@ object MinidumpDoc extends App {
}

val exec = QueryExecutionFactory.create(queryString.toString(), miniExtraction)
val rs = new mutable.LinkedHashSet[String]()
exec.execSelect().forEachRemaining(new Consumer[QuerySolution] {
override def accept(t: QuerySolution): Unit = rs.add(t.get("t").asResource().getURI)
})

val rs = exec.execSelect()

while (rs.hasNext) {
val qs = rs.next
val t = qs.get("t").asResource().getURI
if (t.contains(MinidumpDocConfig.dbpediaUriPrefix) ) {
for(target <- rs) {
if (target.contains(MinidumpDocConfig.dbpediaUriPrefix) ) {

val englishDbpediaUri = t.replace(MinidumpDocConfig.dbpediaUriPrefix,
val englishDbpediaUri = target.replace(MinidumpDocConfig.dbpediaUriPrefix,
MinidumpDocConfig.englishDbpediaUriPrefix)

if (minidumpURIs.contains(t) || minidumpURIs.contains(englishDbpediaUri)) {
if (!minidumpURIs.contains(t) && minidumpURIs.contains(englishDbpediaUri)) {
if (minidumpURIs.contains(target) || minidumpURIs.contains(englishDbpediaUri)) {
if (!minidumpURIs.contains(target) && minidumpURIs.contains(englishDbpediaUri)) {
saveToMap(englishDbpediaUri, testDef)
}
else {
// println(s"tests ${testDef.target} on target $t")
saveToMap(t, testDef)
saveToMap(target, testDef)
}
}
}
else {
//val citedByURI = "http://dbpedia.org/property/isCitedBy"
val newQueryStringGraph = new StringBuilder
// maybe it is better to use citedBy URI as a property in the query
newQueryStringGraph.append(s"SELECT DISTINCT ?o { <$target> ?p ?o . }")
val exec = QueryExecutionFactory.create(newQueryStringGraph.toString(), miniExtraction)
exec.execSelect().forEachRemaining(new Consumer[QuerySolution] {
override def accept(t: QuerySolution): Unit = {
//println(t.getResource("o").getURI)
if (t.get("o").isResource){
rs.add(t.getResource("o").getURI)
}
}
})
}
}
})
writeShaclTestsTableToFile()
Expand Down
Loading