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

What’s the difference between NodeAnnotationChange and NodeMetadataAssertionChange? #57

Open
gouttegd opened this issue Feb 27, 2024 · 0 comments

Comments

@gouttegd
Copy link

gouttegd commented Feb 27, 2024

Excerpt of the node change hierarchy:

  • NodeChange
    • NodeAnnotationChange
      • NodeAnnotationReplacement
    • NodeMetadataAssertionChange
      • MetadataAssertionPredicateChange
      • MetadataAssertionReplacement
      • NewMetadataAssertion
      • RemoveMetadataAssertion

where NodeAnnotationChange is defined as “A node change where the change alters node properties/annotations. TODO”, while NodeMetadataAssertionChange is defined as “A node change where the metadata assertion (OWL annotations) for that node are altered”.

It’s unclear to me why those two types exist and how they actually differ. Intuitively, I feel that the second type should not exist in KGCL. Changes to annotations of a node should all be represented by NodeAnnotationChange objects – the fact that annotations are represented by OWL annotation assertion axioms if the underlying graph we’re modifying happens to be a OWL ontology should not matter.

Furthermore, in the spec for NodeMetadataAssertionChange, it is said that NodeAnnotationChange is an “alias” for NodeMetadataAssertionChange. This makes sense if we consider that a “metadata assertion” is merely how OWL represents the concept of a node annotation, but then if the two change types are the same thing, why do they have different slots (NodeAnnotationChange has a annotation_property slot that NodeMetadataAssertionChange does not have) and different children?

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

1 participant