Class TriplesMapProcessorR2rml

java.lang.Object
org.aksw.r2rml.jena.arq.impl.TriplesMapProcessorR2rml

public class TriplesMapProcessorR2rml extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
     
    protected MappingCxt
    The context for *this* triple maps.
    static final org.apache.jena.rdf.model.Property
    Somewhat custom extension of R2RML which lacks the feature to use a column as a source for language tags.
    protected org.apache.jena.sparql.core.VarAlloc
    VarAlloc for generating variables that represent the set of records of a logical source
    protected org.aksw.rmltk.model.backbone.common.ITriplesMap
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    TriplesMapProcessorR2rml(org.aksw.rmltk.model.backbone.common.ITriplesMap triplesMap, String baseIri)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.jena.graph.Node
    allocateVar(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm, org.apache.jena.rdf.model.Resource fallbackTermType)
    Allocates a variable for a given term map.
    protected org.apache.jena.graph.Node
    allocateVarForExpr(MappingCxt cxt, org.apache.jena.sparql.expr.Expr expr)
     
    protected org.apache.jena.graph.Node
    allocateVarTracked(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm, org.apache.jena.rdf.model.Resource fallbackTermType)
    Calls
    invalid reference
    invalid input: 'and tracks the result in the #termMapToVar
     If a variable maps to a constant expression then no entry is made to nodeToExpr.'
     
    protected org.apache.jena.sparql.core.Quad
    createQuad(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
     
    protected org.apache.jena.sparql.expr.Expr
    getDatatypeExpr(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm)
     
    protected String
    getLanguageColumn(org.aksw.rmltk.model.backbone.common.ITermMap tm)
     
    protected Object
    getSourceIdentity(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITriplesMap tm)
     
    void
     
    protected boolean
    isDefaultGraph(org.apache.jena.graph.Node g)
    Return an object that represents the identity of a triplesmaps' source.
    protected void
    processRefObjectMap(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.aksw.rmltk.model.backbone.common.IRefObjectMap rom)
     
    protected final org.apache.jena.sparql.expr.Expr
    Extension point for resolving RML references.
    protected org.apache.jena.sparql.expr.Expr
    resolveColumnLikeTermMap(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm, org.apache.jena.rdf.model.Resource fallbackTermType)
    Column like term maps include RML references and custom function invocations.
    protected org.apache.jena.sparql.expr.Expr
    resolveColumnReferences(MappingCxt cxt, org.apache.jena.sparql.expr.Expr columnExpr)
    Transform references from rr:template or rr:column or rr:langColumn
    static org.apache.jena.sparql.expr.Expr
     
    protected org.apache.jena.sparql.expr.Expr
    termMapToExpr(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm, org.apache.jena.rdf.model.Resource fallbackTermType)
    Convert a term map into a corresponding SPARQL expression

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • languageColumn

      public static final org.apache.jena.rdf.model.Property languageColumn
      Somewhat custom extension of R2RML which lacks the feature to use a column as a source for language tags. This constant is not part of the standard R2RML terms but it is supported by this processor. A property for this will become part of the new RML spec ~ 2023-06-07
    • triplesMap

      protected org.aksw.rmltk.model.backbone.common.ITriplesMap triplesMap
    • baseIri

      protected String baseIri
    • sourceVarGen

      protected org.apache.jena.sparql.core.VarAlloc sourceVarGen
      VarAlloc for generating variables that represent the set of records of a logical source
    • childCxt

      protected MappingCxt childCxt
      The context for *this* triple maps. Parent contexts are created when there are joins.
  • Constructor Details

    • TriplesMapProcessorR2rml

      public TriplesMapProcessorR2rml(org.aksw.rmltk.model.backbone.common.ITriplesMap triplesMap, String baseIri)
  • Method Details

    • resolveR2rmlReference

      public static org.apache.jena.sparql.expr.Expr resolveR2rmlReference(String colName)
    • initResolvers

      public void initResolvers(MappingCxt cxt)
    • call

      Parameters:
      processPoms - Whether to process predicate object maps. If false then only the subject map will be processed which is useful to process the parent side of a join.
      Returns:
    • allocateVarTracked

      protected org.apache.jena.graph.Node allocateVarTracked(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm, org.apache.jena.rdf.model.Resource fallbackTermType)
      Calls
      invalid reference
      invalid input: 'and tracks the result in the #termMapToVar
       If a variable maps to a constant expression then no entry is made to nodeToExpr.'
    • allocateVar

      protected org.apache.jena.graph.Node allocateVar(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm, org.apache.jena.rdf.model.Resource fallbackTermType)
      Allocates a variable for a given term map.
    • allocateVarForExpr

      protected org.apache.jena.graph.Node allocateVarForExpr(MappingCxt cxt, org.apache.jena.sparql.expr.Expr expr)
    • getLanguageColumn

      protected String getLanguageColumn(org.aksw.rmltk.model.backbone.common.ITermMap tm)
    • getDatatypeExpr

      protected org.apache.jena.sparql.expr.Expr getDatatypeExpr(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm)
    • termMapToExpr

      protected org.apache.jena.sparql.expr.Expr termMapToExpr(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm, org.apache.jena.rdf.model.Resource fallbackTermType)
      Convert a term map into a corresponding SPARQL expression
      Parameters:
      tm -
      Returns:
    • resolveColumnReferences

      protected org.apache.jena.sparql.expr.Expr resolveColumnReferences(MappingCxt cxt, org.apache.jena.sparql.expr.Expr columnExpr)
      Transform references from rr:template or rr:column or rr:langColumn
    • resolveColumnLikeTermMap

      protected org.apache.jena.sparql.expr.Expr resolveColumnLikeTermMap(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITermMap tm, org.apache.jena.rdf.model.Resource fallbackTermType)
      Column like term maps include RML references and custom function invocations. Override this method for RML termMap and references
    • processRefObjectMap

      protected void processRefObjectMap(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.aksw.rmltk.model.backbone.common.IRefObjectMap rom)
    • isDefaultGraph

      protected boolean isDefaultGraph(org.apache.jena.graph.Node g)
      Return an object that represents the identity of a triplesmaps' source. Used for self-join elimination. By default the triples map is returned as representing it's source. This way however misses optimization oppor, two triples maps with the same logical source will
    • createQuad

      protected org.apache.jena.sparql.core.Quad createQuad(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
    • referenceToExpr

      protected final org.apache.jena.sparql.expr.Expr referenceToExpr(MappingCxt cxt, String colName)
      Extension point for resolving RML references. The R2RML processor ignores the source. Important: The returned expression should not be factorized against the cxt's dag. The processor will take care of that.
      Parameters:
      colName - A column name or more generally a reference expression string.
      source - A variable that is bound to the source records and thus represents the source.
      Returns:
    • getSourceIdentity

      protected Object getSourceIdentity(MappingCxt cxt, org.aksw.rmltk.model.backbone.common.ITriplesMap tm)