Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't use inverse props, use "virtual inverses" #95

Open
VladimirAlexiev opened this issue Sep 25, 2024 · 2 comments
Open

don't use inverse props, use "virtual inverses" #95

VladimirAlexiev opened this issue Sep 25, 2024 · 2 comments
Assignees

Comments

@VladimirAlexiev
Copy link

You define 2 inverses of existing props: isDistributionOf, isAccessServiceOf.
(The diagram mentions that only the latter is "inverse", but the ontology defines both as owl:inverseOf).

It's better not to introduce inverses since they are redundant, but pose additional reasoning or querying requirements.
See https://www.w3.org/TR/prov-o/#inverse-names for a justification.

It's better to use "virtual inverses" (see the above link and https://www.w3.org/TR/json-ld11/#reverse-properties) eg:

  • declare the inverse name to use: dcat:distribution prov:inverse "isDistributionOf"
  • add to @context:
"dprod:isDistributionOf": {"@reverse": "dcat:distribution"}
@rivettp
Copy link
Contributor

rivettp commented Sep 25, 2024

I'm personally inclined against inverses for the reasons mentioned and more; however this requires wider discussion. I wish the 2 alternatives you mention had wider adoption (e.g. a non-JSON-LD equivalent).

@VladimirAlexiev
Copy link
Author

Ontotext Semantic Objects have virtual inverses: https://platform.ontotext.com/semantic-objects/soml/properties.html#inverses. That's mandatory for GraphQL because it doesn't have the universal inversability of SPARQL.

@rivettp rivettp self-assigned this Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants