Interface VSpace

All Superinterfaces:
Cloneable, Constrainable
All Known Subinterfaces:
NVSpace
All Known Implementing Classes:
VSpaceImpl

public interface VSpace extends Constrainable
A value space intensionally describes a set of values possibly across multiple datatypes. Because of its set nature, it is possible to form intersections and unions and test for emptiness.
Author:
raven
  • Method Summary

    Modifier and Type
    Method
    Description
     
    forDimension(Object dimensionKey)
    Create a new closed value space, adds the full range of the given dimension and intersect it with 'this'.
    Domain<?,?>
     
    default boolean
    Whether the set of values described by this value space is empty.
    boolean
    isLimitedTo(Object dimensionKey)
    Whether the value space only has ranges in the dimension with the given key (e.g.
    <X extends Comparable<X>>
    VSpace
    mapDimensionToNewVSpace(Object fromDimKey, Class<X> itemType, Object toDimKey, Function<com.google.common.collect.Range<X>,com.google.common.collect.Range<X>> mapper)
    Create a new value space by mapping the values from a given dimension Issue: We don't know if the mapping is surjective - i.e.
    org.aksw.commons.algebra.allen.AllenRelation
    Return a relation for how this space relates to another.
     
    stateUnion(VSpace valueSpace)
     

    Methods inherited from interface org.aksw.jenax.constraint.api.Constrainable

    isConflicting
  • Method Details

    • getDomain

      Domain<?,?> getDomain()
    • clone

      VSpace clone()
      Specified by:
      clone in interface Constrainable
    • stateIntersection

      VSpace stateIntersection(VSpace valueSpace)
      Specified by:
      stateIntersection in interface Constrainable
    • stateUnion

      VSpace stateUnion(VSpace valueSpace)
      Specified by:
      stateUnion in interface Constrainable
    • forDimension

      VSpace forDimension(Object dimensionKey)
      Create a new closed value space, adds the full range of the given dimension and intersect it with 'this'.
    • relateTo

      org.aksw.commons.algebra.allen.AllenRelation relateTo(VSpace other)
      Return a relation for how this space relates to another. In particular, it allows for testing whether e.g. the values of this space appear all before the values in another one with respect to the domain. The returned relation is the bitwise OR of the Allen relation of each dimension.
    • mapDimensionToNewVSpace

      <X extends Comparable<X>> VSpace mapDimensionToNewVSpace(Object fromDimKey, Class<X> itemType, Object toDimKey, Function<com.google.common.collect.Range<X>,com.google.common.collect.Range<X>> mapper)
      Create a new value space by mapping the values from a given dimension Issue: We don't know if the mapping is surjective - i.e. if the src range is unconstrained, the tgt range in that dimension may yet be constrained.
    • isLimitedTo

      boolean isLimitedTo(Object dimensionKey)
      Whether the value space only has ranges in the dimension with the given key (e.g. numeric, iRI, text, ...)
    • isEmpty

      default boolean isEmpty()
      Whether the set of values described by this value space is empty. Technically an alias for isConflicting