Skip to content

Commit 0739012

Browse files
authored
Merge branch 'master' into upgrade-github-actions
2 parents 8b794c5 + 27ca352 commit 0739012

3 files changed

Lines changed: 56 additions & 15 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
- Updated the RDF binding of sssom:publication_date from dcterms:created to dcterms:issued, which is the more appropriate property to use in this case.
1212
- Add `mapping_tool_id` slot to the `Mapping` and `MappingSet` classes ([issue](https://github.com/mapping-commons/sssom/issues/449)).
1313
- Add `record_id` slot to the `Mapping` class ([issue](https://github.com/mapping-commons/sssom/issues/359)).
14+
- Change all URI-typed slots to clarify that they expect _non-relative_ URIs as values ([issue](https://github.com/mapping-commons/sssom/issues/448)).
1415

1516
## SSSOM version 1.0.0
1617

src/docs/spec-model.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,4 +235,5 @@ Not all changes can be annotated thusly in the LinkML model, though. For changes
235235

236236
* The `similarity_measure` slot, which previously only existed on the `Mapping` class, has been added to the `MappingSet` class.
237237
* The value `composed entity expression` has been added to the `EntityType` enumeration.
238-
* The type of the `see_also` slot has been changed to `xsd:anyURI`.
238+
* The type of the `see_also` slot has been changed to `sssom:NonRelativeURI`. When parsing a SSSOM 1.0 set, implementations SHOULD accept arbitrary string values in that slot.
239+
* All slots that were typed as `xsd:anyURI` have been re-typed as `sssom:NonRelativeURI`. When parsing a SSSOM 1.0 set, implementations SHOULD accept relative URI values in those slots.

src/sssom_schema/schema/sssom_schema.yaml

Lines changed: 53 additions & 14 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
@@ -85,6 +92,38 @@ types:
8592
uri: rdfs:Resource
8693
see_also:
8794
- https://mapping-commons.github.io/sssom/spec/#tsv
95+
NonRelativeURI:
96+
typeof: uri
97+
description: >-
98+
A URI as per RFC 3986, that is a string that matches the production of the "URI"
99+
rule defined in Appendix A of that RFC. Contrary to the underlying LinkML type,
100+
this specifically excludes _relative URI references_, which do not start with a
101+
scheme component.
102+
Relative URI references are forbidden because SSSOM has no built-in mechanism to
103+
provide the base URI that would be needed to resolve relative URI references into
104+
non-relative ones.
105+
see_also:
106+
- https://github.com/mapping-commons/sssom/issues/448
107+
examples:
108+
- value: https://example.org/path/to/file.txt#L4
109+
description: A URI that is URL to a HTTP resource.
110+
- value: urn:oasis:names:tc:entity:xmlns:xml:catalog
111+
description: >-
112+
A URI that is the URN of the namespace for the OASIS XML Catalogs specification.
113+
- value: ldap://example.org/cn=Alice,dc=example,dc=org?mail
114+
description: A URI that is a LDAP query URL.
115+
- value: mailto:alice@example.org
116+
description: A URI that is an email address.
117+
- value: file.txt
118+
description: An _invalid_ example, as it a relative URI (path only, no scheme).
119+
- value: /path/to/file.txt
120+
description: >-
121+
An _invalid_ example; though it appears to be an _absolute path_, it is a
122+
_relative URI_ because of the absence of a scheme.
123+
- value: //example.org/path/to/file.txt
124+
description: >-
125+
An _invalid_ example; though it includes an authority component (example.org),
126+
it has no scheme and is therefore a _relative URI_.
88127
89128
slots:
90129
prefix_name:
@@ -112,7 +151,7 @@ slots:
112151
- https://github.com/mapping-commons/sssom/blob/master/examples/schema/curie_map.sssom.tsv
113152
mirror_from:
114153
description: A URL location from which to obtain a resource, such as a mapping set.
115-
range: uri
154+
range: NonRelativeURI
116155
registry_confidence:
117156
description: This value is set by the registry that indexes the mapping set. It reflects the confidence the registry has in the correctness of the mappings in the mapping set.
118157
range: double
@@ -145,13 +184,13 @@ slots:
145184
imports:
146185
description: A list of registries that should be imported into this one.
147186
multivalued: true
148-
range: uri
187+
range: NonRelativeURI
149188
documentation:
150189
description: A URL to the documentation of this mapping commons.
151-
range: uri
190+
range: NonRelativeURI
152191
homepage:
153192
description: A URL to a homepage of this mapping commons.
154-
range: uri
193+
range: NonRelativeURI
155194
mappings:
156195
description: Contains a list of mapping objects.
157196
range: mapping
@@ -331,9 +370,9 @@ slots:
331370
- value: owl:Class
332371
mapping_set_id:
333372
description: A globally unique identifier for the mapping set (not each individual
334-
mapping). Should be IRI, ideally resolvable.
373+
mapping). Should ideally be resolvable.
335374
required: true
336-
range: uri
375+
range: NonRelativeURI
337376
examples:
338377
- value: http://purl.obolibrary.org/obo/mondo/mappings/mondo_exactmatch_ncit.sssom.tsv
339378
description: A persistent URI pointing to the latest version of the Mondo - NCIT mapping in the Mondo namespace.
@@ -462,7 +501,7 @@ slots:
462501
license:
463502
description: A url to the license of the mapping. In absence of a license we assume
464503
no license.
465-
range: uri
504+
range: NonRelativeURI
466505
slot_uri: dcterms:license
467506
examples:
468507
- value: https://creativecommons.org/licenses/by/4.0/
@@ -510,7 +549,7 @@ slots:
510549
mapping_provider:
511550
description: URL pointing to the source that provided the mapping, for example
512551
an ontology that already contains the mappings, or a database from which it was derived.
513-
range: uri
552+
range: NonRelativeURI
514553
instantiates: sssom:Propagatable
515554
annotations:
516555
propagated: true
@@ -522,7 +561,7 @@ slots:
522561
mapping_set_source:
523562
description: A mapping set or set of mapping set that was used to derive the mapping set.
524563
slot_uri: prov:wasDerivedFrom
525-
range: uri
564+
range: NonRelativeURI
526565
multivalued: true
527566
examples:
528567
- value: http://purl.obolibrary.org/obo/mondo/mappings/2022-05-20/mondo_exactmatch_ncit.sssom.tsv
@@ -753,7 +792,7 @@ slots:
753792
- https://github.com/mapping-commons/sssom/blob/master/examples/schema/issue_tracker_item.sssom.tsv
754793
issue_tracker:
755794
description: A URL location of the issue tracker for this entity.
756-
range: uri
795+
range: NonRelativeURI
757796
examples:
758797
- value: https://github.com/mapping-commons/mh_mapping_initiative/issues
759798
description: A URL resolving to the issue tracker of the Mouse-Human mapping initiative
@@ -769,7 +808,7 @@ slots:
769808
examples:
770809
- value: https://github.com/mapping-commons/mh_mapping_initiative/pull/41
771810
description: A URL pointing to the pull request that introduced the mapping.
772-
range: uri
811+
range: NonRelativeURI
773812
multivalued: true
774813
see_also:
775814
- https://github.com/mapping-commons/sssom/issues/422

0 commit comments

Comments
 (0)