Class AbstractNodeExpression

    • Constructor Detail

      • AbstractNodeExpression

        protected AbstractNodeExpression​(org.apache.jena.rdf.model.RDFNode expr)
    • Method Detail

      • evalReverse

        public org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.rdf.model.RDFNode> evalReverse​(org.apache.jena.rdf.model.RDFNode valueNode,
                                                                                                             NodeExpressionContext context)
        Description copied from interface: NodeExpression
        Produces an iterator of focus nodes for a given value node. This operation can only be called for node expressions where isReversible returns true and may throw an IllegalStateException otherwise.
        Specified by:
        evalReverse in interface NodeExpression
        Parameters:
        valueNode - the value node
        context - the context
        Returns:
        an iterator (never null)
      • getOutputShape

        public org.apache.jena.rdf.model.Resource getOutputShape​(org.apache.jena.rdf.model.Resource contextShape)
        Description copied from interface: NodeExpression
        Gets the shape of the output data (if known), based on a context shape. For example, for a path expression it would try to infer the output shape from the sh:class or sh:node of the property (path).
        Specified by:
        getOutputShape in interface NodeExpression
        Parameters:
        contextShape - the shape where the evaluation would start, e.g. the node shape of the sh:values statement
        Returns:
        an output shape or null if unknown
      • getRDFNode

        public org.apache.jena.rdf.model.RDFNode getRDFNode()
        Description copied from interface: NodeExpression
        Gets the RDF node that was used to construct the expression, in the SHACL node expressions syntax.
        Specified by:
        getRDFNode in interface NodeExpression
        Returns:
        the RDF node
      • isReversible

        public boolean isReversible​(NodeExpressionContext context)
        Description copied from interface: NodeExpression
        Checks if this expression could be evaluated in the reverse direction, with a value given and then finding all focus nodes. The function evalReverse can then be called. NOTE THAT THIS IS CURRENTLY BARELY IMPLEMENTED.
        Specified by:
        isReversible in interface NodeExpression
        Parameters:
        context - the context
        Returns:
        true if reversible