This is essentially what already exists as property functions within ARQ and various other vendors implementations.
What I was advocating for is explicit syntax that would identify such functions as first-class citizens within the language rather than obscuring them within the BGP syntax as is done today. Additionally it needs to generalise to be able to consume the existing set of solutions upon which it operates in order that intentions could efficiently processed the function in the case where the existing solutions should be used to constrain the possible outputs. The additional complication is handling functions which introduce multiple output variables, again this is typically handled in existing extensions by passing in A Collection of variables as the subject. Again explicit syntax of what new variables are introduced would be a big help to query engines. Rob On 26/04/2017 07:28, "Claude Warren" <[email protected]> wrote: Greetings, I was reading the "who made such idiocy" thread and began to think about how one might introduce a "function" that could return more than one value as was noted in the message stack. I started thinking about how XSLT has extension elements and thought perhaps a property type that rather than being a standard lookup performs a function based on the object of the statement. For example: assume ex:textLookup calls a text index lookup function and returns the object of triples that have the values. Further assume textLookup takes an argument list comprising the property to have the value and a list of text items to look for. Then: ?x ex:textLookup (dc:comment, "now", "is", "the", "time" ); would return a list of objects that have dc:comment properties that contain "now" or "is" or "the" or "time". This would be a major change to how properties are handled as any property that is a function would have to be identified and executed separately. But I think as a construct it might work and it would be in concept similar to the XSLT extension element. Thoughts? Claude -- I like: Like Like - The likeliest place on the web <http://like-like.xenei.com> LinkedIn: http://www.linkedin.com/in/claudewarren
