Class RdfMapperEngineImpl

java.lang.Object
org.aksw.jena_sparql_api.mapper.impl.engine.RdfMapperEngineImpl
All Implemented Interfaces:
RdfMapperEngineBatched

public class RdfMapperEngineImpl extends Object implements RdfMapperEngineBatched
  • Field Details

    • prologue

      protected org.apache.jena.sparql.core.Prologue prologue
    • sparqlService

      protected org.aksw.jenax.connectionless.SparqlService sparqlService
    • typeFactory

      protected RdfTypeFactory typeFactory
    • originalState

      protected Map<EntityId,EntityState> 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

      protected TypeDecider typeDecider
  • Constructor Details

    • RdfMapperEngineImpl

      public RdfMapperEngineImpl(org.aksw.jenax.connectionless.SparqlService sparqlService)
    • RdfMapperEngineImpl

      public RdfMapperEngineImpl(org.aksw.jenax.connectionless.SparqlService sparqlService, org.apache.jena.sparql.core.Prologue prologue)
    • RdfMapperEngineImpl

      public RdfMapperEngineImpl(org.aksw.jenax.connectionless.SparqlService sparqlService, RdfTypeFactory typeFactory)
    • RdfMapperEngineImpl

      public RdfMapperEngineImpl(org.aksw.jenax.connectionless.SparqlService sparqlService, RdfTypeFactory typeFactory, org.apache.jena.sparql.core.Prologue prologue)
    • RdfMapperEngineImpl

      public RdfMapperEngineImpl(org.aksw.jenax.connectionless.SparqlService sparqlService, RdfTypeFactory typeFactory, org.apache.jena.sparql.core.Prologue prologue, RdfPersistenceContext persistenceContext)
  • Method Details

    • getSparqlService

      public org.aksw.jenax.connectionless.SparqlService getSparqlService()
      Specified by:
      getSparqlService in interface RdfMapperEngineBatched
    • getTypeDecider

      public TypeDecider getTypeDecider()
      Specified by:
      getTypeDecider in interface RdfMapperEngineBatched
    • getTypeFactory

      public RdfTypeFactory getTypeFactory()
    • getPrologue

      public org.apache.jena.sparql.core.Prologue getPrologue()
      Specified by:
      getPrologue in interface RdfMapperEngineBatched
    • getLookupService

      public <T> org.aksw.commons.rx.lookup.LookupService<org.apache.jena.graph.Node,T> getLookupService(Class<T> clazz)
    • getIri

      public String getIri(Object entity)
      TODO Currently this method has linear complexity - optimize using an index!
      Specified by:
      getIri in interface RdfMapperEngineBatched
    • list

      public <T> List<T> list(Class<T> clazz, org.aksw.jenax.sparql.fragment.impl.Concept filterConcept)
      Specified by:
      list in interface RdfMapperEngineBatched
    • find

      public <T> Map<org.apache.jena.graph.Node,T> find(Class<T> clazz, Collection<org.apache.jena.graph.Node> nodes)
      Specified by:
      find in interface RdfMapperEngineBatched
    • fetch

      public static Map<org.apache.jena.graph.Node,org.apache.jena.rdf.model.RDFNode> fetch(org.apache.jena.sparql.core.Prologue prologue, org.aksw.jenax.connectionless.SparqlService sparqlService, ShapeExposable shapeSupplier, Collection<org.apache.jena.graph.Node> nodes)
    • find

      public <T> T find(Class<T> clazz, org.apache.jena.graph.Node node)
      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:
      merge in interface RdfMapperEngineBatched
    • find

      public Object find(EntityId entityId)
    • remove

      public void remove(Object entity)
      Specified by:
      remove in interface RdfMapperEngineBatched
    • remove

      public void remove(org.apache.jena.graph.Node node, Class<?> clazz)
      Remove triples of a resource according to the given class's rdfType
      Specified by:
      remove in interface RdfMapperEngineBatched
      Parameters:
      node -
      clazz -
    • loadEntity

      public EntityState loadEntity(Class<?> clazz, org.apache.jena.graph.Node node)
    • 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:
      merge in interface RdfMapperEngineBatched
    • merge

      public <T> T merge(T srcEntity, org.apache.jena.graph.Node node, Class<?> entityClass)
    • merge

      public EntityId merge(Object srcEntity, org.apache.jena.graph.Node node, Class<?> entityClass, RdfType rdfClass)
    • commit

      public void commit()
    • getRdfTypeFactory

      public RdfTypeFactory getRdfTypeFactory()
      Specified by:
      getRdfTypeFactory in interface RdfMapperEngineBatched
    • createResolver

      public PathResolver createResolver(Class<?> javaClass)
      Description copied from interface: RdfMapperEngineBatched
      Creates a path resolver starting from the given entityClass. The rootVar
      Specified by:
      createResolver in interface RdfMapperEngineBatched
      Returns: