Skip to content

Commit

Permalink
Add the predicate_type slot to Mapping and MappingSet classes.
Browse files Browse the repository at this point in the history
The `predicate_type` slot has been _defined_ but never _used_ in any
classes. Presumably this is an oversight, so we add it here to the
Mapping and MappingSet classes. We make it a “propagapable” slot, for
consistency with the `subject_type` and `object_type` slots.

closes #404
  • Loading branch information
gouttegd committed Dec 20, 2024
1 parent 7d7bdfe commit 46ecab5
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## Next

- Add `composed entity expression` as a new value in the `EntityType` enumeration ([issue](https://github.com/mapping-commons/sssom/issues/402)).
- Add `predicate_type` slot (previously defined but unused) to the `Mapping` and `MappingSet` classes ([issue](https://github.com/mapping-commons/sssom/issues/404)).
- TBD

## SSSOM version 1.0.0
Expand Down
11 changes: 11 additions & 0 deletions examples/schema/predicate-types.sssom.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#curie_map:
# COMENT: https://example.com/entities/
# ORGENT: https://example.org/entities/
# ORGPRO: https://example.org/properties/
#mapping_set_id: https://w3id.org/sssom/commons/examples/predicate-types.sssom.tsv
#license: https://creativecommons.org/licenses/by/4.0/
subject_id subject_label predicate_id object_id object_label mapping_justification predicate_type
ORGENT:0001 alice ORGPRO:example_annot_property COMENT:0011 alpha semapv:ManualMappingCuration owl annotation property
ORGENT:0002 bob ORGPRO:example_object_property COMENT:0012 beta semapv:ManualMappingCuration owl object property
ORGENT:0004 daphne ORGPRO:example_data_property COMENT:0014 delta semapv:ManualMappingCuration owl data property
ORGENT:0005 eve ORGPRO:example_rdf_property COMENT:0015 epsilon semapv:ManualMappingCuration rdf property
3 changes: 2 additions & 1 deletion src/docs/spec-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ For convenience, here is the current list of propagatable slots:
* `subject_preprocessing`,
* `subject_source`,
* `subject_source_version`,
* `subject_type`.
* `subject_type`,
* `predicate_type`.

When a mapping set object has a value in one of its propagatable slots, this MUST be interpreted as if all mappings within the set had that same value in their corresponding slot. For example, if a set has the value _foo_ in its `mapping_tool` slot, all the mappings in that set MUST be treated as if they had the value _foo_ in their `mapping_tool` slot.

Expand Down
9 changes: 8 additions & 1 deletion src/sssom_schema/schema/sssom_schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,13 @@ slots:
- value: has cross-reference
description: The label of the oboInOwl:hasDbXref property to represent cross-references.
predicate_type:
description: The type of entity that is being mapped.
description: The type of the predicate used to map the subject and object entities.
range: entity_type_enum
see_also:
- https://github.com/mapping-commons/sssom/issues/143
- https://github.com/mapping-commons/sssom/blob/master/examples/schema/predicate-types.sssom.tsv
annotations:
propagated: true
examples:
- value: owl:AnnotationProperty
- value: owl:ObjectProperty
Expand Down Expand Up @@ -721,6 +726,7 @@ classes:
- object_type
- object_source
- object_source_version
- predicate_type
- mapping_provider
- mapping_tool
- mapping_tool_version
Expand Down Expand Up @@ -761,6 +767,7 @@ classes:
- object_type
- object_source
- object_source_version
- predicate_type
- mapping_provider
- mapping_source
- mapping_cardinality
Expand Down

0 comments on commit 46ecab5

Please sign in to comment.