Class: AttributeSpecification
An attribute is conceptually a thing, but it requires no dedicated identifier (id
). Instead, it is linked to a Thing
via its has_attributes
slot and declares a predicate
on the nature of the relationship.
URI: dlthings:AttributeSpecification
erDiagram
AttributeSpecification {
uriorcurie schema_type
uriorcurie type
uriorcurie range
string value
}
Statement {
}
Property {
uriorcurie id
uriorcurie schema_type
uriorcurie type
}
Thing {
uriorcurie id
uriorcurie schema_type
uriorcurie type
}
AttributeSpecification ||--|| Property : "predicate"
AttributeSpecification ||--}o AttributeSpecification : "has_attributes"
AttributeSpecification ||--}o Statement : "is_characterized_by"
Statement ||--|| Thing : "object"
Statement ||--|| Property : "predicate"
Property ||--}o Thing : "relations"
Property ||--}o AttributeSpecification : "has_attributes"
Property ||--}o Statement : "is_characterized_by"
Thing ||--}o Thing : "relations"
Thing ||--}o AttributeSpecification : "has_attributes"
Thing ||--}o Statement : "is_characterized_by"
Inheritance
- AttributeSpecification [ ThingMixin ValueSpecificationMixin]
Slots
Name | Cardinality and Range | Description | Inheritance |
---|---|---|---|
predicate | 1 Property |
Reference to a Property within a Statement |
direct |
has_attributes | * AttributeSpecification |
Declares a relation that associates a Thing (or another attribute) with an ... |
ThingMixin |
is_characterized_by | * Statement |
Qualifies relationships between a subject Thing and an object Thing with ... |
ThingMixin |
schema_type | 0..1 Uriorcurie |
Type designator of a schema element for validation and schema structure handl... | ThingMixin |
type | 0..1 Uriorcurie |
State that the subject is an instance of a particular RDF class | ThingMixin |
range | 0..1 Uriorcurie |
Declares that the value of a Thing or AttributeSpecification are instance... |
ValueSpecificationMixin |
value | 0..1 String |
Value of a thing | ValueSpecificationMixin |
Usages
used by | used in | type | used |
---|---|---|---|
ThingMixin | has_attributes | range | AttributeSpecification |
AttributeSpecification | has_attributes | range | AttributeSpecification |
Property | has_attributes | range | AttributeSpecification |
Thing | has_attributes | range | AttributeSpecification |
ValueSpecification | has_attributes | range | AttributeSpecification |
Identifier and Mapping Information
Schema Source
- from schema: https://concepts.datalad.org/s/things/v1
Mappings
Mapping Type | Mapped Value |
---|---|
self | dlthings:AttributeSpecification |
native | dlthings:AttributeSpecification |
exact | sio:SIO_000614 |
close | dlthings:Thing |
Examples
Example: AttributeSpecification-01-minimal
# Technically, the only required aspect of an AttributeSpecification
# is a predicate. That is because an attribute may not only have a
# single value, but is a more complex collection of attribute facets.
predicate: dcterms:title
value: "My attribute"
Example: AttributeSpecification-02-with-attributes
# An attribute without a singular value, but attributes of it
# own instead.
predicate: dcterms:identifier
type: ADMS:Identifier
has_attributes:
- predicate: skos:notation
value: 5008462-8
- predicate: ADMS:schemaAgency
value: https://d-nb.info
LinkML Source
Direct
name: AttributeSpecification
description: An attribute is conceptually a thing, but it requires no dedicated identifier
(`id`). Instead, it is linked to a `Thing` via its `has_attributes` slot and declares
a `predicate` on the nature of the relationship.
from_schema: https://concepts.datalad.org/s/things/v1
exact_mappings:
- sio:SIO_000614
close_mappings:
- dlthings:Thing
mixins:
- ThingMixin
- ValueSpecificationMixin
slots:
- predicate
slot_usage:
predicate:
name: predicate
required: true
Induced
name: AttributeSpecification
description: An attribute is conceptually a thing, but it requires no dedicated identifier
(`id`). Instead, it is linked to a `Thing` via its `has_attributes` slot and declares
a `predicate` on the nature of the relationship.
from_schema: https://concepts.datalad.org/s/things/v1
exact_mappings:
- sio:SIO_000614
close_mappings:
- dlthings:Thing
mixins:
- ThingMixin
- ValueSpecificationMixin
slot_usage:
predicate:
name: predicate
required: true
attributes:
predicate:
name: predicate
description: Reference to a `Property` within a `Statement`.
from_schema: https://concepts.datalad.org/s/things/v1
exact_mappings:
- rdf:predicate
rank: 1000
slot_uri: rdf:predicate
alias: predicate
owner: AttributeSpecification
domain_of:
- AttributeSpecification
- Statement
relational_role: PREDICATE
range: Property
required: true
multivalued: false
inlined: false
has_attributes:
name: has_attributes
description: Declares a relation that associates a `Thing` (or another attribute)
with an attribute, where an attribute is an intrinsic characteristic, such as
a quality, capability, disposition, function, or is an externally derived attribute
determined from some descriptor (e.g. a quantity, position, label/identifier).
Technically, this declaration is done via an `AttributeSpecification` that combines
a `predicate` with a value declaration and the attribute-related slots of a
`Thing`. Importantly, such attributes are declared inline, because they do not
have a unique identifier. If an identifier is available, a `Thing` declaration
(see `relation`), and a qualification of that relationship via a `Statement`
(see `is_characterized_by`) should be preferred.
from_schema: https://concepts.datalad.org/s/things/v1
exact_mappings:
- sio:SIO_000008
rank: 1000
slot_uri: dlthings:has_attributes
alias: has_attributes
owner: AttributeSpecification
domain_of:
- ThingMixin
range: AttributeSpecification
multivalued: true
inlined: true
inlined_as_list: true
is_characterized_by:
name: is_characterized_by
description: Qualifies relationships between a subject `Thing` and an object `Thing`
with a `Statement` declaring a `predicate` on the nature of the relationship.
from_schema: https://concepts.datalad.org/s/things/v1
exact_mappings:
- obo:RO_0000053
rank: 1000
slot_uri: dlthings:is_characterized_by
alias: is_characterized_by
owner: AttributeSpecification
domain_of:
- ThingMixin
range: Statement
multivalued: true
inlined: true
inlined_as_list: true
schema_type:
name: schema_type
annotations:
sh:path:
tag: sh:path
value: dlthings:schema_type
description: 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/things/v1
exact_mappings:
- dcterms:type
rank: 1000
slot_uri: rdf:type
designates_type: true
alias: schema_type
owner: AttributeSpecification
domain_of:
- ThingMixin
range: uriorcurie
type:
name: type
description: State that the subject is an instance of a particular RDF class.
from_schema: https://concepts.datalad.org/s/things/v1
exact_mappings:
- dcterms:type
rank: 1000
slot_uri: rdf:type
alias: type
owner: AttributeSpecification
domain_of:
- ThingMixin
range: uriorcurie
range:
name: range
description: Declares that the value of a `Thing` or `AttributeSpecification`
are instances of a particular class.
from_schema: https://concepts.datalad.org/s/things/v1
exact_mappings:
- rdfs:range
rank: 1000
slot_uri: rdfs:range
alias: range
owner: AttributeSpecification
domain_of:
- ValueSpecificationMixin
range: uriorcurie
value:
name: value
description: Value of a thing.
from_schema: https://concepts.datalad.org/s/things/v1
exact_mappings:
- rdf:value
rank: 1000
slot_uri: rdfs:value
alias: value
owner: AttributeSpecification
domain_of:
- ValueSpecificationMixin
relational_role: OBJECT
range: string