[VIVO-1270] Changes to adhere to the RDF 1.1 spec
This commit is contained in:
parent
a3c378bb25
commit
50bef0d85e
10 changed files with 41 additions and 457 deletions
|
@ -10,10 +10,6 @@ import java.util.Collection;
|
|||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
|
||||
import com.github.jsonldjava.core.JSONLD;
|
||||
import com.github.jsonldjava.core.JSONLDProcessingError;
|
||||
import com.github.jsonldjava.impl.JenaRDFParser;
|
||||
import com.github.jsonldjava.utils.JSONUtils;
|
||||
import org.apache.jena.rdf.model.Model;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
||||
|
@ -56,15 +52,7 @@ abstract class SparqlQueryApiRdfProducer extends SparqlQueryApiExecutor {
|
|||
if (mediaType.isNativeFormat()) {
|
||||
IOUtils.copy(rawResult, out);
|
||||
} else if (mediaType.getJenaResponseFormat().equals("JSON")) {
|
||||
// JSON-LD is a special case, since jena 2.6.4 doesn't support it.
|
||||
try {
|
||||
JenaRDFParser parser = new JenaRDFParser();
|
||||
Object json = JSONLD.fromRDF(parseToModel(rawResult), parser);
|
||||
JSONUtils.write(new OutputStreamWriter(out, "UTF-8"), json);
|
||||
} catch (JSONLDProcessingError e) {
|
||||
throw new RDFServiceException(
|
||||
"Could not convert from Jena model to JSON-LD", e);
|
||||
}
|
||||
parseToModel(rawResult).write(out, "JSON-LD");
|
||||
} else {
|
||||
parseToModel(rawResult).write(out,
|
||||
mediaType.getJenaResponseFormat());
|
||||
|
|
|
@ -21,11 +21,6 @@ import org.apache.commons.lang.StringUtils;
|
|||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import com.github.jsonldjava.core.JSONLD;
|
||||
import com.github.jsonldjava.core.JSONLDProcessingError;
|
||||
import com.github.jsonldjava.impl.JenaRDFParser;
|
||||
import com.github.jsonldjava.utils.JSONUtils;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper;
|
||||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.AuthorizationRequest;
|
||||
|
@ -325,28 +320,17 @@ public class FreemarkerHttpServlet extends VitroHttpServlet {
|
|||
String mediaType = values.getContentType().getMediaType();
|
||||
response.setContentType(mediaType);
|
||||
|
||||
if ( JSON_MIMETYPE.equals(mediaType) || JSON_LD_MIMETYPE.equals(mediaType)){
|
||||
//json-ld is not supported by jena v2.6.4
|
||||
try {
|
||||
JenaRDFParser parser = new JenaRDFParser();
|
||||
Object json = JSONLD.fromRDF( values.getModel() , parser);
|
||||
JSONUtils.write(response.getWriter(), json);
|
||||
} catch (JSONLDProcessingError e) {
|
||||
throw new IOException("Could not convert from Jena model to JSON-LD", e);
|
||||
}
|
||||
}else{
|
||||
String format = "";
|
||||
if ( RDFXML_MIMETYPE.equals(mediaType)) {
|
||||
format = "RDF/XML";
|
||||
} else if( N3_MIMETYPE.equals(mediaType)) {
|
||||
format = "N3";
|
||||
} else if ( TTL_MIMETYPE.equals(mediaType)) {
|
||||
format ="TTL";
|
||||
}
|
||||
values.getModel().write( response.getOutputStream(), format );
|
||||
String format = "";
|
||||
if ( RDFXML_MIMETYPE.equals(mediaType)) {
|
||||
format = "RDF/XML";
|
||||
} else if( N3_MIMETYPE.equals(mediaType)) {
|
||||
format = "N3";
|
||||
} else if ( TTL_MIMETYPE.equals(mediaType)) {
|
||||
format = "TTL";
|
||||
} else if ( JSON_MIMETYPE.equals(mediaType) || JSON_LD_MIMETYPE.equals(mediaType)) {
|
||||
format = "JSON-LD";
|
||||
}
|
||||
|
||||
|
||||
values.getModel().write( response.getOutputStream(), format );
|
||||
}
|
||||
|
||||
protected void doException(VitroRequest vreq, HttpServletResponse response,
|
||||
|
|
|
@ -14,6 +14,7 @@ import org.apache.commons.lang.StringUtils;
|
|||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.apache.jena.atlas.io.StringWriterI;
|
||||
import org.apache.jena.query.QuerySolution;
|
||||
import org.apache.jena.query.ResultSet;
|
||||
import org.apache.jena.query.ResultSetFactory;
|
||||
|
@ -24,6 +25,8 @@ import org.apache.jena.rdf.model.Resource;
|
|||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException;
|
||||
import org.apache.jena.riot.out.NodeFormatter;
|
||||
import org.apache.jena.riot.out.NodeFormatterTTL;
|
||||
|
||||
/**
|
||||
* Utilities for executing queries and working with query results.
|
||||
|
@ -195,14 +198,10 @@ public class QueryUtils {
|
|||
}
|
||||
|
||||
private static String literalToString(Literal l) {
|
||||
StringBuilder buffer = new StringBuilder();
|
||||
buffer.append('"').append(l.getLexicalForm()).append('"');
|
||||
if (l.getDatatypeURI() != null) {
|
||||
buffer.append("^^<").append(l.getDatatypeURI()).append(">");
|
||||
} else if (StringUtils.isNotEmpty(l.getLanguage())) {
|
||||
buffer.append("@").append(l.getLanguage());
|
||||
}
|
||||
return buffer.toString();
|
||||
StringWriterI sw = new StringWriterI();
|
||||
NodeFormatter fmt = new NodeFormatterTTL(null, null);
|
||||
fmt.formatLiteral(sw, l.asNode());
|
||||
return sw.toString();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -48,18 +48,17 @@ public class RdfLiteralHash {
|
|||
|
||||
if( stmt.getDatapropURI() == null || stmt.getDatapropURI().trim().length() == 0)
|
||||
throw new Error("Cannot make a hash for a statement with no predicate URI");
|
||||
|
||||
String language = "9876NONE";
|
||||
|
||||
String langOrDatatype = "9876NONE";
|
||||
if( stmt.getLanguage() != null && stmt.getLanguage().trim().length() > 0){
|
||||
language = stmt.getLanguage();
|
||||
}
|
||||
langOrDatatype = stmt.getLanguage();
|
||||
}else{
|
||||
if( stmt.getDatatypeURI() != null && stmt.getDatatypeURI().trim().length() > 0){
|
||||
langOrDatatype = stmt.getDatatypeURI();
|
||||
}
|
||||
}
|
||||
|
||||
String datatype = "9876NONE";
|
||||
if( stmt.getDatatypeURI() != null && stmt.getDatatypeURI().trim().length() > 0){
|
||||
datatype = stmt.getDatatypeURI();
|
||||
}
|
||||
|
||||
String hashMe = language + "_" + datatype + "_" + stmt.getIndividualURI() + "_" + stmt.getDatapropURI() + "_" + stmt.getData();
|
||||
String hashMe = langOrDatatype + "_" + stmt.getIndividualURI() + "_" + stmt.getDatapropURI() + "_" + stmt.getData();
|
||||
if( log.isDebugEnabled() )
|
||||
log.debug("got hash " + hashMe.hashCode() + " for String '" + hashMe + "'");
|
||||
return hashMe.hashCode();
|
||||
|
|
|
@ -1,182 +0,0 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.rdfservice.adapters;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Reader;
|
||||
import java.net.URL;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.jena.graph.GraphUtil;
|
||||
import org.apache.jena.graph.Triple;
|
||||
import org.apache.jena.rdf.model.Model;
|
||||
import org.apache.jena.rdf.model.ModelFactory;
|
||||
import org.apache.jena.rdf.model.Property;
|
||||
import org.apache.jena.rdf.model.RDFReaderF;
|
||||
import org.apache.jena.rdf.model.Resource;
|
||||
import org.apache.jena.rdf.model.Statement;
|
||||
import org.apache.jena.rdf.model.StmtIterator;
|
||||
import org.apache.jena.rdf.model.impl.RDFReaderFImpl;
|
||||
import org.apache.jena.rdf.model.impl.StatementImpl;
|
||||
import org.apache.jena.shared.WrappedIOException;
|
||||
import org.apache.jena.util.iterator.Map1;
|
||||
|
||||
/**
|
||||
* A model that still handles bulk updates in the old-fashioned way: with a
|
||||
* BulkUpdateHandler.
|
||||
*/
|
||||
public class BulkUpdatingModel extends AbstractModelDecorator {
|
||||
private static final RDFReaderF readerFactory = new RDFReaderFImpl();
|
||||
|
||||
public BulkUpdatingModel(Model inner) {
|
||||
super(inner);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model add(StmtIterator iter) {
|
||||
try {
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.add(this.getGraph(), asTriples(iter));
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
} finally {
|
||||
iter.close();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(String url) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader().read(m, url);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(Reader reader, String base) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader().read(m, reader, base);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(InputStream reader, String base) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader().read(m, reader, base);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(String url, String lang) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader(lang).read(m, url);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Model read(String url, String base, String lang) {
|
||||
try {
|
||||
InputStream is = new URL(url).openStream();
|
||||
try {
|
||||
read(is, base, lang);
|
||||
} finally {
|
||||
if (null != is) {
|
||||
is.close();
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new WrappedIOException(e);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(Reader reader, String base, String lang) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader(lang).read(m, reader, base);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(InputStream reader, String base, String lang) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader(lang).read(m, reader, base);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model remove(StmtIterator iter) {
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.delete(this.getGraph(), asTriples(iter));
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model add(Statement[] statements) {
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.add(this.getGraph(), StatementImpl.asTriples(statements));
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Model add(List<Statement> statements) {
|
||||
add(statements.toArray(new Statement[statements.size()]));
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model remove(Statement[] statements) {
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.delete(this.getGraph(), StatementImpl.asTriples(statements));
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Model remove(List<Statement> statements) {
|
||||
remove(statements.toArray(new Statement[statements.size()]));
|
||||
return this;
|
||||
}
|
||||
|
||||
private Iterator<Triple> asTriples(StmtIterator it) {
|
||||
return it.mapWith(mapAsTriple);
|
||||
}
|
||||
|
||||
private Map1<Statement, Triple> mapAsTriple = new Map1<Statement, Triple>() {
|
||||
@Override
|
||||
public Triple apply(Statement statement) {
|
||||
return statement.asTriple();
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,193 +0,0 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.rdfservice.adapters;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.Reader;
|
||||
import java.io.Writer;
|
||||
import java.net.URL;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.apache.jena.graph.Graph;
|
||||
import org.apache.jena.graph.GraphUtil;
|
||||
import org.apache.jena.graph.Triple;
|
||||
import org.apache.jena.graph.impl.GraphWithPerform;
|
||||
import org.apache.jena.ontology.OntModel;
|
||||
import org.apache.jena.rdf.model.Model;
|
||||
import org.apache.jena.rdf.model.ModelFactory;
|
||||
import org.apache.jena.rdf.model.Property;
|
||||
import org.apache.jena.rdf.model.RDFReaderF;
|
||||
import org.apache.jena.rdf.model.Resource;
|
||||
import org.apache.jena.rdf.model.Statement;
|
||||
import org.apache.jena.rdf.model.StmtIterator;
|
||||
import org.apache.jena.rdf.model.impl.RDFReaderFImpl;
|
||||
import org.apache.jena.rdf.model.impl.StatementImpl;
|
||||
import org.apache.jena.shared.WrappedIOException;
|
||||
import org.apache.jena.util.iterator.Map1;
|
||||
|
||||
/**
|
||||
* A model that still handles bulk updates in the old-fashioned way: with a
|
||||
* BulkUpdateHandler.
|
||||
*/
|
||||
public class BulkUpdatingOntModel extends AbstractOntModelDecorator {
|
||||
private static final Log log = LogFactory
|
||||
.getLog(BulkUpdatingOntModel.class);
|
||||
|
||||
private static final RDFReaderF readerFactory = new RDFReaderFImpl();
|
||||
|
||||
public BulkUpdatingOntModel(OntModel inner) {
|
||||
super(inner);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model add(StmtIterator iter) {
|
||||
try {
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.add(this.getGraph(), asTriples(iter));
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
} finally {
|
||||
iter.close();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(String url) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader().read(m, url);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(Reader reader, String base) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader().read(m, reader, base);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(InputStream reader, String base) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader().read(m, reader, base);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(String url, String lang) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader(lang).read(m, url);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Model read(String url, String base, String lang) {
|
||||
try {
|
||||
InputStream is = new URL(url).openStream();
|
||||
try {
|
||||
read(is, base, lang);
|
||||
} finally {
|
||||
if (null != is) {
|
||||
is.close();
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new WrappedIOException(e);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(Reader reader, String base, String lang) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader(lang).read(m, reader, base);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model read(InputStream reader, String base, String lang) {
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
readerFactory.getReader(lang).read(m, reader, base);
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.addInto(this.getGraph(), m.getGraph());
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model remove(StmtIterator iter) {
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.delete(this.getGraph(), asTriples(iter));
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model add(Statement[] statements) {
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.add(this.getGraph(), StatementImpl.asTriples(statements));
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Model add(List<Statement> statements) {
|
||||
add(statements.toArray(new Statement[statements.size()]));
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Model remove(Statement[] statements) {
|
||||
this.getGraph().getTransactionHandler().begin();
|
||||
GraphUtil.delete(this.getGraph(), StatementImpl.asTriples(statements));
|
||||
this.getGraph().getTransactionHandler().commit();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Model remove(List<Statement> statements) {
|
||||
remove(statements.toArray(new Statement[statements.size()]));
|
||||
return this;
|
||||
}
|
||||
|
||||
private Iterator<Triple> asTriples(StmtIterator it) {
|
||||
return it.mapWith(mapAsTriple);
|
||||
}
|
||||
|
||||
private Map1<Statement, Triple> mapAsTriple = new Map1<Statement, Triple>() {
|
||||
@Override
|
||||
public Triple apply(Statement statement) {
|
||||
return statement.asTriple();
|
||||
}
|
||||
};
|
||||
}
|
|
@ -35,7 +35,7 @@ public class VitroModelFactory {
|
|||
Graph graph = model.getGraph();
|
||||
Model bareModel = new ModelCom(graph);
|
||||
OntModel ontModel = new OntModelImpl(OWL_MEM, bareModel);
|
||||
return new BulkUpdatingOntModel(ontModel);
|
||||
return ontModel;
|
||||
}
|
||||
|
||||
public static Model createUnion(Model baseModel, Model plusModel) {
|
||||
|
@ -45,7 +45,7 @@ public class VitroModelFactory {
|
|||
plusGraph);
|
||||
|
||||
Model unionModel = ModelFactory.createModelForGraph(unionGraph);
|
||||
return new BulkUpdatingModel(unionModel);
|
||||
return unionModel;
|
||||
}
|
||||
|
||||
public static OntModel createUnion(OntModel baseModel, OntModel plusModel) {
|
||||
|
@ -57,11 +57,11 @@ public class VitroModelFactory {
|
|||
Model unionModel = ModelFactory.createModelForGraph(unionGraph);
|
||||
OntModel unionOntModel = ModelFactory.createOntologyModel(OWL_MEM,
|
||||
unionModel);
|
||||
return new BulkUpdatingOntModel(unionOntModel);
|
||||
return unionOntModel;
|
||||
}
|
||||
|
||||
public static Model createModelForGraph(Graph g) {
|
||||
return new BulkUpdatingModel(ModelFactory.createModelForGraph(g));
|
||||
return ModelFactory.createModelForGraph(g);
|
||||
}
|
||||
|
||||
private static class BulkUpdatingUnion extends Union {
|
||||
|
|
|
@ -9,6 +9,7 @@ import java.lang.reflect.InvocationTargetException;
|
|||
import java.lang.reflect.Method;
|
||||
|
||||
import org.apache.jena.datatypes.RDFDatatype;
|
||||
import org.apache.jena.datatypes.xsd.impl.RDFLangString;
|
||||
import org.apache.jena.rdf.model.Literal;
|
||||
import org.apache.jena.rdf.model.Property;
|
||||
import org.apache.jena.rdf.model.RDFNode;
|
||||
|
@ -68,7 +69,7 @@ public enum PropertyType {
|
|||
if (object.isLiteral()) {
|
||||
Literal literal = object.asLiteral();
|
||||
RDFDatatype datatype = literal.getDatatype();
|
||||
if (datatype == null || datatype.equals(XSDstring)) {
|
||||
if (datatype == null || datatype.equals(XSDstring) || datatype.equals(RDFLangString.rdfLangString)) {
|
||||
return STRING;
|
||||
}
|
||||
if (datatype.equals(XSDfloat)) {
|
||||
|
|
|
@ -244,8 +244,8 @@ public class VitroModelFactoryTest extends AbstractTestClass {
|
|||
public void addMultipleToVitroOntModel() {
|
||||
omg = new VitroOntModelGroup();
|
||||
omg.om.add(MULTIPLE_STATEMENTS);
|
||||
new MethodCalls().add(omg.g, "performAdd", "performAdd")
|
||||
.add(omg.l, "addedStatements")
|
||||
new MethodCalls().add(omg.g, "add", "add")
|
||||
.add(omg.l, "addedStatement", "addedStatement")
|
||||
.add(omg.ol, "addedStatements").test();
|
||||
}
|
||||
|
||||
|
@ -346,8 +346,8 @@ public class VitroModelFactoryTest extends AbstractTestClass {
|
|||
public void addMultipleToVitroUnion() {
|
||||
umg = new VitroUnionModelGroup();
|
||||
umg.m.add(MULTIPLE_STATEMENTS);
|
||||
new MethodCalls().add(umg.base.g, "performAdd", "performAdd")
|
||||
.add(umg.base.l, "addedStatements")
|
||||
new MethodCalls().add(umg.base.g, "add", "add")
|
||||
.add(umg.base.l, "addedStatement", "addedStatement")
|
||||
.add(umg.plus.g).add(umg.plus.l)
|
||||
.add(umg.l, "addedStatements").test();
|
||||
}
|
||||
|
@ -452,8 +452,8 @@ public class VitroModelFactoryTest extends AbstractTestClass {
|
|||
public void addMultipleToVitroOntUnion() {
|
||||
uomg = new VitroUnionOntModelGroup();
|
||||
uomg.om.add(MULTIPLE_STATEMENTS);
|
||||
new MethodCalls().add(uomg.base.g, "performAdd", "performAdd")
|
||||
.add(uomg.base.l, "addedStatements")
|
||||
new MethodCalls().add(uomg.base.g, "add", "add")
|
||||
.add(uomg.base.l, "addedStatement", "addedStatement")
|
||||
.add(uomg.plus.g).add(uomg.plus.l)
|
||||
.add(uomg.l, "addedStatements").test();
|
||||
}
|
||||
|
@ -567,9 +567,9 @@ public class VitroModelFactoryTest extends AbstractTestClass {
|
|||
omumg = new VitroOntModelUnionModelGroup();
|
||||
omumg.om.add(MULTIPLE_STATEMENTS);
|
||||
new MethodCalls().add(omumg.om, "add").add(omumg.ol, "addedStatements")
|
||||
.add(omumg.union.base.g, "performAdd", "performAdd")
|
||||
.add(omumg.union.base.g, "add", "add")
|
||||
.add(omumg.union.base.m)
|
||||
.add(omumg.union.base.l, "addedStatements")
|
||||
.add(omumg.union.base.l, "addedStatement", "addedStatement")
|
||||
.add(omumg.union.plus.g)
|
||||
.add(omumg.union.plus.m).add(omumg.union.plus.l).test();
|
||||
}
|
||||
|
|
12
dependencies/pom.xml
vendored
12
dependencies/pom.xml
vendored
|
@ -65,18 +65,6 @@
|
|||
|
||||
|
||||
|
||||
<dependency>
|
||||
<!-- 0.3 requires code changes -->
|
||||
<groupId>com.github.jsonld-java</groupId>
|
||||
<artifactId>jsonld-java</artifactId>
|
||||
<version>0.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- 0.3 requires code changes -->
|
||||
<groupId>com.github.jsonld-java</groupId>
|
||||
<artifactId>jsonld-java-jena</artifactId>
|
||||
<version>0.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j</artifactId>
|
||||
|
|
Loading…
Add table
Reference in a new issue