Skip to content

Conversation

HolgerKnublauch
Copy link
Contributor

@recalcitrantsupplant
Copy link
Contributor

Looking at the first example, is there a way the link between the function call and the function (ex:average) can be made more explicit?

Something like:

ex:CompanyShape-averageIncome
    a sh:PropertyShape ;
    sh:path ex:averageIncome ;
    sh:datatype xsd:decimal ;
    sh:values [
        shnex:call ex:AverageExpression ;
        ex:average [
            shnex:path ( ex:employee ex:income )
        ]
    ]

Otherwise I assume an implementation knows it is a function not an IRI based on the syntax (+ possibly a function register).

@HolgerKnublauch
Copy link
Contributor Author

HolgerKnublauch commented Aug 18, 2025

Yes, for all these expression functions, there can be a triple such as ex:average rdfs:domain ex:AverageExpression and then [ ... rdf:type ex:AverageExpression ] which IMHO makes a lot of sense. We can state that rdf:type triples are optional but allowed.

@ajnelson-nist ajnelson-nist added the Node Expressions For SHACL 1.2 Node Expressions label Sep 2, 2025
@HolgerKnublauch HolgerKnublauch marked this pull request as ready for review September 3, 2025 07:39
@HolgerKnublauch
Copy link
Contributor Author

I have implemented the named parameter functions in our product and it appears to work. I am yet to confirm the list parameter syntax but don't expect problems.

Copy link

@robert-david robert-david left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

5.3 Arg Expressions should provide an example.

@HolgerKnublauch HolgerKnublauch merged commit ff188c4 into gh-pages Sep 8, 2025
1 check passed
@HolgerKnublauch HolgerKnublauch deleted the issue-498 branch September 8, 2025 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Node Expressions For SHACL 1.2 Node Expressions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support User-Defined Node Expression Functions; Parametrization, "Partial Evaluation"
4 participants