Skip to content

Profile level relationships between classifications #157

@azaroth42

Description

@azaroth42

While the code ensures that the domain and range of the ontology level relationships are enforced, there is nothing that either describes nor checks profile level relationships between instances with potentially incompatible or inconsistent classifications.

For example:

  • A sales catalog physical object should carry a sales catalog text, not a lottery catalog or a stock book.
  • The production of a painting should not have the technique of sculpting.
  • A provenance entry activity can have a Payment which is part of it, but a Payment cannot have a provenance entry as a part.
    (etc)

This seems like it would be beneficial to add, but we need to understand the use cases and motivations first.

In particular:

  • automated checking, as per the ontology, of manually created instances being linked together in unexpected ways could emit a warning or error
  • classes could be interrogated for possible values per property, beyond just the ontology layer and instead take into account vocabulary
  • classes could have APIs that create the default referenced object, link it in the right property, and return it ( vocab.SalesCatalog.make_textual_work() --> vocab.SalesCatalogText )

This issue is for tracking such use cases and ideas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions