Class LoggingRDFService
- java.lang.Object
-
- edu.cornell.mannlib.vitro.webapp.rdfservice.impl.logging.LoggingRDFService
-
- All Implemented Interfaces:
RDFService
public class LoggingRDFService extends Object implements RDFService
This RDFService wrapper adds instrumentation to the time-consuming methods of the inner RDFService. For the other methods, it just delegates to the inner RDFService.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService
RDFService.ModelSerializationFormat, RDFService.ResultFormat, RDFService.SPARQLQueryType
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanchangeSetUpdate(ChangeSet changeSet)Performs a series of additions to and or removals from specified graphs in the RDF store.voidclose()Frees any resources held by this RDFService object The implementation of this method should be idempotent so that multiple invocations do not cause an error.longcountTriples(org.apache.jena.rdf.model.RDFNode subject, org.apache.jena.rdf.model.RDFNode predicate, org.apache.jena.rdf.model.RDFNode object)StringgetDefaultWriteGraphURI()Returns the URI of the default write graphvoidgetGraphMetadata()To be determined.List<String>getGraphURIs()Returns a list of all the graph URIs in the RDF store.org.apache.jena.rdf.model.ModelgetTriples(org.apache.jena.rdf.model.RDFNode subject, org.apache.jena.rdf.model.RDFNode predicate, org.apache.jena.rdf.model.RDFNode object, long limit, long offset)VitroRequestgetVitroRequest()booleanisEquivalentGraph(String graphURI, InputStream serializedGraph, RDFService.ModelSerializationFormat serializationFormat)Tests to see whether the supplied serialization is equivalent to the named graph, as it exists in the store.booleanisEquivalentGraph(String graphURI, org.apache.jena.rdf.model.Model graph)Tests to see whether the supplied serialization is equivalent to the named graph, as it exists in the store.ChangeSetmanufactureChangeSet()Creates a ChangeSet objectvoidnewIndividual(String individualURI, String individualTypeURI)If the given individual already exists in the default write graph, throws an RDFServiceException, otherwise adds one type assertion to the default write graph.voidnewIndividual(String individualURI, String individualTypeURI, String graphURI)If the given individual already exists in the given graph, throws an RDFServiceException, otherwise adds one type assertion to the given graph.booleanpreferPreciseOptionals()voidregisterJenaModelChangedListener(org.apache.jena.rdf.model.ModelChangedListener changeListener)Registers a Jena listener to listen to changes in any graph in the RDF store.voidregisterListener(ChangeListener changeListener)Registers a listener to listen to changes in any graph in the RDF store.voidserializeAll(OutputStream outputStream)Serializes the union of all named and unnamed graphs in the store to the supplied OutputStream, in N-Quads format.voidserializeGraph(String graphURI, OutputStream outputStream)Serializes the contents of the named graph to the supplied OutputStream, in N-Triples format.voidsetVitroRequest(VitroRequest vitroRequest)UQAM-Bug-Correction Useful among other things to transport the linguistic context in the servicebooleansparqlAskQuery(String query)Performs a SPARQL ASK query against the knowledge base.InputStreamsparqlConstructQuery(String query, RDFService.ModelSerializationFormat resultFormat)Performs a SPARQL construct query against the knowledge base.voidsparqlConstructQuery(String query, org.apache.jena.rdf.model.Model model)Performs a SPARQL construct query against the knowledge base.InputStreamsparqlDescribeQuery(String query, RDFService.ModelSerializationFormat resultFormat)Performs a SPARQL describe query against the knowledge base.InputStreamsparqlSelectQuery(String query, RDFService.ResultFormat resultFormat)Performs a SPARQL select query against the knowledge base.voidsparqlSelectQuery(String query, ResultSetConsumer consumer)Performs a SPARQL select query against the knowledge base.StringtoString()voidunregisterJenaModelChangedListener(org.apache.jena.rdf.model.ModelChangedListener changeListener)Unregisters a Jena listener from listening to changes in any graph in the RDF storevoidunregisterListener(ChangeListener changeListener)Unregisters a listener from listening to changes in any graph in the RDF store
-
-
-
Method Detail
-
changeSetUpdate
public boolean changeSetUpdate(ChangeSet changeSet) throws RDFServiceException
Description copied from interface:RDFServicePerforms a series of additions to and or removals from specified graphs in the RDF store. preConditionSparql is executed against the union of all the graphs in the knowledge base before any updates are made. If the precondition query returns a non-empty result, no updates are made made.- Specified by:
changeSetUpdatein interfaceRDFService- Parameters:
changeSet- - a set of changes to be performed on the RDF store.- Returns:
- boolean - indicates whether the precondition was satisfied
- Throws:
RDFServiceException
-
sparqlConstructQuery
public InputStream sparqlConstructQuery(String query, RDFService.ModelSerializationFormat resultFormat) throws RDFServiceException
Description copied from interface:RDFServicePerforms a SPARQL construct query against the knowledge base. The query may have an embedded graph identifier. If the query does not contain a graph identifier the query is executed against the union of all named and unnamed graphs in the store.- Specified by:
sparqlConstructQueryin interfaceRDFService- Parameters:
query- - the SPARQL query to be executed against the RDF storeresultFormat- - type of serialization for RDF result of the SPARQL query- Returns:
- InputStream - the result of the query
- Throws:
RDFServiceException
-
sparqlConstructQuery
public void sparqlConstructQuery(String query, org.apache.jena.rdf.model.Model model) throws RDFServiceException
Description copied from interface:RDFServicePerforms a SPARQL construct query against the knowledge base. The query may have an embedded graph identifier. If the query does not contain a graph identifier the query is executed against the union of all named and unnamed graphs in the store.- Specified by:
sparqlConstructQueryin interfaceRDFService- Parameters:
query- - the SPARQL query to be executed against the RDF storemodel- - the Model to add the statements to- Throws:
RDFServiceException
-
sparqlDescribeQuery
public InputStream sparqlDescribeQuery(String query, RDFService.ModelSerializationFormat resultFormat) throws RDFServiceException
Description copied from interface:RDFServicePerforms a SPARQL describe query against the knowledge base. The query may have an embedded graph identifier. If the query does not contain a graph identifier the query is executed against the union of all named and unnamed graphs in the store.- Specified by:
sparqlDescribeQueryin interfaceRDFService- Parameters:
query- - the SPARQL query to be executed against the RDF storeresultFormat- - type of serialization for RDF result of the SPARQL query- Returns:
- InputStream - the result of the query
- Throws:
RDFServiceException
-
sparqlSelectQuery
public InputStream sparqlSelectQuery(String query, RDFService.ResultFormat resultFormat) throws RDFServiceException
Description copied from interface:RDFServicePerforms a SPARQL select query against the knowledge base. The query may have an embedded graph identifier. If the query does not contain a graph identifier the query is executed against the union of all named and unnamed graphs in the store.- Specified by:
sparqlSelectQueryin interfaceRDFService- Parameters:
query- - the SPARQL query to be executed against the RDF storeresultFormat- - format for the result of the Select query- Returns:
- InputStream - the result of the query
- Throws:
RDFServiceException
-
sparqlSelectQuery
public void sparqlSelectQuery(String query, ResultSetConsumer consumer) throws RDFServiceException
Description copied from interface:RDFServicePerforms a SPARQL select query against the knowledge base. The query may have an embedded graph identifier. If the query does not contain a graph identifier the query is executed against the union of all named and unnamed graphs in the store.- Specified by:
sparqlSelectQueryin interfaceRDFService- Parameters:
query- - the SPARQL query to be executed against the RDF storeconsumer- - the class to consume the results of the query- Throws:
RDFServiceException
-
sparqlAskQuery
public boolean sparqlAskQuery(String query) throws RDFServiceException
Description copied from interface:RDFServicePerforms a SPARQL ASK query against the knowledge base. The query may have an embedded graph identifier. If the query does not contain a graph identifier the query is executed against the union of all named and unnamed graphs in the store.- Specified by:
sparqlAskQueryin interfaceRDFService- Parameters:
query- - the SPARQL ASK query to be executed against the RDF store- Returns:
- boolean - the result of the SPARQL ASK query
- Throws:
RDFServiceException
-
serializeAll
public void serializeAll(OutputStream outputStream) throws RDFServiceException
Description copied from interface:RDFServiceSerializes the union of all named and unnamed graphs in the store to the supplied OutputStream, in N-Quads format. This method is designed for exporting data from VIVO, so any filters should be bypassed. If possible, this should be done without buffering in memory, so arbitrarily large graphs can be exported.- Specified by:
serializeAllin interfaceRDFService- Parameters:
outputStream- - receives the serialized result.- Throws:
RDFServiceException
-
serializeGraph
public void serializeGraph(String graphURI, OutputStream outputStream) throws RDFServiceException
Description copied from interface:RDFServiceSerializes the contents of the named graph to the supplied OutputStream, in N-Triples format. This method is designed for exporting data from VIVO, so any filters should be bypassed. If possible, this should be done without buffering in memory, so arbitrarily large graphs can be exported.- Specified by:
serializeGraphin interfaceRDFService- Parameters:
graphURI- - the URI of the desired graph. May not be null.outputStream- - receives the serialized result.- Throws:
RDFServiceException
-
isEquivalentGraph
public boolean isEquivalentGraph(String graphURI, InputStream serializedGraph, RDFService.ModelSerializationFormat serializationFormat) throws RDFServiceException
Description copied from interface:RDFServiceTests to see whether the supplied serialization is equivalent to the named graph, as it exists in the store. Equivalence means that if this serialization were written to the store, the resulting graph would be isomorphic to the existing named graph.- Specified by:
isEquivalentGraphin interfaceRDFService- Parameters:
graphURI- - the URI of the graph to test against. May not be null.serializedGraph- - the contents to be compared with the existing graph. May not be null.serializationFormat- - May not be null.- Throws:
RDFServiceException
-
isEquivalentGraph
public boolean isEquivalentGraph(String graphURI, org.apache.jena.rdf.model.Model graph) throws RDFServiceException
Description copied from interface:RDFServiceTests to see whether the supplied serialization is equivalent to the named graph, as it exists in the store. Equivalence means that if this serialization were written to the store, the resulting graph would be isomorphic to the existing named graph.- Specified by:
isEquivalentGraphin interfaceRDFService- Parameters:
graphURI- - the URI of the graph to test against. May not be null.graph- - the contents to be compared with the existing graph. May not be null.- Throws:
RDFServiceException
-
newIndividual
public void newIndividual(String individualURI, String individualTypeURI) throws RDFServiceException
Description copied from interface:RDFServiceIf the given individual already exists in the default write graph, throws an RDFServiceException, otherwise adds one type assertion to the default write graph.- Specified by:
newIndividualin interfaceRDFService- Parameters:
individualURI- - URI of the individual to be addedindividualTypeURI- - URI of the type for the individual- Throws:
RDFServiceException
-
newIndividual
public void newIndividual(String individualURI, String individualTypeURI, String graphURI) throws RDFServiceException
Description copied from interface:RDFServiceIf the given individual already exists in the given graph, throws an RDFServiceException, otherwise adds one type assertion to the given graph.- Specified by:
newIndividualin interfaceRDFService- Parameters:
individualURI- - URI of the individual to be addedindividualTypeURI- - URI of the type for the individualgraphURI- - URI of the graph to which to add the individual- Throws:
RDFServiceException
-
getGraphURIs
public List<String> getGraphURIs() throws RDFServiceException
Description copied from interface:RDFServiceReturns a list of all the graph URIs in the RDF store.- Specified by:
getGraphURIsin interfaceRDFService- Returns:
- list of all the named graph URIs in the RDF store. Return an empty list of there no named graphs in the store.
- Throws:
RDFServiceException
-
getGraphMetadata
public void getGraphMetadata() throws RDFServiceExceptionDescription copied from interface:RDFServiceTo be determined. This is a place holder and is not implemented in current implementations.- Specified by:
getGraphMetadatain interfaceRDFService- Throws:
RDFServiceException
-
getDefaultWriteGraphURI
public String getDefaultWriteGraphURI() throws RDFServiceException
Description copied from interface:RDFServiceReturns the URI of the default write graph- Specified by:
getDefaultWriteGraphURIin interfaceRDFService- Returns:
- String URI of default write graph. Returns null if no default write graph has been set.
- Throws:
RDFServiceException
-
registerListener
public void registerListener(ChangeListener changeListener) throws RDFServiceException
Description copied from interface:RDFServiceRegisters a listener to listen to changes in any graph in the RDF store.- Specified by:
registerListenerin interfaceRDFService- Parameters:
changeListener- - the change listener- Throws:
RDFServiceException
-
unregisterListener
public void unregisterListener(ChangeListener changeListener) throws RDFServiceException
Description copied from interface:RDFServiceUnregisters a listener from listening to changes in any graph in the RDF store- Specified by:
unregisterListenerin interfaceRDFService- Parameters:
changeListener- - the change listener- Throws:
RDFServiceException
-
registerJenaModelChangedListener
public void registerJenaModelChangedListener(org.apache.jena.rdf.model.ModelChangedListener changeListener) throws RDFServiceExceptionDescription copied from interface:RDFServiceRegisters a Jena listener to listen to changes in any graph in the RDF store.- Specified by:
registerJenaModelChangedListenerin interfaceRDFService- Parameters:
changeListener- - the change listener- Throws:
RDFServiceException
-
unregisterJenaModelChangedListener
public void unregisterJenaModelChangedListener(org.apache.jena.rdf.model.ModelChangedListener changeListener) throws RDFServiceExceptionDescription copied from interface:RDFServiceUnregisters a Jena listener from listening to changes in any graph in the RDF store- Specified by:
unregisterJenaModelChangedListenerin interfaceRDFService- Parameters:
changeListener- - the change listener- Throws:
RDFServiceException
-
manufactureChangeSet
public ChangeSet manufactureChangeSet()
Description copied from interface:RDFServiceCreates a ChangeSet object- Specified by:
manufactureChangeSetin interfaceRDFService- Returns:
- ChangeSet an empty ChangeSet object
-
countTriples
public long countTriples(org.apache.jena.rdf.model.RDFNode subject, org.apache.jena.rdf.model.RDFNode predicate, org.apache.jena.rdf.model.RDFNode object) throws RDFServiceException- Specified by:
countTriplesin interfaceRDFService- Throws:
RDFServiceException
-
getTriples
public org.apache.jena.rdf.model.Model getTriples(org.apache.jena.rdf.model.RDFNode subject, org.apache.jena.rdf.model.RDFNode predicate, org.apache.jena.rdf.model.RDFNode object, long limit, long offset) throws RDFServiceException- Specified by:
getTriplesin interfaceRDFService- Throws:
RDFServiceException
-
preferPreciseOptionals
public boolean preferPreciseOptionals()
- Specified by:
preferPreciseOptionalsin interfaceRDFService
-
close
public void close()
Description copied from interface:RDFServiceFrees any resources held by this RDFService object The implementation of this method should be idempotent so that multiple invocations do not cause an error.- Specified by:
closein interfaceRDFService
-
setVitroRequest
public void setVitroRequest(VitroRequest vitroRequest)
Description copied from interface:RDFServiceUQAM-Bug-Correction Useful among other things to transport the linguistic context in the service- Specified by:
setVitroRequestin interfaceRDFService
-
getVitroRequest
public VitroRequest getVitroRequest()
- Specified by:
getVitroRequestin interfaceRDFService
-
-