Can you use reasoning and propertyFunctions?

I was rolling up my my sleeves and trying to dig back into writing a custom property function and had a curious thought. Can you use reasoning with a user defined property function?

Say I defined a property function that had a single input and single result ?s ex:myPropertyFunction ?o. Can I then say something like ex:myPropertyFunction rdfs:domain ex:MyClass?

That will not work in general because the predicate will be replaced with the function invocation. The rewriting done by the reasoner happens after this replacement at which point ex:myPropertyFunction will not be part of a BGP.


1 Like

Thanks. A couple of quick followups.

Are properyFunctions even going to be included in 5.0 or are they going to be completely replaced with something based on Calcite?

What are the assuredVars on a PlanNode?

Nothing is changing at the moment regarding property functions. We’re not using Calcite in any of the core planning. The current planner/optimizer is specialized and very effective for our capabilities and RDF indexing approach. Calcite is being used only for rewriting queries from SPARQL to answer queries over virtual graphs.

The assured variables are the set of variables that are guaranteed to be bound by a given point in the plan.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.