nearly complete support for running Vitro from an arbitrary SPARQL endpoint
This commit is contained in:
parent
6416e51bdb
commit
33f39989f6
6 changed files with 20 additions and 20 deletions
|
@ -135,6 +135,12 @@ public class IndividualSDB extends IndividualImpl implements Individual {
|
||||||
QueryFactory.create(getStatements), dataset)
|
QueryFactory.create(getStatements), dataset)
|
||||||
.execConstruct();
|
.execConstruct();
|
||||||
} finally {
|
} finally {
|
||||||
|
if (dataset == null) {
|
||||||
|
throw new RuntimeException("dataset is null");
|
||||||
|
} else if (dataset.getLock() == null) {
|
||||||
|
throw new RuntimeException("dataset lock is null");
|
||||||
|
}
|
||||||
|
|
||||||
dataset.getLock().leaveCriticalSection();
|
dataset.getLock().leaveCriticalSection();
|
||||||
w.close();
|
w.close();
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,13 +21,12 @@ import com.hp.hpl.jena.query.QueryExecutionFactory;
|
||||||
import com.hp.hpl.jena.query.QueryFactory;
|
import com.hp.hpl.jena.query.QueryFactory;
|
||||||
import com.hp.hpl.jena.query.QuerySolution;
|
import com.hp.hpl.jena.query.QuerySolution;
|
||||||
import com.hp.hpl.jena.query.ResultSet;
|
import com.hp.hpl.jena.query.ResultSet;
|
||||||
import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
|
||||||
import com.hp.hpl.jena.shared.Lock;
|
import com.hp.hpl.jena.shared.Lock;
|
||||||
|
import com.hp.hpl.jena.shared.LockMRSW;
|
||||||
import com.hp.hpl.jena.sparql.core.DatasetGraph;
|
import com.hp.hpl.jena.sparql.core.DatasetGraph;
|
||||||
import com.hp.hpl.jena.sparql.core.Quad;
|
import com.hp.hpl.jena.sparql.core.Quad;
|
||||||
import com.hp.hpl.jena.sparql.resultset.ResultSetMem;
|
import com.hp.hpl.jena.sparql.resultset.ResultSetMem;
|
||||||
import com.hp.hpl.jena.sparql.util.Context;
|
import com.hp.hpl.jena.sparql.util.Context;
|
||||||
import com.hp.hpl.jena.sparql.util.NodeFactory;
|
|
||||||
import com.hp.hpl.jena.util.iterator.SingletonIterator;
|
import com.hp.hpl.jena.util.iterator.SingletonIterator;
|
||||||
import com.hp.hpl.jena.util.iterator.WrappedIterator;
|
import com.hp.hpl.jena.util.iterator.WrappedIterator;
|
||||||
|
|
||||||
|
@ -35,6 +34,7 @@ public class SparqlDatasetGraph implements DatasetGraph {
|
||||||
|
|
||||||
private String endpointURI;
|
private String endpointURI;
|
||||||
private Repository repository;
|
private Repository repository;
|
||||||
|
private Lock lock = new LockMRSW();
|
||||||
|
|
||||||
public SparqlDatasetGraph(String endpointURI) {
|
public SparqlDatasetGraph(String endpointURI) {
|
||||||
this.endpointURI = endpointURI;
|
this.endpointURI = endpointURI;
|
||||||
|
@ -171,8 +171,7 @@ public class SparqlDatasetGraph implements DatasetGraph {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Lock getLock() {
|
public Lock getLock() {
|
||||||
// TODO Auto-generated method stub
|
return lock;
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -204,13 +204,13 @@ public class WebappDaoFactorySDBPrep implements Filter {
|
||||||
//datasource.addNamedModel("fake:fake", m);
|
//datasource.addNamedModel("fake:fake", m);
|
||||||
//dataset = datasource;
|
//dataset = datasource;
|
||||||
|
|
||||||
WebappDaoFactory wadf = new WebappDaoFactoryJena(oms, config);
|
//WebappDaoFactory wadf = new WebappDaoFactoryJena(oms, config);
|
||||||
//wadf = new WebappDaoFactorySDB(oms, dataset, config);
|
WebappDaoFactory wadf = new WebappDaoFactorySDB(oms, dataset, config);
|
||||||
vreq.setWebappDaoFactory(wadf);
|
vreq.setWebappDaoFactory(wadf);
|
||||||
vreq.setFullWebappDaoFactory(wadf);
|
vreq.setFullWebappDaoFactory(wadf);
|
||||||
vreq.setUnfilteredWebappDaoFactory(wadf);
|
vreq.setUnfilteredWebappDaoFactory(wadf);
|
||||||
vreq.setWebappDaoFactory(wadf);
|
vreq.setWebappDaoFactory(wadf);
|
||||||
vreq.setAssertionsWebappDaoFactory(wadf);
|
//vreq.setAssertionsWebappDaoFactory(wadf);
|
||||||
vreq.setDataset(dataset);
|
vreq.setDataset(dataset);
|
||||||
vreq.setJenaOntModel(om);
|
vreq.setJenaOntModel(om);
|
||||||
vreq.setOntModelSelector(oms);
|
vreq.setOntModelSelector(oms);
|
||||||
|
|
|
@ -156,13 +156,14 @@ public class WebappDaoFactorySparqlPrep implements Filter {
|
||||||
//datasource.addNamedModel("fake:fake", m);
|
//datasource.addNamedModel("fake:fake", m);
|
||||||
//dataset = datasource;
|
//dataset = datasource;
|
||||||
|
|
||||||
|
vreq.setAssertionsWebappDaoFactory(wadf);
|
||||||
|
|
||||||
wadf = new WebappDaoFactoryJena(oms, config);
|
wadf = new WebappDaoFactoryJena(oms, config);
|
||||||
//wadf = new WebappDaoFactorySDB(oms, dataset, config);
|
//wadf = new WebappDaoFactorySDB(oms, dataset, config);
|
||||||
vreq.setWebappDaoFactory(wadf);
|
vreq.setWebappDaoFactory(wadf);
|
||||||
vreq.setFullWebappDaoFactory(wadf);
|
vreq.setFullWebappDaoFactory(wadf);
|
||||||
vreq.setUnfilteredWebappDaoFactory(wadf);
|
vreq.setUnfilteredWebappDaoFactory(wadf);
|
||||||
vreq.setWebappDaoFactory(wadf);
|
vreq.setWebappDaoFactory(wadf);
|
||||||
vreq.setAssertionsWebappDaoFactory(wadf);
|
|
||||||
vreq.setDataset(dataset);
|
vreq.setDataset(dataset);
|
||||||
vreq.setJenaOntModel(om);
|
vreq.setJenaOntModel(om);
|
||||||
vreq.setOntModelSelector(oms);
|
vreq.setOntModelSelector(oms);
|
||||||
|
|
|
@ -249,16 +249,17 @@ public class JenaDataSourceSetupSparql2 extends JenaDataSourceSetupBase
|
||||||
applicationMetadataModel.getBaseModel().register(
|
applicationMetadataModel.getBaseModel().register(
|
||||||
new ModelSynchronizer(applicationMetadataModelDB));
|
new ModelSynchronizer(applicationMetadataModelDB));
|
||||||
|
|
||||||
if (isFirstStartup()) {
|
if (applicationMetadataModel.size()== 0 /* isFirstStartup() */) {
|
||||||
applicationMetadataModel.add(
|
applicationMetadataModel.add(
|
||||||
InitialJenaModelUtils.loadInitialModel(
|
InitialJenaModelUtils.loadInitialModel(
|
||||||
ctx, getDefaultNamespace(ctx)));
|
ctx, getDefaultNamespace(ctx)));
|
||||||
|
|
||||||
} else if (applicationMetadataModelDB.size() == 0) {
|
|
||||||
repairAppMetadataModel(
|
|
||||||
applicationMetadataModel, aboxAssertions,
|
|
||||||
aboxInferences);
|
|
||||||
}
|
}
|
||||||
|
// else if (applicationMetadataModelDB.size() == 0) {
|
||||||
|
// repairAppMetadataModel(
|
||||||
|
// applicationMetadataModel, aboxAssertions,
|
||||||
|
// aboxInferences);
|
||||||
|
// }
|
||||||
|
|
||||||
baseOms.setApplicationMetadataModel(applicationMetadataModel);
|
baseOms.setApplicationMetadataModel(applicationMetadataModel);
|
||||||
inferenceOms.setApplicationMetadataModel(
|
inferenceOms.setApplicationMetadataModel(
|
||||||
|
|
|
@ -45,13 +45,6 @@ public class SimpleReasonerSetup implements ServletContextListener {
|
||||||
@Override
|
@Override
|
||||||
public void contextInitialized(ServletContextEvent sce) {
|
public void contextInitialized(ServletContextEvent sce) {
|
||||||
|
|
||||||
// temporary scaffolding in the rdfapi dev branch
|
|
||||||
// TODO remove me
|
|
||||||
if (ConfigurationProperties.getBean(sce).getProperty(
|
|
||||||
"VitroConnection.DataSource.endpointURI") != null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// set up Pellet reasoning for the TBox
|
// set up Pellet reasoning for the TBox
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue