Interface MultiFunction

  • All Known Implementing Classes:
    AbstractMultiFunction, AbstractMultiFunction1, AbstractNativeMultiFunction, SPARQLMultiFunction, TargetContainsMultiFunction

    public interface MultiFunction
    The base interface of (DASH) multi-functions. Multi-functions are procedures that take zero or more input variable bindings ("left hand side") and return zero or more output variable bindings, potentially with multiple variables per binding. They are similar to SPIN magic properties, yet more focused, see TBS-4117. In particular they only support the case where the values on the right hand side are computed from the values of the left hand side, not any other direction. The MultiFunction interface also defines functions to access metadata about the multi-function, for example for documentation generation purposes.
    Author:
    Holger Knublauch
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.apache.jena.sparql.engine.QueryIterator execute​(List<org.apache.jena.graph.Node> args, org.apache.jena.graph.Graph activeGraph, org.apache.jena.sparql.core.DatasetGraph dataset)
      Executes the multi-function for a given list of arguments.
      org.apache.jena.graph.Node getAPIStatus()
      Gets the API status.
      String getDescription()
      Gets human-readable documentation for the MultiFunction, e.g.
      List<MultiFunctionParameter> getParameters()
      Gets metadata about the declared parameters (based on sh:parameter).
      List<MultiFunctionParameter> getResultVars()
      Gets metadata about the variables that will be produced for each solution (based on dash:resultVariable).
      String getURI()
      Gets the URI of this MultiFunction, which can also be used for the SPARQL property function.
    • Method Detail

      • execute

        org.apache.jena.sparql.engine.QueryIterator execute​(List<org.apache.jena.graph.Node> args,
                                                            org.apache.jena.graph.Graph activeGraph,
                                                            org.apache.jena.sparql.core.DatasetGraph dataset)
        Executes the multi-function for a given list of arguments.
        Parameters:
        args - the argument values, matching the declared parameters from left to right
        activeGraph - the currently active query graph
        dataset - the DatasetGraph to operate on
        Returns:
        a QueryIterator with name-value pairs
      • getAPIStatus

        org.apache.jena.graph.Node getAPIStatus()
        Gets the API status.
        Returns:
        one of the instances of dash:APIStatus or null if this should not be used outside.
      • getDescription

        String getDescription()
        Gets human-readable documentation for the MultiFunction, e.g. for code generation.
        Returns:
        the description or null
      • getParameters

        List<MultiFunctionParameter> getParameters()
        Gets metadata about the declared parameters (based on sh:parameter).
        Returns:
        the parameters
      • getResultVars

        List<MultiFunctionParameter> getResultVars()
        Gets metadata about the variables that will be produced for each solution (based on dash:resultVariable).
        Returns:
        the result variables
      • getURI

        String getURI()
        Gets the URI of this MultiFunction, which can also be used for the SPARQL property function.
        Returns:
        the URI string