Class EntityClassifier

java.lang.Object
org.aksw.jenax.arq.datashape.viewselector.EntityClassifier

public class EntityClassifier extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.apache.jena.rdf.model.Property
     
    protected List<org.apache.jena.sparql.core.Var>
     
    protected Map<org.apache.jena.graph.Node,org.aksw.jenax.sparql.fragment.api.Fragment>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    EntityClassifier(List<org.apache.jena.sparql.core.Var> entityKeyVars)
     
    EntityClassifier(org.apache.jena.sparql.core.Var var)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    addCondition(org.apache.jena.graph.Node conditionId, org.aksw.jenax.sparql.fragment.api.Fragment relation)
     
    org.aksw.jenax.sparql.fragment.api.Fragment
    Creates a SPARQL query that yields for each entry in a relation of candidates the ones that satisfy a certain condition.
    static org.aksw.jenax.sparql.fragment.api.Fragment1
    createConceptTargetClass(org.apache.jena.graph.Node node)
     
    static org.aksw.jenax.sparql.fragment.api.Fragment1
    createConceptTargetObjectsOf(org.apache.jena.graph.Node node)
     
    static org.aksw.jenax.sparql.fragment.api.Fragment1
    createConceptTargetSubjectsOf(org.apache.jena.graph.Node node)
     
    org.aksw.jena_sparql_api.rx.entity.model.EntityGraphFragment
    Creates a graph fragment of the form { ?entity :classifier ?t } Cannot classify literals (because they may not appear in the subject position)
    protected org.aksw.jena_sparql_api.rx.entity.model.EntityGraphFragment
    createGraphFragmentGeneric(org.aksw.jenax.sparql.fragment.api.Fragment candidate)
    Creates a graph fragment of the form _:X a Classification :of entityNode :keys (...) :classifier ?t
    Map<org.apache.jena.graph.Node,org.aksw.jenax.sparql.fragment.api.Fragment>
     
    static void
    main(String[] args)
     
    static void
    registerNodeShape(EntityClassifier entityClassifier, org.aksw.jenax.model.shacl.domain.ShNodeShape nodeShape)
     
    static void
    registerNodeShapes(EntityClassifier entityClassifier, org.apache.jena.rdf.model.Model shaclModel)
     
    org.aksw.jena_sparql_api.rx.entity.model.EntityQueryBasic
    toEntityQuery(org.aksw.jenax.sparql.fragment.api.Fragment candidates)
     

    Methods inherited from class java.lang.Object

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

    • classifier

      public static final org.apache.jena.rdf.model.Property classifier
    • idToCondition

      protected Map<org.apache.jena.graph.Node,org.aksw.jenax.sparql.fragment.api.Fragment> idToCondition
    • entityKeyVars

      protected List<org.apache.jena.sparql.core.Var> entityKeyVars
  • Constructor Details

    • EntityClassifier

      public EntityClassifier(org.apache.jena.sparql.core.Var var)
    • EntityClassifier

      public EntityClassifier(List<org.apache.jena.sparql.core.Var> entityKeyVars)
  • Method Details

    • addCondition

      public EntityClassifier addCondition(org.apache.jena.graph.Node conditionId, org.aksw.jenax.sparql.fragment.api.Fragment relation)
    • createClassifyingRelation

      public org.aksw.jenax.sparql.fragment.api.Fragment createClassifyingRelation()
      Creates a SPARQL query that yields for each entry in a relation of candidates the ones that satisfy a certain condition. The resulting relation has the same variables in the same order as the provided candidate relation; the classification is a single additional column with a fresh variable name that is guaranteed to not clash with any of the other mentioned variables.
       SELECT DISTINCT ?x1 ... ?xn ?idNode  {
         candidates(?x1 ... ?xn)
           {
             condition1(?x1 ... ?xn)
             BIND(?idOfCondition1)
           }
           UNION
           ...
           UNION
           {
             conditionM(?x1 ... ?xn)
             BIND(?idOfConditionM)
           }
         }
       }
       
      Parameters:
      conn -
      candidates -
      idToCondition -
    • createGraphFragmentGeneric

      protected org.aksw.jena_sparql_api.rx.entity.model.EntityGraphFragment createGraphFragmentGeneric(org.aksw.jenax.sparql.fragment.api.Fragment candidate)
      Creates a graph fragment of the form _:X a Classification :of entityNode :keys (...) :classifier ?t
      Parameters:
      candidate -
      Returns:
    • createGraphFragment

      public org.aksw.jena_sparql_api.rx.entity.model.EntityGraphFragment createGraphFragment()
      Creates a graph fragment of the form { ?entity :classifier ?t } Cannot classify literals (because they may not appear in the subject position)
      Parameters:
      candidate -
      Returns:
    • getIdToCondition

      public Map<org.apache.jena.graph.Node,org.aksw.jenax.sparql.fragment.api.Fragment> getIdToCondition()
    • toEntityQuery

      public org.aksw.jena_sparql_api.rx.entity.model.EntityQueryBasic toEntityQuery(org.aksw.jenax.sparql.fragment.api.Fragment candidates)
    • createConceptTargetSubjectsOf

      public static org.aksw.jenax.sparql.fragment.api.Fragment1 createConceptTargetSubjectsOf(org.apache.jena.graph.Node node)
    • createConceptTargetObjectsOf

      public static org.aksw.jenax.sparql.fragment.api.Fragment1 createConceptTargetObjectsOf(org.apache.jena.graph.Node node)
    • createConceptTargetClass

      public static org.aksw.jenax.sparql.fragment.api.Fragment1 createConceptTargetClass(org.apache.jena.graph.Node node)
    • registerNodeShapes

      public static void registerNodeShapes(EntityClassifier entityClassifier, org.apache.jena.rdf.model.Model shaclModel)
    • registerNodeShape

      public static void registerNodeShape(EntityClassifier entityClassifier, org.aksw.jenax.model.shacl.domain.ShNodeShape nodeShape)
    • main

      public static void main(String[] args)