diff --git a/examples/embedded/uberon-external.sssom.tsv b/examples/embedded/uberon-external.sssom.tsv new file mode 100644 index 00000000..07e7abff --- /dev/null +++ b/examples/embedded/uberon-external.sssom.tsv @@ -0,0 +1,20 @@ +# curie_map: +# FBbt: http://purl.obolibrary.org/obo/FBbt_ +# UBERON: http://purl.obolibrary.org/obo/UBERON_ +# ZFA: http://purl.obolibrary.org/obo/ZFA_ +# MYINTERNALNAMESPACE: http://my.internal.ns/vocab/ +# semapv: https://w3id.org/semapv/ +# skos: http://www.w3.org/2004/02/skos/core# +# dc: http://purl.org/dc/terms/ +# license: https://w3id.org/sssom/license/unspecified +# mapping_set_id: https://w3id.org/sssom/mappings/12345287613876278135 +# extension_definition: +# - key: modified +# value: dc:modified +# - key: mapping_id +# value: MYINTERNALNAMESPACE:mapping_id +# - key: funded_by +# value: foaf:fundedBy +subject_id predicate_id object_id mapping_justification modified mapping_id funded_by +UBERON:0000004 skos:exactMatch ZFA:0000047 semapv:UnspecifiedMatching 2022-03-01 M6972619762 NIH:RM1-HG010860-01 +UBERON:0000005 skos:exactMatch FBbt:00005157 semapv:UnspecifiedMatching 2022-02-01 M98879876121 NIH:RM1-HG010860-01 \ No newline at end of file diff --git a/src/sssom_schema/schema/sssom_schema.yaml b/src/sssom_schema/schema/sssom_schema.yaml index 86ff1226..b2c3b2f3 100644 --- a/src/sssom_schema/schema/sssom_schema.yaml +++ b/src/sssom_schema/schema/sssom_schema.yaml @@ -456,15 +456,38 @@ slots: slot_uri: rdfs:seeAlso range: string multivalued: true + extension: + description: A way to extend SSSOM mapping fields with your use case specific information. + Any extension must be declaced in the extension_definition element on mapping_set level. + Extensions MUST NOT alter the semantics of the mapping, as they will be disregarded by most standard tools, + i.e. not included as part of API requests and others. + range: key value pair + multivalued: true + extension_definition: + description: A way to extend SSSOM mapping fields with your use case specific information. + # can I make the 'value' slot of type resource for this element, but otherwise re-use the generic key-value pair class? + # Or better keep that element optional and simply tread extensions as package that is ignored by transformers? + range: key value pair + multivalued: true other: - description: Pipe separated list of key value pairs for properties not part of - the SSSOM spec. Can be used to encode additional provenance data. + description: An open ended field in which any information can be added that can be captured as a string. It is recommended + to avoid using this field in favour of the 'comment' or 'extenion fields. range: string comment: description: Free text field containing either curator notes or text generated by tool providing additional informative information. slot_uri: rdfs:comment range: string + key: + description: Generic slot for key, which should correspond to a entity reference + range: string + # Any more restrictions, like alphabetical? + examples: + - value: mapping_id + - value: audience + value: + description: Generic slot for a value with no restrictions + range: string classes: mapping set: description: Represents a set of mappings @@ -497,6 +520,8 @@ classes: - see_also - other - comment + - extension + - extension_definition mapping: description: Represents an individual mapping between a pair of entities slots: @@ -540,6 +565,7 @@ classes: - see_also - other - comment + - extension class_uri: owl:Axiom mapping registry: description: A registry for managing mapping sets. It holds a set of @@ -563,3 +589,8 @@ classes: - mapping_set_group - last_updated - local_name + key value pair: + description: A simple structure to hold key-value pairs + slots: + - key + - value \ No newline at end of file