Class SSSOMTCreateAxiomFunction

  • All Implemented Interfaces:
    IMappingTransformer<org.semanticweb.owlapi.model.OWLAxiom>, ISSSOMTFunction<IMappingTransformer<org.semanticweb.owlapi.model.OWLAxiom>>

    public class SSSOMTCreateAxiomFunction
    extends Object
    implements ISSSOMTFunction<IMappingTransformer<org.semanticweb.owlapi.model.OWLAxiom>>, IMappingTransformer<org.semanticweb.owlapi.model.OWLAxiom>
    Represents the SSSOM/T-OWL generator function "create_axiom".

    That function can create arbitrary OWL axiom from an expression in OWL Manchester syntax. It takes a single argument which is the OWL Manchester representation of the axiom to create. The argument may contain placeholders so that its value can be partially derived from the mapping the function is being applied to.

    For example, to create an equivalence axiom between the subject and the object of the current mapping:

     create_axiom("<%{subject_id}> EquivalentTo: <%{object_id}>");
     

    Note that un-bracketed placeholders, if used, are automatically formatted with enclosing angled brackets, for convenience, so the following call is equivalent to the call above:

     create_axiom("%subject_id EquivalentTo: %object_id");
     

    The function also accepts an optional /annots=... parameter; if present, it should be a list of SSSOM metadata fields that should be used to annotate the generated axiom. When that parameter is present, another parameter, /annots_uris=... can be used to specify how metadata fields should be rendered into annotation properties (allowed values: direct, standard_map; default is direct).

    • Constructor Detail

      • SSSOMTCreateAxiomFunction

        public SSSOMTCreateAxiomFunction​(SSSOMTOwlApplication application)
        Creates a new instance.
        Parameters:
        application - The SSSOM/T-OWL application object.
    • Method Detail

      • getSignature

        public String getSignature()
        Description copied from interface: ISSSOMTFunction
        Gets the expected signature of the function. It should be a string that represents how many arguments (excluding keyed arguments) the function is expecting, where a single S character represents an argument.

        Regular expression syntax may be used to represent arguments that are optional or represent other kinds of constraints about the arguments list.

        Examples:

        • SSS for a function that expects exactly 3 arguments;
        • S+ for a function that expects at least one argument, possibly more;
        • (SS)+ for a function that one or more pairs of arguments (e.g. 2, 4, 6, but not 3 or 5).
        Specified by:
        getSignature in interface ISSSOMTFunction<IMappingTransformer<org.semanticweb.owlapi.model.OWLAxiom>>
        Returns:
        The function signature.
      • call

        public IMappingTransformer<org.semanticweb.owlapi.model.OWLAxiom> call​(List<String> arguments,
                                                                               Map<String,​String> keyedArguments)
                                                                        throws SSSOMTransformError
        Description copied from interface: ISSSOMTFunction
        Executes the function.

        Before this method is called, the arguments list will have been checked against the signature and will be guaranteed to be correct (e.g. if the function declared to expects two arguments, it is guaranteed the arguments list will contains two items).

        Specified by:
        call in interface ISSSOMTFunction<IMappingTransformer<org.semanticweb.owlapi.model.OWLAxiom>>
        Parameters:
        arguments - The arguments to the function. May be empty, but not null.
        keyedArguments - The keyed arguments to the function. May be empty, but null.
        Returns:
        The result of executing the function.
        Throws:
        SSSOMTransformError - If any error occurred when executing the function (which may include the case where the number of arguments was correct but their contents was not).
      • transform

        public org.semanticweb.owlapi.model.OWLAxiom transform​(Mapping mapping)
        Description copied from interface: IMappingTransformer
        Transform a mapping into something else.
        Specified by:
        transform in interface IMappingTransformer<org.semanticweb.owlapi.model.OWLAxiom>
        Parameters:
        mapping - The mapping to transform.
        Returns:
        The object generated from the mapping.