org.eclipse.rdf4j.sail.spin

## Class SpinSail

- java.lang.Object
- - org.eclipse.rdf4j.sail.helpers.SailWrapper
  - - org.eclipse.rdf4j.sail.helpers.NotifyingSailWrapper
    - - org.eclipse.rdf4j.sail.inferencer.fc.AbstractForwardChainingInferencer
      - - org.eclipse.rdf4j.sail.spin.SpinSail

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

      public class SpinSail
      extends AbstractForwardChainingInferencer

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SpinSail()`
    `SpinSail(NotifyingSail baseSail)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addQueryContextInitializer(QueryContextInitializer initializer)`
    `org.eclipse.rdf4j.sail.spin.SpinSailConnection` | `getConnection()` Opens a connection on the Sail which can be used to query and update data.
    `TupleFunctionEvaluationMode` | `getEvaluationMode()`
    `FederatedServiceResolver` | `getFederatedServiceResolver()`
    `FunctionRegistry` | `getFunctionRegistry()`
    `protected List<QueryContextInitializer>` | `getQueryContextInitializers()`
    `SpinParser` | `getSpinParser()`
    `TupleFunctionRegistry` | `getTupleFunctionRegistry()`
    `void` | `initialize()` Initializes the Sail.
    `boolean` | `isAxiomClosureNeeded()` Indicates if the SPIN Sail should itself load the full deductive closure of the SPIN axioms.
    `void` | `setAxiomClosureNeeded(boolean axiomClosureNeeded)`
    `void` | `setBaseSail(Sail baseSail)` Sets the base Sail that this Sail will work on top of.
    `void` | `setEvaluationMode(TupleFunctionEvaluationMode mode)`
    `void` | `setFederatedServiceResolver(FederatedServiceResolver resolver)` Sets the `FederatedServiceResolver` to use for this client.
    `void` | `setFunctionRegistry(FunctionRegistry registry)`
    `void` | `setSpinParser(SpinParser parser)`
    `void` | `setTupleFunctionRegistry(TupleFunctionRegistry registry)`

    - ### Methods inherited from class org.eclipse.rdf4j.sail.inferencer.fc.AbstractForwardChainingInferencer

      `getDefaultIsolationLevel, getSupportedIsolationLevels`

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

      `addSailChangedListener, getBaseSail, removeSailChangedListener`

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

      `getDataDir, getValueFactory, isWritable, setDataDir, 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, getValueFactory, init, isWritable, setDataDir, shutDown`

- - ### Constructor Detail

    - #### SpinSail

          public SpinSail()

    - #### SpinSail

          public SpinSail(NotifyingSail baseSail)

  - ### Method Detail

    - #### setBaseSail

          public void setBaseSail(Sail baseSail)

      Description copied from interface: `StackableSail`
      Sets the base Sail that this Sail will work on top of. This method will be called before the initialize() method is called.
      Specified by:
        `setBaseSail` in interface `StackableSail`
      Overrides:
        `setBaseSail` in class `NotifyingSailWrapper`

    - #### getFunctionRegistry

          public FunctionRegistry getFunctionRegistry()

    - #### setFunctionRegistry

          public void setFunctionRegistry(FunctionRegistry registry)

    - #### getTupleFunctionRegistry

          public TupleFunctionRegistry getTupleFunctionRegistry()

    - #### setTupleFunctionRegistry

          public void setTupleFunctionRegistry(TupleFunctionRegistry registry)

    - #### getFederatedServiceResolver

          public FederatedServiceResolver getFederatedServiceResolver()

    - #### setFederatedServiceResolver

          public void setFederatedServiceResolver(FederatedServiceResolver resolver)

      Description copied from interface: `FederatedServiceResolverClient`
      Sets the `FederatedServiceResolver` to use for this client.
      Specified by:
        `setFederatedServiceResolver` in interface `FederatedServiceResolverClient`
      Overrides:
        `setFederatedServiceResolver` in class `SailWrapper`
      Parameters:
        `resolver` - The resolver to use.

    - #### setEvaluationMode

          public void setEvaluationMode(TupleFunctionEvaluationMode mode)

    - #### getEvaluationMode

          public TupleFunctionEvaluationMode getEvaluationMode()

    - #### setAxiomClosureNeeded

          public void setAxiomClosureNeeded(boolean axiomClosureNeeded)

    - #### isAxiomClosureNeeded

          public boolean isAxiomClosureNeeded()

      Indicates if the SPIN Sail should itself load the full deductive closure of the SPIN axioms. Typically, this will be `false` if the underlying Sail stack already supports RDFS inferencing, `true` if not.
      Returns:
        `true` if the SpinSail needs to load the full axiom closure, `false` otherwise.

    - #### addQueryContextInitializer

          public void addQueryContextInitializer(QueryContextInitializer initializer)

    - #### getQueryContextInitializers

          protected List<QueryContextInitializer> getQueryContextInitializers()

    - #### getSpinParser

          public SpinParser getSpinParser()

    - #### setSpinParser

          public void setSpinParser(SpinParser parser)

    - #### getConnection

          public org.eclipse.rdf4j.sail.spin.SpinSailConnection 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.

    - #### initialize

          public void initialize()
                          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:
        `initialize` in interface `Sail`
      Overrides:
        `initialize` in class `SailWrapper`
      Throws:
        `SailException` - If the Sail could not be initialized.

Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.