-
Notifications
You must be signed in to change notification settings - Fork 1
/
nanopubx.ttl
259 lines (179 loc) · 7.81 KB
/
nanopubx.ttl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
# Nanopub-X: Extensions of the Nanopublication Model
# ==================================================
#
# This model defines extensions to the nanopublication schema.
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdfg: <http://www.w3.org/2004/03/trix/rdfg-1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix hycl: <http://purl.org/petapico/o/hycl#> .
# Nanopub Types
# -------------
#
# Example nanopubs are created and published for testing. Their content should
# not be taken seriously.
npx:ExampleNanopub rdfs:subClassOf np:Nanopublication .
# Meta-nanopublications are nanopoublications about other nanopublications:
npx:MetaNanopub rdfs:subClassOf np:Nanopublication .
# Protected nanopublications are not supposed to be shared publicly:
npx:ProtectedNanopub rdfs:subClassOf np:Nanopublication .
# Indexes
# -------
npx:NanopubIndex rdfs:subClassOf npx:MetaNanopub .
npx:IncompleteIndex rdfs:subClassOf np:Nanopublication .
npx:IndexAssertion rdfs:subClassOf np:Assertion .
npx:includesElement rdf:type rdf:Property .
npx:includesElement rdfs:domain npx:NanopubIndex .
npx:includesElement rdfs:range np:Nanopublication .
npx:includesSubindex rdf:type rdf:Property .
npx:includesSubindex rdfs:domain npx:NanopubIndex .
npx:includesSubindex rdfs:range npx:NanopubIndex .
npx:appendsIndex rdf:type owl:FunctionalProperty .
npx:appendsIndex rdfs:domain npx:NanopubIndex .
npx:appendsIndex rdfs:range npx:NanopubIndex .
# Connecting Assertions to Formulas and Sentences
# -----------------------------------------------
npx:asFormula rdf:type rdf:Property .
npx:asFormula rdfs:domain np:Assertion .
npx:asFormula rdfs:range hycl:Formula .
npx:asSentence rdf:type rdf:Property .
npx:asSentence rdfs:domain np:Assertion .
npx:asSentence rdfs:range hycl:Sentence .
npx:UnderspecifiedAssertion rdfs:subClassOf np:Assertion .
# Opinions
# --------
npx:Opinion rdf:type rdfs:Class .
npx:Agreement rdfs:subClassOf npx:Opinion .
npx:Disagreement rdfs:subClassOf npx:Opinion .
npx:NullOpinion rdfs:subClassOf npx:Opinion .
npx:Agreement owl:disjointWith npx:NullOpinion .
npx:Agreement owl:disjointWith npx:Disagreement .
npx:Disagreement owl:disjointWith npx:NullOpinion .
npx:hasOpinion rdf:type owl:InverseFunctionalProperty .
npx:hasOpinion rdfs:domain foaf:Agent .
npx:hasOpinion rdfs:range npx:Opinion .
npx:opinionOn rdf:type owl:FunctionalProperty .
npx:opinionOn rdfs:domain npx:Opinion .
npx:opinionOn rdfs:range npx:Statement .
# Introductions and Descriptions
# ------------------------------
#
# Introduction nanopubs are meta-nanopublications introducing a new object or
# agent.
npx:IntroNanopub rdfs:subClassOf np:Nanopublication .
npx:introduces rdf:type rdf:Property .
npx:introduces rdfs:domain npx:IntroNanopub .
npx:introduces rdfs:range owl:Thing .
# Descriptions are like introductions but refer to something that has already
# been defined/introduced (typically by somebody else):
npx:describes rdf:type rdf:Property .
npx:describes rdfs:domain np:Nanopublication .
npx:describes rdfs:range owl:Thing .
# Software Agents
# ---------------
npx:SoftwareAgent rdfs:subClassOf foaf:Agent .
npx:SoftwareAgent rdfs:subClassOf prov:Agent .
npx:SoftwareTool rdfs:subClassOf npx:SoftwareAgent .
npx:Bot rdfs:subClassOf npx:SoftwareAgent .
npx:wasCreatedWith rdf:type rdf:Property .
npx:wasCreatedWith rdfs:subPropertyOf prov:wasAttributedTo .
npx:wasCreatedWith rdfs:range npx:SoftwareTool .
npx:commands rdf:type rdf:Property .
npx:commands rdfs:domain foaf:Agent .
npx:commands rdfs:range npx:Bot .
# Signatures
# ----------
npx:CryptoElement rdf:type rdfs:Class .
npx:hasAlgorithm rdf:type owl:DatatypeProperty .
npx:hasAlgorithm rdf:type owl:FunctionalProperty .
npx:hasAlgorithm rdfs:domain npx:CryptoElement .
npx:hasAlgorithm rdfs:range xsd:string .
npx:hasPublicKey rdf:type owl:DatatypeProperty .
npx:hasPublicKey rdf:type owl:FunctionalProperty .
npx:hasPublicKey rdfs:domain npx:CryptoElement .
npx:hasPublicKey rdfs:range xsd:string .
npx:hasKeyLocation rdf:type rdf:Property .
npx:hasKeyLocation rdf:type owl:FunctionalProperty .
npx:hasKeyLocation rdfs:domain npx:CryptoElement .
npx:NanopubSignatureElement rdfs:subClassOf npx:CryptoElement .
npx:hasSignatureTarget rdf:type rdf:Property .
npx:hasSignatureTarget rdf:type owl:FunctionalProperty .
npx:hasSignatureTarget rdfs:domain npx:NanopubSignatureElement .
npx:hasSignatureTarget rdfs:range np:Nanopublication .
npx:hasSignature rdf:type owl:DatatypeProperty .
npx:hasSignature rdf:type owl:FunctionalProperty .
npx:hasSignature rdfs:domain npx:NanopubSignatureElement .
npx:signedBy rdf:type rdf:Property .
npx:signedBy rdfs:domain npx:NanopubSignatureElement .
npx:signedBy rdfs:range foaf:Agent .
# npx:hasSignatureElement is deprecated and only used for legacy signatures.
# New signatures use npx:hasSignatureTarget instead.
npx:hasSignatureElement rdf:type rdf:Property .
npx:hasSignatureElement rdf:type owl:InverseFunctionalProperty .
npx:hasSignatureElement rdfs:domain np:Nanopublication .
npx:hasSignatureElement rdfs:range npx:NanopubSignatureElement .
npx:KeyDeclaration rdfs:subClassOf npx:CryptoElement .
npx:declaredBy rdf:type rdf:Property .
npx:declaredBy rdfs:domain npx:KeyDeclaration .
npx:declaredBy rdfs:range foaf:Agent .
# Retractions and Updates
# -----------------------
npx:retracts rdf:type rdf:Property .
npx:retracts rdfs:domain foaf:Agent .
npx:retracts rdfs:range np:Nanopublication .
npx:RetractionNanopub rdfs:subClassOf np:Nanopublication .
npx:supersedes rdf:type rdf:Property .
npx:supersedes rdf:type owl:IrreflexiveObjectProperty .
npx:supersedes rdfs:domain np:Nanopublication .
npx:supersedes rdfs:range np:Nanopublication .
# Approvals and Disapprovals
# --------------------------
npx:approvesOf rdf:type rdf:Property .
npx:approvesOf rdfs:domain foaf:Agent .
npx:approvesOf rdfs:range np:Nanopublication .
npx:disapprovesOf rdf:type rdf:Property .
npx:disapprovesOf rdfs:domain foaf:Agent .
npx:disapprovesOf rdfs:range np:Nanopublication .
# Certifications etc.
# -------------------
npx:certifies rdf:type rdf:Property .
npx:certifies rdfs:domain foaf:Agent .
npx:certifies rdfs:range np:Nanopublication .
# qualification as a weaker form of certification
npx:qualifies rdf:type rdf:Property .
npx:qualifies rdfs:domain foaf:Agent .
npx:qualifies rdfs:range np:Nanopublication .
npx:signsDocument rdf:type rdf:Property .
npx:signsDocument rdfs:domain foaf:Agent .
# Services
# --------
npx:NanopubService rdf:type rdfs:Class .
# Settings
# --------
npx:NanopubSetting rdf:type rdfs:Class .
npx:hasAgents rdf:type rdf:Property .
npx:hasAgents rdfs:domain npx:NanopubSetting .
npx:hasAgents rdfs:range npx:NanopubIndex .
npx:hasServices rdf:type rdf:Property .
npx:hasServices rdfs:domain npx:NanopubSetting .
npx:hasServices rdfs:range npx:NanopubIndex .
npx:TrustRangeAlgorithm rdf:type rdfs:Class .
npx:hasTrustRangeAlgorithm rdf:type rdf:Property .
npx:hasTrustRangeAlgorithm rdfs:domain npx:NanopubSetting .
npx:hasTrustRangeAlgorithm rdfs:range npx:TrustRangeAlgorithm .
npx:SettingUpdateStrategy rdf:type rdfs:Class .
npx:hasUpdateStrategy rdf:type rdf:Property .
npx:hasUpdateStrategy rdfs:domain npx:NanopubSetting .
npx:hasUpdateStrategy rdfs:range npx:SettingUpdateStrategy .
npx:hasBootstrapService rdf:type rdf:Property .
npx:hasBootstrapService rdfs:domain npx:NanopubSetting .
npx:hasBootstrapService rdfs:range npx:NanopubService .
npx:FixedTrust rdf:type npx:TrustRangeAlgorithm .
npx:TransitiveTrust rdf:type npx:TrustRangeAlgorithm .
npx:ManualUpdatesOnly rdf:type npx:SettingUpdateStrategy .
npx:UpdatesByCreator rdf:type npx:SettingUpdateStrategy .