-
-
Notifications
You must be signed in to change notification settings - Fork 91
Draft: Refactor QUDT SCHEMA to change datatype properties to annotation properties #1285
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
base: main
Are you sure you want to change the base?
Conversation
mbmaja
commented
Sep 16, 2025
- changed the declaration of multiple properties denoting descriptions, references, labels, names and codes from owl:DatatypeProperty to owl:AnnotationProperty and removed their references from axioms
- fixed the declaration to owl:ObjectProperty where appropriate
|
@steveraysteveray How can I see what check has failed? Thanks! |
|
If you look carefully at the terminal output, you will see that it says to run 'mvn spotless:apply' to re-serialize the file that changed. Try that (it worked when I tried it). See step 8 here. You can combine that with the next step by typing 'mvn spotless:apply install' if you like. More generally, you can find validation messages at target/validation once the build runs. |
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
| qudt:minExclusive | ||
| a owl:DatatypeProperty, rdf:Property ; | ||
| a owl:DatatypeProperty ; | ||
| dcterms:description "minExclusive is the exclusive lower bound of the value space for a datatype with the ordered property. The value of minExclusive must be in the value space of the base type or be equal to {value} in {base type definition}." ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs discussing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be consistent.
Option 1: Always use only OWL property declarations in the OWL schema
Option 2: Always use the OWL property, plus the RDF property declaration
| a owl:Restriction ; | ||
| owl:allValuesFrom qudt:QuantityKind ; | ||
| owl:onProperty skos:broader ; | ||
| ] ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are these restructions - and others further down showing as deleted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since they are converted to annotation properties, you can no longer attach cardinality constraints.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This raises a much more ambitious consideration:
Consider refactoring the schema files to have a single "core" rdf schema file, plus optional OWL and SHACL layer files containing OWL constraints where needed, or SHACL shapes where needed. Our Maven build process can collect these components into the unified files for users.
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| prov:wasDerivedFrom | ||
| a rdf:Property ; | ||
| a rdf:Property, owl:AnnotationProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs discussing
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| dcterms:isReplacedBy | ||
| a owl:ObjectProperty ; | ||
| a owl:AnnotationProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs discussing
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| qudt:abbreviation | ||
| a owl:DatatypeProperty ; | ||
| a owl:AnnotationProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May need discussing
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| qudt:acronym | ||
| a owl:DatatypeProperty ; | ||
| a owl:AnnotationProperty; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May need discussing
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| qudt:latexSymbol | ||
| a owl:DatatypeProperty ; | ||
| a owl:AnnotationProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs discussing
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| qudt:numericValue | ||
| a owl:DatatypeProperty ; | ||
| a owl:ObjectProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs discussing
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| qudt:symbol | ||
| a owl:DatatypeProperty ; | ||
| a owl:AnnotationProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs discussing
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| qudt:ucumCode | ||
| a owl:DatatypeProperty ; | ||
| a owl:AnnotationProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs discussing
src/main/rdf/schema/SCHEMA_QUDT.ttl
Outdated
|
|
||
| qudt:uneceCommonCode | ||
| a owl:DatatypeProperty ; | ||
| a owl:AnnotationProperty ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs discussing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A (small) number of datatype changes to annotation properties need discussing. That discussion is predicated on agreement on when a property should be considered as integral to the schema of a model. For example "id" might be needed for reasoning over. Having said that the prime rationale for annotation properties is to make them ignored by reasoners.
steveraysteveray
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's good that you have re-synced this branch. The big question now is what we will be doing with all the OWL restriction classes anyway. It might be prudent to wait to see what we hear from our upcoming user survey regarding changes to the OWL schema, which will be coming out probably later this week.
CHANGELOG.md
Outdated
| ### Added | ||
|
|
||
| - `quantitykind:NumberOfElectricalPhases` for use with AC circuits | ||
| - Fixed the declaration of some properties (most importantly changing from `owl:DatatypeProperty` to `owl:AnnotationProperty`) in `SCHEMA_QUDT.ttl`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3.1.6 is part of history and should not change. Please remove these additions (5 lines). You can add whatever makes sense in the Unreleased section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done - this must have gone wrong in my attempt to resolve merge conflicts.
src/main/rdf/schema/catalog-v001.xml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this file from the PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
steveraysteveray
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment about CHANGELOG.md
CHANGELOG.md
Outdated
| ### Added | ||
|
|
||
| - `quantitykind:NumberOfElectricalPhases` for use with AC circuits | ||
| - Fixed typo in `qudt:ucumCode` of `unit:MegaN-PER-M2` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These 4 lines still need to be removed. They already appear in 3.1.6 under "Fixed".
There should be no changes in entries for past releases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have restored the original Changelog 3.1.6 Section - is it ok now?
steveraysteveray
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good now, but I suggest we wait on this PR until we decide on the course of action regarding changes to the OWL schema.
Patience!