Skip to content

Commit 1bf7ffe

Browse files
gouttegdehartley
andauthored
Assign a property to ALL enum values. (#458)
Related to #454 This PR ensures that all enum values (_except_ for the `mapping_cardinality_enum`) throughout the LinkML model have a property assigned to them. This is important for RDF serialisation, so that all enum values are consistently rendered as resource identifiers, instead of having some values being rendered as resource identifiers and some values being rendered as string literals. I normally agree with @nichtich ’s sentiment (expressed in #450) that we should as much as possible reuse existing properties from outside SSSOM (as we already do, for example, for most values of the `entity_type_enum`) and avoid creating SSSOM-specific properties in the `https://w3id.org/sssom/` namespace. However, for all the enum values concerned in this PR, I am not aware of pre-existing properties that would be suitable, so I did in fact create a bunch of SSSOM-specific properties. I am open to replacing some of them by more appropriate existing properties if someone can suggest some. Also open to discussing the naming of those properties. Of note, it would be nice if those properties could resolve to something meaningful to users. In particular, for the values in `sssom_version_enum`, I think most people would reasonably expect `https://w3id.org/sssom/version1.0` to resolve to a frozen version of the full specification as it was in the 1.0 release (and likewise for `https://w3id.org/sssom/version1.1` and any futur version). But this is an infrastructure issue that I consider out of scope for this PR. --------- Co-authored-by: Emily Hartley <ehartley@c-path.org>
1 parent 70d7afe commit 1bf7ffe

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

src/sssom_schema/schema/sssom_schema.yaml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ default_range: string
2727
enums:
2828
sssom_version_enum:
2929
permissible_values:
30-
"1.0": SSSOM specification version 1.0
31-
"1.1": SSSOM specification version 1.1
30+
"1.0":
31+
meaning: sssom:version1.0
32+
description: SSSOM specification version 1.0
33+
"1.1":
34+
meaning: sssom:version1.1
35+
description: SSSOM specification version 1.1
3236
entity_type_enum:
3337
permissible_values:
3438
owl class:
@@ -59,14 +63,17 @@ enums:
5963
rdf property:
6064
meaning: rdf:Property
6165
composed entity expression:
66+
meaning: sssom:ComposedEntityExpression
6267
description: This value indicates that the entity ID does not represent a single entity, but a composite involving several individual entities. This value MUST NOT be used in the predicate_type slot. This specifications does not prescribe how an ID representing a composite entity should be interpreted; this is left at the discretion of applications.
6368
see_also:
6469
- https://github.com/mapping-commons/sssom/issues/402
6570
- https://github.com/mapping-commons/sssom/blob/master/examples/schema/composite-entities.sssom.tsv
6671

6772
predicate_modifier_enum:
6873
permissible_values:
69-
Not: Negating the mapping predicate. The meaning of the triple becomes subject_id is not a predicate_id match to object_id.
74+
Not:
75+
description: Negating the mapping predicate. The meaning of the triple becomes subject_id is not a predicate_id match to object_id.
76+
meaning: sssom:NegatedPredicate
7077
mapping_cardinality_enum:
7178
permissible_values:
7279
"1:1": One-to-one mapping

0 commit comments

Comments
 (0)