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

Major update of the things schema #182

Merged
merged 4 commits into from
Dec 7, 2024
Merged

Major update of the things schema #182

merged 4 commits into from
Dec 7, 2024

Conversation

mih
Copy link
Contributor

@mih mih commented Dec 3, 2024

This is largely a rewrite aiming to orthogonalize schema elements and capture description needs more systematically.

The new setup distinguished 'things' from 'attributes' (only the former requiring an identifier, and enabling the inline declaration of other 'things').

All slots that can be expressed with the basic schema mechanisms is_characterized_by and has_attributes -- for declaring qualified relationships -- have been removed. The only exception are basic RDF-related slots like (predicate, object, range, value, ...).

The relation slots as means for inline declaration of things in the record of another Thing is preserved as a key schema feature. Likewise, the previous meta_type is kept under the new name schema_type. The new name better delineates this rdf:type variant from type, being a type designator slot for schema classes.

None of the derived schemas have been adjusted yet.

@mih mih force-pushed the towards-v1 branch 3 times, most recently from 02da26a to 625cb3e Compare December 6, 2024 11:23
mih added 2 commits December 6, 2024 12:26
This is largely a rewrite aiming to orthogonalize schema elements and
capture description needs more systematically.

The new setup distinguished 'things' from 'attributes' (only the former
requiring an identifier, and enabling the inline declaration of other
'things').

All slots that can be expressed with the basic schema mechanisms
`is_characterized_by` and `has_attributes` -- for declaring qualified
relationships -- have been removed. The only exception are basic
RDF-related slots like (`predicate`, `object`, `range`, `value`, ...).

The `relation` slots as means for inline declaration of things in the
record of another `Thing` is preserved as a key schema feature.
Likewise, the previous `meta_type` is kept under the new name
`schema_type`. The new name better delineates this `rdf:type` variant
from `type`, being a type designator slot for _schema_ classes.

None of the derived schemas have been adjusted yet.
mih added 2 commits December 6, 2024 12:47
This is primarily in response to the `thing` revision.

Additionally, the `Parameter` concept and the conflict of `AttributeSpecification`
with its required `predicate` vs `has_parameter` needs another pass.
The support for it has been removed here, and needs to be reintroduced
once a suitable solution is available.

This pending update should happen with awareness of
#172
These are outdated and require an overhaul. However, this requires a
reintroduction of a number of slot definitions that have been removed
from `Thing`. Overall, it would be beneficial to rethink the purpose of
`sdd`. It may be best seen as an example schema that could be used to
craft concrete implementations along its patterns.
Copy link
Contributor

@jsheunis jsheunis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I spent an hour going through the detail of these commits. I got the general idea, but I don't think this was enough for me to get an intuitive grasp of the possibilities that the new Thing schema would allow. I like the simplicity of adding arbitrary attributes or characterizations at the level of triples, and how well values can be specified, even though I don't yet fully understand the interplay of the underlying classes and mixins.

I have not yet created a derived schema and exported it to shacl in order to see what it would look like or how a shacl-vue form would look like. That would be my next step. But IMO this PR can and should be merged first.

@mih mih merged commit 2887a60 into main Dec 7, 2024
3 checks passed
@mih mih deleted the towards-v1 branch December 7, 2024 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants