Class RdfFieldForSubGraph

java.lang.Object
org.aksw.jena_sparql_api.collection.observable.RdfFieldForSubGraph
All Implemented Interfaces:
RdfField

public class RdfFieldForSubGraph extends Object implements RdfField
An observable field over the subgraph formed by the triples of another graph matching the given DirectedFilteredTriplePattern.
Author:
raven
  • Field Details

    • graph

      protected GraphChange graph
    • dftp

      protected org.aksw.jenax.arq.util.triple.TripleFilter dftp
    • isDeleted

      protected boolean isDeleted
    • isIntensional

      protected boolean isIntensional
  • Constructor Details

    • RdfFieldForSubGraph

      public RdfFieldForSubGraph(GraphChange graph, org.aksw.jenax.arq.util.triple.TripleFilter dftp)
  • Method Details

    • getPropertySchema

      public PropertySchema getPropertySchema()
      Description copied from interface: RdfField
      Returns the schema of the field. The schema allows testing for whether a specific triple matches it.
      Specified by:
      getPropertySchema in interface RdfField
    • getSourceNode

      public org.apache.jena.graph.Node getSourceNode()
      Description copied from interface: RdfField
      A field is based on a specific node in the RDF graph. Depending on the property schema the values are obtained from ingoing and/or outgoing triples (or quads).
      Specified by:
      getSourceNode in interface RdfField
      Returns:
    • setIntensional

      public void setIntensional(boolean onOrOff)
      Specified by:
      setIntensional in interface RdfField
    • isIntensional

      public boolean isIntensional()
      Description copied from interface: RdfField
      If false then the field only matches a specific set of triples based on a given graph. If true then the field matches any triple that fits into the schema independent of any graph. Marking a field with intensional=true as deleted will delete triples by a pattern such as DELETE WHERE { :foo :bar ?x } whereas if intensional was false than deletion would explicitly enumerate triples - i.e. DELETE DATA { :foo :bar v1, v2, v3 }
      Specified by:
      isIntensional in interface RdfField
      Returns:
    • setDeleted

      public void setDeleted(boolean onOrOff)
      Specified by:
      setDeleted in interface RdfField
    • isDeleted

      public boolean isDeleted()
      Specified by:
      isDeleted in interface RdfField
    • getEffectiveAsSet

      public org.aksw.commons.collection.observable.ObservableCollection<org.apache.jena.graph.Node> getEffectiveAsSet()
      A view on the set of base values. Removing a triple marks the triple as deleted. If the field is set to deleted, then the returned set is empty
      Specified by:
      getEffectiveAsSet in interface RdfField
    • getAddedAsSet

      public org.aksw.commons.collection.observable.ObservableCollection<org.apache.jena.graph.Node> getAddedAsSet()
      A mutable set view of explicitly added new values. The new triples are affected by node remapping but not by triple-remapping.
      Specified by:
      getAddedAsSet in interface RdfField