Hi, I've found that the inference inverseOf only seems to occur when the predicate that is the inverse is explicitly stated within the query. Eg
This works - define input:inference "wsf_inference_rule" prefix output: <http://xxx/schemas/output/> select * where { <http://xxx/wsf/datasets/89/Valuations_Mar09> output:valuation_set_of_eay ?eay_uri .} While this doesn't return any valuation_set_of_eay triples. define input:inference "wsf_inference_rule" prefix output: <http://xxx/schemas/output/> select * where { <http://xxx/wsf/datasets/89/Valuations_Mar09> ?p ?eay_uri .} So I planned on explicitly materialising the triples so the second query would return the needed triples. However the sparql insert doesn't seem to support inference rules. When running the below statement SPARQL define input:inference "wsf_inference_rule" prefix output: <http://xxx/schemas/output/> INSERT IN GRAPH <hxxx/wsf/datasets/89/> {<http://xxx/wsf/datasets/89/Valuations_Mar09> output:valuation_set_of_eay ?eay_uri } where { <xxx/wsf/datasets/89/Valuations_Mar09> output:valuation_set_of_eay ?eay_uri .} I get the error - SQLState: 37000 Message: SQ074: Line 5: SP031: SPARQL compiler: Internal error: Internal SPARQL compiler error: unsupported subexpression type Removing the inference ruleset from the query causes it to run successfully but as expected there are no triples to insert. What would be the easiest work around for this? Cheers Mark
