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

Express links to old ontology term URLs #70

Open
VladimirAlexiev opened this issue Sep 19, 2024 · 3 comments
Open

Express links to old ontology term URLs #70

VladimirAlexiev opened this issue Sep 19, 2024 · 3 comments
Assignees
Labels
reasoning Pertains to needed reasoning and its consequences

Comments

@VladimirAlexiev
Copy link
Collaborator

VladimirAlexiev commented Sep 19, 2024

(Was "Use sameAs reasoning?")

@Sveino in #68

use reasoning <http://iec.ch/TC57/CIM100#> owl:sameAs <https://cim.ucaiug.io/ns#>

  • You can't declare sameAs between two namespaces (or rather, if you do, there'll be no effect)
  • One should use:
    • sameAs for individuals
    • equivalentClass for classes
    • equivalentProperty for properties
  • Their semantics is related but not the same:
    • X sameAs Y means that the repo needs to "copy" all statements X P U and U P X over to Y and vice versa
    • X equivalentClass Y means to "copy" all statements U a X as U a Y and vice versa
    • X equivalentProperty Y means to "copy" all statements U X V as U Y V and vice versa

But none of that is free.

  • GraphDB implements owl:sameAs very efficiently (without copying) by recording statements against sameAs clusters of URLs, not individual URLs
    • But other repos may not implement sameAs reasoning efficiently
    • Some don't implement such reasoning at all, so you see queries like X owl:sameAs* / prop Y
    • It also has impact on counting
  • Similar concerns apply to equivalentClass, equivalentProperty

So overall, I would recommend against it.
And whenever CIM namespaces change, to implement a database migration.

@VladimirAlexiev VladimirAlexiev added the reasoning Pertains to needed reasoning and its consequences label Sep 19, 2024
@VladimirAlexiev
Copy link
Collaborator Author

I said the same (but more briefly) in #123

@Sveino
Copy link
Owner

Sveino commented Nov 11, 2024

So overall, I would recommend against it.
And whenever CIM namespaces change, to implement a database migration.
I respectfully disagree. We need to use semantic description to describe the changes between version of the metadata as primary point. This must be done regardless of if we are doing sematic reasoning or database migration. When the semantic is clear, we can discuss if this should be solved though database migration or reasoning - but this is on the technical level and not the semantic layer.

@VladimirAlexiev
Copy link
Collaborator Author

VladimirAlexiev commented Nov 20, 2024

We can add dct:replaces to each ontology term, pointing to the old term URL. Unlike owl:equivalentProperty, equivalentClass, this one is asymmetric so it captures the meaning.

We can also use owl:priorVersion to link the latest version of the ontology to a prior version. For this to be effective, we also need to

  • modularize ontologies
  • add rdfs:isDefinedBy to each term
  • describe vann:preferredNamespace of each ontology

@VladimirAlexiev VladimirAlexiev changed the title Use sameAs reasoning? Express links to old ontology term URLs Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
reasoning Pertains to needed reasoning and its consequences
Projects
None yet
Development

No branches or pull requests

2 participants