Class: Relationship
An association class for characterizing the relation between two things with the role(s) the object had with respect to the subject. A relationship is always between two things only, but can be annotated with multiple roles (for example, a person having both an author role with respect to a dataset, and also being the person who is legally responsible contact for it).
URI: dlroles:Relationship
erDiagram
Relationship {
NodeUriOrCurie schema_type
}
Role {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Statement {
}
AttributeSpecification {
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
uriorcurie range
string value
}
Annotation {
string annotation_value
}
Thing {
uriorcurie pid
uriorcurieList broad_mappings
uriorcurieList close_mappings
string description
uriorcurieList exact_mappings
uriorcurieList narrow_mappings
uriorcurieList related_mappings
NodeUriOrCurie schema_type
}
Relationship ||--|| Thing : "object"
Relationship ||--}o Role : "roles"
Role ||--}o Thing : "relations"
Role ||--}o Annotation : "annotations"
Role ||--}o AttributeSpecification : "attributes"
Role ||--}o Statement : "characterized_by"
Statement ||--|| Thing : "object"
Statement ||--|| Property : "predicate"
AttributeSpecification ||--|| Property : "predicate"
AttributeSpecification ||--}o Annotation : "annotations"
AttributeSpecification ||--}o AttributeSpecification : "attributes"
AttributeSpecification ||--}o Statement : "characterized_by"
Annotation ||--|o Thing : "annotation_tag"
Thing ||--}o Thing : "relations"
Thing ||--}o Annotation : "annotations"
Thing ||--}o AttributeSpecification : "attributes"
Thing ||--}o Statement : "characterized_by"
Press "Alt" / "Option" to enable Pan & Zoom
Slots
Name | Cardinality and Range | Description | Inheritance |
---|---|---|---|
object | 1 Thing |
Reference to a Thing within a Statement |
direct |
roles | * Role |
Describes the function of an entity or agent (object) within the scope of a `... | direct |
schema_type | 0..1 NodeUriOrCurie |
State that the subject is an instance of a particular schema class | direct |
Identifier and Mapping Information
Schema Source
- from schema: https://concepts.datalad.org/s/roles/unreleased
Mappings
Mapping Type | Mapped Value |
---|---|
self | dlroles:Relationship |
native | dlroles:Relationship |
close | prov:Influence, dcat:Relationship |
Examples
Example: Relationship-01-topic
# Declare something as the topic of the subject
object: https://en.wikipedia.org/wiki/Vulcan_(Star_Trek)#Mind_melds
roles:
- http://purl.obolibrary.org/obo/topic_0003
Example: Relationship-02-author
# Declare a person identified by an ORCID to have had the
# roles of an author and of a scientific advisor regarding
# the subject
object: https://orcid.org/0000-0001-6398-6370
roles:
- marcrel:aut
- marcrel:sad
LinkML Source
Direct
name: Relationship
description: An association class for characterizing the relation between two things
with the role(s) the object had with respect to the subject. A relationship is always
between two things only, but can be annotated with multiple roles (for example,
a person having both an author role with respect to a dataset, and also being the
person who is legally responsible contact for it).
from_schema: https://concepts.datalad.org/s/roles/unreleased
close_mappings:
- prov:Influence
- dcat:Relationship
slots:
- object
- roles
- schema_type
slot_usage:
object:
name: object
range: Thing
required: true
class_uri: dlroles:Relationship
Induced
name: Relationship
description: An association class for characterizing the relation between two things
with the role(s) the object had with respect to the subject. A relationship is always
between two things only, but can be annotated with multiple roles (for example,
a person having both an author role with respect to a dataset, and also being the
person who is legally responsible contact for it).
from_schema: https://concepts.datalad.org/s/roles/unreleased
close_mappings:
- prov:Influence
- dcat:Relationship
slot_usage:
object:
name: object
range: Thing
required: true
attributes:
object:
name: object
description: Reference to a `Thing` within a `Statement`.
notes:
- We do not declare a range here to be able to tighten the range in subclasses
of class that need a particular range. This appears to be working around a linkml
limitation.
from_schema: https://concepts.datalad.org/s/roles/unreleased
exact_mappings:
- rdf:object
rank: 1000
slot_uri: rdf:object
alias: object
owner: Relationship
domain_of:
- Relationship
- Statement
relational_role: OBJECT
range: Thing
required: true
multivalued: false
inlined: false
roles:
name: roles
description: Describes the function of an entity or agent (object) within the
scope of a `Relationship` with the subject.
from_schema: https://concepts.datalad.org/s/roles/unreleased
exact_mappings:
- prov:hadRole
- dcat:had_role
rank: 1000
slot_uri: dlroles:roles
alias: roles
owner: Relationship
domain_of:
- Relationship
range: Role
multivalued: true
inlined: false
schema_type:
name: schema_type
description: State that the subject is an instance of a particular schema class.
Typically, no explicit value needs to be assigned to this slot, because it matches
the class type of a particular record. However, this slots can be used as a
type designator of a schema element for validation and schema structure handling
purposes. This is used to indicate specialized schema classes for properties
that accept a hierarchy of classes as their range.
from_schema: https://concepts.datalad.org/s/roles/unreleased
exact_mappings:
- dcterms:type
rank: 1000
slot_uri: rdf:type
designates_type: true
alias: schema_type
owner: Relationship
domain_of:
- Relationship
- ThingMixin
range: NodeUriOrCurie
class_uri: dlroles:Relationship