Skip to content

Commit 01ca3b6

Browse files
authored
Merge branch 'master' into rdf-spec
2 parents 0a4d035 + 15d7a41 commit 01ca3b6

File tree

17 files changed

+3235
-832
lines changed

17 files changed

+3235
-832
lines changed

.github/workflows/pypi-publish.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ name: Publish Python Package
33

44
on:
55
release:
6-
# Trigger the workflow only for real releases but not for draft releases
7-
types: [created]
6+
# Run when a release is published or a prerelease is published (not on draft creation)
7+
types: [published]
88

99
jobs:
1010
build:
@@ -54,7 +54,7 @@ jobs:
5454
path: dist
5555

5656
- name: Publish package 📦 to PyPI
57-
if: github.event_name == 'release'
5857
uses: pypa/[email protected]
5958
with:
60-
verbose: true
59+
verbose: true
60+
skip-existing: true

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
- Add `cardinality_scope` slot ([issue](https://github.com/mapping-commons/sssom/issues/467)).
1717
- Add new value `0:0` to the `mapping_cardinality_enum` ([issue](https://github.com/mapping-commons/sssom/issues/477)).
1818
- Add specification for the RDF serialisation ([discussion](https://github.com/mapping-commons/sssom/discussions/454)).
19+
- Development snapshots of SSSOM schema can now be released using GitHub's pre-release feature ([issue](https://github.com/mapping-commons/sssom/issues/490)).
1920

2021
## SSSOM version 1.0.0
2122

CONTRIBUTING.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ The following is a set of guidelines for contributing to SSSOM. They are derived
1818
* [Your First Code Contribution](#your-first-code-contribution)
1919
* [Pull Requests](#pull-requests)
2020
* [Local Testing](#local-testing)
21+
* [Making a release](#releasing)
2122

2223
[Styleguides](#styleguides)
2324
* [Git Commit Messages](#git-commit-messages)
@@ -170,6 +171,34 @@ You may get a warning about “incompatible sssom-schema versions”; this is du
170171
$ poetry run tox -e py
171172
```
172173

174+
### Making a release
175+
176+
<a id="releasing"></a>
177+
178+
Before making a release, check that all the files that are derived from
179+
the LinkML schema are up-to-date. If they are not:
180+
181+
* re-generate them by running `poetry run make all`;
182+
* commit all the files that were modified as a result of that
183+
command.
184+
185+
Update any other file as needed (e.g. changelog, README, copyright
186+
notices, etc.), and commit the corresponding changes.
187+
188+
Once the repository is ready for a release, tag the head commit of the
189+
main branch with a version number tag. If the release is intended to be
190+
published on the Python Package Index (which it normally should), the
191+
version tag MUST be of the form `vVERSION` (`v` prefix followed by the
192+
actual intended version number).
193+
194+
Push all changes to the main GitHub repository (including the tag), and
195+
create the release from the new tag.
196+
197+
Be careful that any new release that bumps either the major or the minor
198+
version number, and that is not a _pre_ release, will be interpreted not
199+
merely as a new version of the `sssom_schema` Python package, but as a
200+
new version of the SSSOM specification!
201+
173202

174203
## Styleguides
175204

project/excel/sssom_schema.xlsx

793 Bytes
Binary file not shown.

project/graphql/sssom_schema.graphql

Lines changed: 70 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,42 @@
11
# metamodel_version: 1.7.0
2+
enum EntityTypeEnum
3+
{
4+
owl_class
5+
owl_object_property
6+
owl_data_property
7+
owl_annotation_property
8+
owl_named_individual
9+
skos_concept
10+
rdfs_resource
11+
rdfs_class
12+
rdfs_literal
13+
rdfs_datatype
14+
rdf_property
15+
composed_entity_expression
16+
}
17+
18+
enum MappingCardinalityEnum
19+
{
20+
__1__COLON__1
21+
__1__COLON__n
22+
n__COLON__1
23+
n__COLON__n
24+
__1__COLON__0
25+
__0__COLON__1
26+
__0__COLON__0
27+
}
28+
29+
enum PredicateModifierEnum
30+
{
31+
Not
32+
}
33+
34+
enum SssomVersionEnum
35+
{
36+
__1__FULL_STOP__0
37+
__1__FULL_STOP__1
38+
}
39+
240
type ExtensionDefinition
341
{
442
slotName: Ncname!
@@ -8,6 +46,7 @@ type ExtensionDefinition
846

947
type Mapping
1048
{
49+
recordId: EntityReference
1150
subjectId: EntityReference
1251
subjectLabel: String
1352
subjectCategory: String
@@ -24,17 +63,20 @@ type Mapping
2463
reviewerLabel: [String]
2564
creatorId: [EntityReference]
2665
creatorLabel: [String]
27-
license: Uri
66+
license: NonRelativeURI
2867
subjectType: EntityTypeEnum
2968
subjectSource: EntityReference
3069
subjectSourceVersion: String
3170
objectType: EntityTypeEnum
3271
objectSource: EntityReference
3372
objectSourceVersion: String
34-
mappingProvider: Uri
73+
predicateType: EntityTypeEnum
74+
mappingProvider: NonRelativeURI
3575
mappingSource: EntityReference
3676
mappingCardinality: MappingCardinalityEnum
77+
cardinalityScope: [String]
3778
mappingTool: String
79+
mappingToolId: EntityReference
3880
mappingToolVersion: String
3981
mappingDate: Date
4082
publicationDate: Date
@@ -48,7 +90,7 @@ type Mapping
4890
objectPreprocessing: [EntityReference]
4991
similarityScore: Double
5092
similarityMeasure: String
51-
seeAlso: [String]
93+
seeAlso: [NonRelativeURI]
5294
issueTrackerItem: EntityReference
5395
other: String
5496
comment: String
@@ -59,51 +101,59 @@ type MappingRegistry
59101
mappingRegistryId: EntityReference!
60102
mappingRegistryTitle: String
61103
mappingRegistryDescription: String
62-
imports: [Uri]
104+
imports: [NonRelativeURI]
63105
mappingSetReferences: [MappingSetReference]
64-
documentation: Uri
65-
homepage: Uri
66-
issueTracker: Uri
106+
documentation: NonRelativeURI
107+
homepage: NonRelativeURI
108+
issueTracker: NonRelativeURI
67109
}
68110

69111
type MappingSet
70112
{
113+
sssomVersion: SssomVersionEnum
71114
curieMap: [Prefix]
72115
mappings: [Mapping]
73-
mappingSetId: Uri!
116+
mappingSetId: NonRelativeURI!
74117
mappingSetVersion: String
75-
mappingSetSource: [Uri]
118+
mappingSetSource: [NonRelativeURI]
76119
mappingSetTitle: String
77120
mappingSetDescription: String
121+
mappingSetConfidence: Double
78122
creatorId: [EntityReference]
79123
creatorLabel: [String]
80-
license: Uri!
124+
license: NonRelativeURI!
81125
subjectType: EntityTypeEnum
82126
subjectSource: EntityReference
83127
subjectSourceVersion: String
84128
objectType: EntityTypeEnum
85129
objectSource: EntityReference
86130
objectSourceVersion: String
87-
mappingProvider: Uri
131+
predicateType: EntityTypeEnum
132+
mappingProvider: NonRelativeURI
133+
cardinalityScope: [String]
88134
mappingTool: String
135+
mappingToolId: EntityReference
89136
mappingToolVersion: String
90137
mappingDate: Date
91138
publicationDate: Date
92139
subjectMatchField: [EntityReference]
93140
objectMatchField: [EntityReference]
94141
subjectPreprocessing: [EntityReference]
95142
objectPreprocessing: [EntityReference]
96-
seeAlso: [String]
97-
issueTracker: Uri
143+
similarityMeasure: String
144+
curationRule: [EntityReference]
145+
curationRuleText: [String]
146+
seeAlso: [NonRelativeURI]
147+
issueTracker: NonRelativeURI
98148
other: String
99149
comment: String
100150
extensionDefinitions: [ExtensionDefinition]
101151
}
102152

103153
type MappingSetReference
104154
{
105-
mappingSetId: Uri!
106-
mirrorFrom: Uri
155+
mappingSetId: NonRelativeURI!
156+
mirrorFrom: NonRelativeURI
107157
registryConfidence: Double
108158
mappingSetGroup: String
109159
lastUpdated: Date
@@ -125,3 +175,8 @@ type Propagatable
125175
propagated: Boolean
126176
}
127177

178+
type Versionable
179+
{
180+
addedIn: SssomVersionEnum
181+
}
182+

0 commit comments

Comments
 (0)