Class RdfMapperEngineImpl
java.lang.Object
org.aksw.jena_sparql_api.mapper.impl.engine.RdfMapperEngineImpl
- All Implemented Interfaces:
RdfMapperEngineBatched
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<EntityId,EntityState> Used for non-default conversions between java objects and rdf nodes E.g.protected org.apache.jena.sparql.core.Prologueprotected SparqlServiceprotected TypeDeciderprotected RdfTypeFactory -
Constructor Summary
ConstructorsConstructorDescriptionRdfMapperEngineImpl(SparqlService sparqlService) RdfMapperEngineImpl(SparqlService sparqlService, RdfTypeFactory typeFactory) RdfMapperEngineImpl(SparqlService sparqlService, RdfTypeFactory typeFactory, org.apache.jena.sparql.core.Prologue prologue) RdfMapperEngineImpl(SparqlService sparqlService, RdfTypeFactory typeFactory, org.apache.jena.sparql.core.Prologue prologue, RdfPersistenceContext persistenceContext) RdfMapperEngineImpl(SparqlService sparqlService, org.apache.jena.sparql.core.Prologue prologue) -
Method Summary
Modifier and TypeMethodDescriptionvoidcommit()static org.apache.jena.rdf.model.RDFNodecopy(org.apache.jena.rdf.model.RDFNode source) createResolver(Class<?> javaClass) Creates a path resolver starting from the given entityClass.static Map<org.apache.jena.graph.Node,org.apache.jena.rdf.model.RDFNode> fetch(org.apache.jena.sparql.core.Prologue prologue, SparqlService sparqlService, ShapeExposable shapeSupplier, Collection<org.apache.jena.graph.Node> nodes) <T> Map<org.apache.jena.graph.Node,T> find(Class<T> clazz, Collection<org.apache.jena.graph.Node> nodes) <T> TPerform a lookup in the persistence context for an entity with id 'node' of type 'clazz'.TODO Currently this method has linear complexity - optimize using an index!<T> org.aksw.commons.rx.lookup.LookupService<org.apache.jena.graph.Node,T> getLookupService(Class<T> clazz) org.apache.jena.sparql.core.Prologue<T> List<T>Map<org.apache.jena.graph.Node,EntityState> loadEntities(Class<?> clazz, Collection<org.apache.jena.graph.Node> nodes) loadEntity(Class<?> clazz, org.apache.jena.graph.Node node) <T> Tmerge(T tmpEntity) <T> Tmerge(T srcEntity, org.apache.jena.graph.Node node) From the given entity: - use its Java Type and the node as an ID (view the node as carrying information about how to populate an instance of the given Java type) - associate the ID with the graph - if the triples have not been loaded yet, do so now - associate the ID with an entity - Write a given entity as RDF starting with the given node.<T> TvoidvoidRemove triples of a resource according to the given class's rdfType
-
Field Details
-
prologue
protected org.apache.jena.sparql.core.Prologue prologue -
sparqlService
-
typeFactory
-
originalState
Used for non-default conversions between java objects and rdf nodes E.g. for mapping java integer to xsd:gYear and vice versa -
typeDecider
-
-
Constructor Details
-
RdfMapperEngineImpl
-
RdfMapperEngineImpl
public RdfMapperEngineImpl(SparqlService sparqlService, org.apache.jena.sparql.core.Prologue prologue) -
RdfMapperEngineImpl
-
RdfMapperEngineImpl
public RdfMapperEngineImpl(SparqlService sparqlService, RdfTypeFactory typeFactory, org.apache.jena.sparql.core.Prologue prologue) -
RdfMapperEngineImpl
public RdfMapperEngineImpl(SparqlService sparqlService, RdfTypeFactory typeFactory, org.apache.jena.sparql.core.Prologue prologue, RdfPersistenceContext persistenceContext)
-
-
Method Details
-
getSparqlService
- Specified by:
getSparqlServicein interfaceRdfMapperEngineBatched
-
getTypeDecider
- Specified by:
getTypeDeciderin interfaceRdfMapperEngineBatched
-
getTypeFactory
-
getPrologue
public org.apache.jena.sparql.core.Prologue getPrologue()- Specified by:
getProloguein interfaceRdfMapperEngineBatched
-
getLookupService
public <T> org.aksw.commons.rx.lookup.LookupService<org.apache.jena.graph.Node,T> getLookupService(Class<T> clazz) -
getIri
TODO Currently this method has linear complexity - optimize using an index!- Specified by:
getIriin interfaceRdfMapperEngineBatched
-
list
- Specified by:
listin interfaceRdfMapperEngineBatched
-
find
public <T> Map<org.apache.jena.graph.Node,T> find(Class<T> clazz, Collection<org.apache.jena.graph.Node> nodes) - Specified by:
findin interfaceRdfMapperEngineBatched
-
fetch
public static Map<org.apache.jena.graph.Node,org.apache.jena.rdf.model.RDFNode> fetch(org.apache.jena.sparql.core.Prologue prologue, SparqlService sparqlService, ShapeExposable shapeSupplier, Collection<org.apache.jena.graph.Node> nodes) -
find
Perform a lookup in the persistence context for an entity with id 'node' of type 'clazz'. If no such entity exists, use clazz's corresponding rdfType to fetch triples and instanciate and populate an entity. Will load corresponding triples from the underlying store -
copy
public static org.apache.jena.rdf.model.RDFNode copy(org.apache.jena.rdf.model.RDFNode source) -
loadEntities
public Map<org.apache.jena.graph.Node,EntityState> loadEntities(Class<?> clazz, Collection<org.apache.jena.graph.Node> nodes) -
merge
public <T> T merge(T tmpEntity) - Specified by:
mergein interfaceRdfMapperEngineBatched
-
find
-
remove
- Specified by:
removein interfaceRdfMapperEngineBatched
-
remove
Remove triples of a resource according to the given class's rdfType- Specified by:
removein interfaceRdfMapperEngineBatched- Parameters:
node-clazz-
-
loadEntity
-
merge
public <T> T merge(T srcEntity, org.apache.jena.graph.Node node) From the given entity: - use its Java Type and the node as an ID (view the node as carrying information about how to populate an instance of the given Java type) - associate the ID with the graph - if the triples have not been loaded yet, do so now - associate the ID with an entity - Write a given entity as RDF starting with the given node. This will retrieve all triples related triples of the node, perform a diff with the current state.- Specified by:
mergein interfaceRdfMapperEngineBatched
-
merge
-
merge
-
commit
public void commit() -
getRdfTypeFactory
- Specified by:
getRdfTypeFactoryin interfaceRdfMapperEngineBatched
-
createResolver
Description copied from interface:RdfMapperEngineBatchedCreates a path resolver starting from the given entityClass. The rootVar- Specified by:
createResolverin interfaceRdfMapperEngineBatched- Returns:
-