Changes to bSDD data model names

I support renaming NOW, and even a bit more drastic renaming to bring everything into shape.

  • prefer Dictionary to Ontology because as Michel noticed, BSDD Properties are data props (attributes) not object props (relations), so BSDD cannot capture full ontologies
  • prefer Class

Our current refactored schema is shown here, but it doesn’t do all desirable refactorings!

Please note the following (I use GraphQL types to describe):

  • every node has id: ID! (the URL)
  • most nodes have name regardless of which attribute is used for “preferred label”
  • every relation is named after the target (range), eg Domain->property->Property.
    • This is the main reason why we prefer singular. A domain has a multitude of Properties, yet the class Property is singular: why should the relation be named differently?
    • Whether a field is multivalued is determined by the type (in this case [Property]) not by the name.
    • If you need to change the cardinality (eg as we established with Artur, ClassificationProperty.unit must be single-valued not multi-valued) then the name doesn’t need to change
    • A field of the same meaning (Property.unit vs ClassificationProperty.unit) may be multi-valued in one case, and single-valued in the other case. But since the meaning is the same, it’s better to name it the same in both cases.

Bigger changes:

  • overlap-of-entity-classes-with-classificationtype: classificationType “DOMAIN” and “REFERENCE_DOCUMENT” must be removed. And I have my doubts about “COMPOSED_PROPERTY” (a Class is not a Property, and one can use PropertyRelation to model composition)
  • improve-relations-between-entities: a number of fields should become relations not attributes. In particular, currently there are 4 reference objects that are disconnected and unused
  • add-more-entities:
    • I definitely think PropertySet should become an object: it’s too important to be a mere string
    • and maybe also PhysicalQuantity, which relates unit to dimension

I suggest these changes are tackled after LDAC, where one of the student groups will tackle GitHub - SSoLDAC-2023/Challenge-Data_Dictionary and may produce some advancement, and I hope to have a BSDD session where these changes can be discussed.

Cheers!