I have the following scenario modelled in OWL:
Producer
----producesResource--->
Resource
<------consumesResource ----
Consumer
Producer
, Resource
and Consumer
are OWL Classes, while producesResource
and consumesResource
are object properties. The scenario is quite intuitive in that that each producer produces one or more resources that is consumed by one or more consumers. Conversely, each consumer can consume one or more resources. The ontology is populated with instances / individuals accordingly.
I would like to check if there exists a resource that is consumed by a consumer that is not produced by a Producer. What is an elegant way to get this information via a:
- Query in SPARQL
- SHACL Shapes graph (if possible).