Skip to content

Commit 8c4052e

Browse files
committed
Added bnode profile support
1 parent e0d90be commit 8c4052e

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

rdf-processing-toolkit-cli/src/main/java/org/aksw/sparql_integrate/cli/cmd/CmdSparqlIntegrateMain.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ public class CmdSparqlIntegrateMain
7979

8080
@Mixin
8181
public CmdMixinArq arqConfig;
82+
83+
84+
@Option(names= {"-b", "--bp", "--bnode-profile"}, description="Blank node profile, empty string ('') to disable; defaults to ${DEFAULT-VALUE}", defaultValue = "")
85+
public String bnodeProfile = null;
86+
8287
// @Option(names = { "--explain" }, description="Enable detailed ARQ log output")
8388
// public boolean explain = false;
8489

@@ -200,4 +205,4 @@ public Integer call() throws Exception {
200205
return SparqlIntegrateCmdImpls.sparqlIntegrate(this);
201206
}
202207

203-
}
208+
}

rdf-processing-toolkit-cli/src/main/java/org/aksw/sparql_integrate/cli/main/SparqlIntegrateCmdImpls.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@
4444
import org.aksw.jenax.arq.datasource.RdfDataEngineFactory;
4545
import org.aksw.jenax.arq.datasource.RdfDataEngineFactoryRegistry;
4646
import org.aksw.jenax.arq.datasource.RdfDataEngines;
47+
import org.aksw.jenax.arq.datasource.RdfDataSourceDecorator;
4748
import org.aksw.jenax.arq.datasource.RdfDataSourceSpecBasicFromMap;
49+
import org.aksw.jenax.arq.datasource.RdfDataSourceWithBnodeRewrite;
4850
import org.aksw.jenax.arq.picocli.CmdMixinArq;
4951
import org.aksw.jenax.arq.util.security.ArqSecurity;
5052
import org.aksw.jenax.connection.dataengine.RdfDataEngine;
@@ -62,7 +64,6 @@
6264
import org.aksw.rdf_processing_toolkit.cli.cmd.CliUtils;
6365
import org.aksw.sparql_integrate.cli.cmd.CmdSparqlIntegrateMain;
6466
import org.aksw.sparql_integrate.cli.cmd.CmdSparqlIntegrateMain.OutputSpec;
65-
import org.apache.commons.lang3.exception.ExceptionUtils;
6667
import org.apache.jena.ext.com.google.common.base.Stopwatch;
6768
import org.apache.jena.geosparql.configuration.GeoSPARQLConfig;
6869
import org.apache.jena.geosparql.spatial.SpatialIndex;
@@ -85,7 +86,6 @@
8586
import org.apache.jena.sparql.algebra.optimize.Optimize;
8687
import org.apache.jena.sparql.core.Transactional;
8788
import org.apache.jena.sparql.exec.QueryExec;
88-
import org.apache.jena.sparql.mgt.Explain.InfoLevel;
8989
import org.apache.jena.sparql.service.enhancer.init.ServiceEnhancerInit;
9090
import org.apache.jena.sparql.util.Context;
9191
import org.apache.jena.system.Txn;
@@ -373,6 +373,12 @@ public static int sparqlIntegrate(CmdSparqlIntegrateMain cmd) throws Exception {
373373
dataSourceTmp = RdfDataEngines.decorate(dataSourceTmp, new RdfDataSourceDecoratorSansa());
374374
}
375375

376+
String bnodeProfile = cmd.bnodeProfile;
377+
if (!Strings.isNullOrEmpty(bnodeProfile)) {
378+
RdfDataSourceDecorator decorator = (x, conf) -> new RdfDataSourceWithBnodeRewrite(x, bnodeProfile);
379+
dataSourceTmp = RdfDataEngines.decorate(dataSourceTmp, decorator);
380+
}
381+
376382
RdfDataEngine datasetAndDelete = dataSourceTmp;
377383

378384

0 commit comments

Comments
 (0)