Skip to content

Commit c7b3944

Browse files
authored
Merge pull request #563 from apdavison/service-interfaces
Remove WebService and WebServiceVersion, replace with Service, Interface and InterfaceDependency
2 parents c502e42 + a5e7b4d commit c7b3944

File tree

7 files changed

+190
-129
lines changed

7 files changed

+190
-129
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"_type": "core:Dependency",
3+
"required": [
4+
"fulfilledBy"
5+
],
6+
"properties": {
7+
"fulfilledBy": {
8+
"_instruction": "Enter the resource that fulfils this dependency.",
9+
"_linkedTypes": [
10+
"core:Configuration",
11+
"core:File",
12+
"core:InterfaceVersion",
13+
"core:SoftwareVersion",
14+
"core:WebResource"
15+
]
16+
},
17+
"failureImpact": {
18+
"_instruction": "Add the impacts that failure of this dependency would have.",
19+
"type": "array",
20+
"minItems": 1,
21+
"uniqueItems": true,
22+
"_linkedTypes": [
23+
"controlledTerms:DependencyImpact"
24+
]
25+
}
26+
}
27+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"_type": "core:Interface",
3+
"_extends": "products/researchProduct.schema.tpl.json",
4+
"required": [
5+
"communicationProtocol",
6+
"interfaceType"
7+
],
8+
"properties": {
9+
"communicationProtocol": {
10+
"_instruction": "Enter the communication protocol used by this interface.",
11+
"_linkedTypes": [
12+
"controlledTerms:CommunicationProtocol"
13+
]
14+
},
15+
"interfaceType": {
16+
"_instruction": "Enter the type of this interface.",
17+
"_linkedTypes": [
18+
"controlledTerms:CommunicationInterfaceType"
19+
]
20+
}
21+
}
22+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"_type": "core:InterfaceVersion",
3+
"_extends": "products/researchProductVersion.schema.tpl.json",
4+
"properties": {
5+
"isPrecededBy": {
6+
"_instruction": "Add the interface version preceding this one.",
7+
"_linkedTypes": [
8+
"core:InterfaceVersion"
9+
]
10+
},
11+
"isVariantOf": {
12+
"type": "array",
13+
"minItems": 1,
14+
"uniqueItems": true,
15+
"_instruction": "Add all interface versions that can be used alternatively to this one.",
16+
"_linkedTypes": [
17+
"core:InterfaceVersion"
18+
]
19+
},
20+
"isVersionOf": {
21+
"_instruction": "Add the version-independent information about this interface.",
22+
"_linkedTypes": [
23+
"core:Interface"
24+
]
25+
},
26+
"specification": {
27+
"_instruction": "Enter the specification document for this interface version.",
28+
"_linkedTypes": [
29+
"core:File",
30+
"core:WebResource"
31+
]
32+
}
33+
}
34+
}
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
{
2+
"_type": "core:Service",
3+
"required": [
4+
"fullDocumentation",
5+
"fullName",
6+
"scope",
7+
"shortName"
8+
],
9+
"properties": {
10+
"contribution": {
11+
"type": "array",
12+
"minItems": 1,
13+
"uniqueItems": true,
14+
"_instruction": "Add all contributions to this service.",
15+
"_embeddedTypes": [
16+
"core:Contribution"
17+
]
18+
},
19+
"description": {
20+
"type": "string",
21+
"_instruction": "Enter a description (or abstract) of this service."
22+
},
23+
"fullDocumentation": {
24+
"_instruction": "Add the publication or file that acts as the full documentation of this service.",
25+
"_linkedTypes": [
26+
"core:DOI",
27+
"core:File",
28+
"core:ISBN",
29+
"core:WebResource"
30+
]
31+
},
32+
"fullName": {
33+
"type": "string",
34+
"_instruction": "Enter a descriptive full name (or title) for this service."
35+
},
36+
"howToCite": {
37+
"type": "string",
38+
"_instruction": "Enter the preferred citation text for this service."
39+
},
40+
"keyword": {
41+
"type": "array",
42+
"minItems": 1,
43+
"uniqueItems": true,
44+
"_instruction": "Add all relevant keywords to this service, either by adding controlled terms or by suggesting new terms.",
45+
"_linkedCategories": [
46+
"keyword"
47+
]
48+
},
49+
"relatedPublication": {
50+
"type": "array",
51+
"minItems": 1,
52+
"uniqueItems": true,
53+
"_instruction": "Add all further publications besides the full documentation that provide the original context for the production of this service (e.g., an original research article describing the service).",
54+
"_linkedCategories": [
55+
"publicationReference"
56+
]
57+
},
58+
"scope": {
59+
"type": "array",
60+
"minItems": 1,
61+
"uniqueItems": true,
62+
"_instruction": "Add the scope of this service, i.e., what analysis methods does it perform, what kinds of experimental data is it intended for.",
63+
"_linkedCategories": [
64+
"toolScope"
65+
]
66+
},
67+
"shortName": {
68+
"type": "string",
69+
"_instruction": "Enter a short name (or alias) for this service that could be used as a shortened display title."
70+
},
71+
"supportChannel": {
72+
"type": "array",
73+
"minItems": 1,
74+
"uniqueItems": true,
75+
"_instruction": "Enter all channels through which a user can receive support for using this service.",
76+
"items": {
77+
"type": "string",
78+
"_formats": [
79+
"email",
80+
"iri"
81+
]
82+
}
83+
}
84+
}
85+
}

schemas/products/softwareVersion.schema.tpl.json

Lines changed: 22 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,16 @@
55
"setupComponent"
66
],
77
"required": [
8-
"applicationCategory",
9-
"device",
10-
"feature",
11-
"language",
12-
"operatingSystem",
13-
"programmingLanguage"
8+
"scope"
149
],
1510
"properties": {
16-
"applicationCategory": {
11+
"dependency": {
1712
"type": "array",
1813
"minItems": 1,
1914
"uniqueItems": true,
20-
"_instruction": "Add all categories to which this software version belongs.",
21-
"_linkedTypes": [
22-
"controlledTerms:SoftwareApplicationCategory"
23-
]
24-
},
25-
"developer": {
26-
"type": "array",
27-
"minItems": 1,
28-
"uniqueItems": true,
29-
"_instruction": "Add all parties that developed this software version. Note that these developers will overwrite the developer list provided for the overarching software.",
30-
"_linkedCategories": [
31-
"legalPerson"
32-
]
33-
},
34-
"device": {
35-
"type": "array",
36-
"minItems": 1,
37-
"uniqueItems": true,
38-
"_instruction": "Add all operating devices compatible with this software version.",
39-
"_linkedTypes": [
40-
"controlledTerms:OperatingDevice"
15+
"_instruction": "Add all dependencies of this software version.",
16+
"_embeddedTypes": [
17+
"core:Dependency"
4118
]
4219
},
4320
"digitalIdentifier": {
@@ -48,25 +25,13 @@
4825
"core:RRID"
4926
]
5027
},
51-
"feature": {
28+
"implements": {
5229
"type": "array",
5330
"minItems": 1,
5431
"uniqueItems": true,
55-
"_instruction": "Add all distinguishing characteristics of this software version (e.g., performance, portability or functionality).",
32+
"_instruction": "Add all interface versions that are implemented by this software version.",
5633
"_linkedTypes": [
57-
"controlledTerms:SoftwareFeature"
58-
]
59-
},
60-
"hasPart": {
61-
"type": "array",
62-
"minItems": 1,
63-
"uniqueItems": true,
64-
"_instruction": "Add all software versions that supplement this software version.",
65-
"_linkedTypes": [
66-
"core:ModelVersion",
67-
"core:SoftwareVersion",
68-
"sands:AnatomicalAtlasVersion",
69-
"sands:CommonCoordinateFrameworkVersion"
34+
"core:InterfaceVersion"
7035
]
7136
},
7237
"inputFormat": {
@@ -108,6 +73,15 @@
10873
"controlledTerms:Language"
10974
]
11075
},
76+
"operatingDevice": {
77+
"type": "array",
78+
"minItems": 1,
79+
"uniqueItems": true,
80+
"_instruction": "Add all operating devices compatible with this software version.",
81+
"_linkedTypes": [
82+
"controlledTerms:OperatingDevice"
83+
]
84+
},
11185
"operatingSystem": {
11286
"type": "array",
11387
"minItems": 1,
@@ -135,14 +109,14 @@
135109
"controlledTerms:ProgrammingLanguage"
136110
]
137111
},
138-
"requirement": {
112+
"scope": {
139113
"type": "array",
140114
"minItems": 1,
141115
"uniqueItems": true,
142-
"_instruction": "Enter all requirements of this software version.",
143-
"items": {
144-
"type": "string"
145-
}
116+
"_instruction": "Add terms that describe what this software version does.",
117+
"_linkedCategories": [
118+
"toolScope"
119+
]
146120
}
147121
}
148122
}

schemas/products/webService.schema.tpl.json

Lines changed: 0 additions & 18 deletions
This file was deleted.

schemas/products/webServiceVersion.schema.tpl.json

Lines changed: 0 additions & 63 deletions
This file was deleted.

0 commit comments

Comments
 (0)