This is about slots with two possible classes in their range - and about reusing schema.org definitions when we in fact rely on a modified subset of their properties.
Despite the description, we assign class_uri: schema:Person to our Author
I don't know how to express range: Organization or Person in linkml?
It would not be possible to distinguish organizations and persons from the sfb tabby input
Despite class_uri: schema:Person, we only use a subset of https://schema.org/Person properties (name, email, affiliation) and define one additional field (orcid)
Should our Author really have class_uri: schema:Person, or be our "own" definition of an Author which is related to a schema:Person? LinkML allows to define mappings, such as close_mapping which map to SKOS data model.
This would shows in the docs as:
URI: sfb1451_schema:Author
and then in the "Mappings section" as:
Mapping Type
Mapped Value
self
sfb1451_schema:Author
native
sfb1451_schema:Author
close
schema:Person
OTOH I am not sure what other practical meaning that would have. E.g. if what I care is feeding the data to the catalog, it's probably better to carry over the schema IRI?
This is about slots with two possible classes in their range - and about reusing schema.org definitions when we in fact rely on a modified subset of their properties.
Current state
Our
Dataset
class definesauthor
slot as:https://github.com/sfb1451/crc-schema-draft/blob/3a233f58fa57f7593b81781761363cf38ad8f9d0/src/sfb1451_schema.yaml#L158-L168
In https://schema.org/author (as in real life), an author is expected to be an Organization or a Person.
In SFB tabby, we expect an author to have
name
,email
,orcid
,affiliation
.We model that as an
Author
class:https://github.com/sfb1451/crc-schema-draft/blob/3a233f58fa57f7593b81781761363cf38ad8f9d0/src/sfb1451_schema.yaml#L238-L272
Similar case: DataController.
Issues
class_uri: schema:Person
to ourAuthor
class_uri: schema:Person
, we only use a subset of https://schema.org/Person properties (name, email, affiliation) and define one additional field (orcid)Thoughts
Should our Author really have
class_uri: schema:Person
, or be our "own" definition of an Author which is related to aschema:Person
? LinkML allows to define mappings, such asclose_mapping
which map to SKOS data model.This would shows in the docs as: URI: sfb1451_schema:Author and then in the "Mappings section" as:
OTOH I am not sure what other practical meaning that would have. E.g. if what I care is feeding the data to the catalog, it's probably better to carry over the schema IRI?