Package org.eclipse.rdf4j.sail.inferencer.fc

## Class DirectTypeHierarchyInferencer

- java.lang.Object
- - org.eclipse.rdf4j.sail.helpers.SailWrapper
  - - org.eclipse.rdf4j.sail.helpers.NotifyingSailWrapper
    - - org.eclipse.rdf4j.sail.inferencer.fc.DirectTypeHierarchyInferencer

- All Implemented Interfaces:
    `FederatedServiceResolverClient`, `NotifyingSail`, `Sail`, `StackableSail`

      public class DirectTypeHierarchyInferencer
      extends NotifyingSailWrapper

  A forward-chaining inferencer that infers the direct-type hierarchy relations `sesame:directSubClassOf`, `sesame:directSubPropertyOf` and `sesame:directType`.

  The semantics of this inferencer are defined as follows:

          Class A is a direct subclass of B iff:
             1. A is a subclass of B and;
             2. A and B are not equa and;
             3. there is no class C (unequal A and B) such that
                A is a subclass of C and C of B.

          Property P is a direct subproperty of Q iff:
             1. P is a subproperty of Q and;
             2. P and Q are not equal and;
             3. there is no property R (unequal P and Q) such that
                P is a subproperty of R and R of Q.

          Resource I is of direct type T iff:
             1. I is of type T and
             2. There is no class U (unequal T) such that:
                 a. U is a subclass of T and;
                 b. I is of type U.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DirectTypeHierarchyInferencer()` |
    `DirectTypeHierarchyInferencer​(NotifyingSail baseSail)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `InferencerConnection` | `getConnection()` | Opens a connection on the Sail which can be used to query and update data.
    `void` | `init()` | Initializes the Sail.

    - ### Methods inherited from class org.eclipse.rdf4j.sail.helpers.NotifyingSailWrapper

      `addSailChangedListener, getBaseSail, removeSailChangedListener, setBaseSail`

    - ### Methods inherited from class org.eclipse.rdf4j.sail.helpers.SailWrapper

      `getDataDir, getDefaultIsolationLevel, getSupportedIsolationLevels, getValueFactory, isWritable, setDataDir, setFederatedServiceResolver, shutDown, verifyBaseSailSet`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.sail.Sail

      `getDataDir, getDefaultIsolationLevel, getSupportedIsolationLevels, getValueFactory, isWritable, setDataDir, shutDown`

- - ### Constructor Detail

    - #### DirectTypeHierarchyInferencer

          public DirectTypeHierarchyInferencer()

    - #### DirectTypeHierarchyInferencer

          public DirectTypeHierarchyInferencer​(NotifyingSail baseSail)

  - ### Method Detail

    - #### getConnection

          public InferencerConnection getConnection()
                                             throws SailException

      Description copied from interface: `Sail`
      Opens a connection on the Sail which can be used to query and update data. Depending on how the implementation handles concurrent access, a call to this method might block when there is another open connection on this Sail.
      Specified by:
        `getConnection` in interface `NotifyingSail`
      Specified by:
        `getConnection` in interface `Sail`
      Overrides:
        `getConnection` in class `NotifyingSailWrapper`
      Throws:
        `SailException` - If no transaction could be started, for example because the Sail is not writable.

    - #### init

          public void init()
                    throws SailException

      Description copied from interface: `Sail`
      Initializes the Sail. Care should be taken that required initialization parameters have been set before this method is called. Please consult the specific Sail implementation for information about the relevant parameters.
      Specified by:
        `init` in interface `Sail`
      Overrides:
        `init` in class `SailWrapper`
      Throws:
        `SailException` - If the Sail could not be initialized.