-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathprov-ro-directmappings.ttl
281 lines (230 loc) · 16.5 KB
/
prov-ro-directmappings.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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix swrl: <http://www.w3.org/2003/11/swrl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix obo: <http://purl.obolibrary.org/obo/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix sssom: <https://w3id.org/sssom/> .
@base <https://raw.githubusercontent.com/BFO-Mappings/PROV-to-BFO/main/prov-ro-directmappings.ttl> .
<https://raw.githubusercontent.com/BFO-Mappings/PROV-to-BFO/main/prov-ro-directmappings.ttl>
a owl:Ontology;
rdfs:label "Relation Ontology (RO) mappings for W3C PROVenance Interchange Ontology (PROV-O)"@en ;
owl:versionIRI <https://raw.githubusercontent.com/BFO-Mappings/PROV-to-BFO/refs/tags/v2025-01-19/prov-ro-directmappings.ttl> ;
dc:contributor "Tim Prudhomme", "Giacomo De Colle" , "Austin Liebers" , "Alec Sculley" , "Peihong Karl Xie", "Sydney Cohen", "John Beverley" ;
dc:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
prov:wasDerivedFrom <https://www.w3.org/ns/prov-o-20130430> ,
<https://raw.githubusercontent.com/BFO-ontology/BFO-2020/release-2024-01-29/src/owl/bfo-core.ttl> ,
<https://raw.githubusercontent.com/oborel/obo-relations/refs/tags/v2024-04-24/ro.owl> ;
rdfs:comment "This mapping depends on the imported PROV-O to BFO mapping." ;
owl:imports <https://raw.githubusercontent.com/BFO-Mappings/PROV-to-BFO/refs/tags/v2025-01-19/prov-bfo-directmappings.ttl> ;
rdfs:seeAlso <https://www.w3.org/TR/prov-o/>,
<https://basic-formal-ontology.org/> ,
<https://obofoundry.org/ontology/ro.html> ,
<https://github.com/BFO-Mappings/PROV-to-BFO> ;
.
# PROV class mappings and property restrictions
prov:Agent rdf:type owl:Class .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:Agent ;
owl:annotatedProperty rdfs:subClassOf ;
owl:annotatedTarget [ owl:intersectionOf ( obo:BFO_0000040 # material entity
[ rdf:type owl:Restriction ;
owl:onProperty obo:BFO_0000056 ; # participates in at some time
owl:someValuesFrom prov:Activity
]
[ rdf:type owl:Restriction ;
owl:onProperty obo:RO_0000087 ;
owl:someValuesFrom [ owl:intersectionOf ( obo:BFO_0000023 # role
[ rdf:type owl:Restriction ;
owl:onProperty obo:BFO_0000054 ; # realized in / has realization
owl:someValuesFrom prov:Activity
]
) ;
rdf:type owl:Class
]
]
) ;
rdf:type owl:Class
] ;
sssom:object_label "material entity that participates in some Activity at some time and has a role realized in that Activity" ;
rdfs:comment "A prov:Agent is a material entity because always has some matter as a part that persists in time. A prov:Agent participates in (at some time) some prov:Activity and has a role, that, if realized, is realized in a prov:Activity taking place. This axiomatizes the definition of agent as 'something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity'. According to Requirement VI13 in 'Rationale of Prov', this could be a prov:Entity. A prov:SoftwareAgent is a material entity because it is defined as 'running software', meaning a particular, material carrier of software, as opposed to, for example, its source code. A prov:SoftwareAgent is a particular instance of sofware running on a particular computer."@en .
# PROV object property mappings
prov:influenced rdf:type owl:ObjectProperty . obo:RO_0002410 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:influenced ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002410 ;
sssom:object_label "casually related to" ;
rdfs:comment "An entity may influence another entity and this is a causal relation."@en .
# prov:activity ~> causal relation between processes, prov:entity ~> cco:has_input, prov:agent ~> cco:has_agent
prov:influencer rdf:type owl:ObjectProperty . obo:RO_0002410 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:influencer ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002410 ;
sssom:object_label "casually related to" ;
rdfs:comment "An Agent, Activity, or Entity exerts an Influence and this is a causal relation."@en .
prov:activity rdf:type owl:ObjectProperty . obo:RO_0002501 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:activity ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002501 ;
sssom:object_label "causal relation between processes" ;
rdfs:comment "An Activity is causally related to its ActivityInfluence, where these are both occurrents. Although an ActivityInfluence may be a process boundary, the domain and range of 'causal relation between processes' is occurrent."@en .
prov:wasAttributedTo rdf:type owl:ObjectProperty . obo:RO_0002559 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasAttributedTo ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002559 ;
sssom:object_label "causally influenced by" ;
rdfs:comment "An entity may be attributed to an agent, and this is a causal influence by the agent"@en .
prov:alternateOf rdf:type owl:ObjectProperty . obo:RO_0002559 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:alternateOf ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002559 ;
sssom:object_label "causally influenced by" ;
rdfs:comment "An entity may be an alternate of an entity, and this is a causal relation."@en .
prov:wasDerivedFrom rdf:type owl:ObjectProperty . obo:RO_0002559 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasDerivedFrom ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002559 ;
sssom:object_label "causally influenced by" ;
rdfs:comment "An entity may be derived from an entity, being causally influenced by it."@en .
prov:wasStartedBy rdf:type owl:ObjectProperty . obo:RO_0000057 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasStartedBy ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0000057 ;
sssom:object_label "has participant" ;
rdfs:comment "A process has a (non spatial region) continuant as a participant. An activity is a process that may be started by a prov:Entity as a participant."@en ;
rdfs:comment "This mapping overlaps the same mapping to BFO's 'has participant at some time' but is included for increased interoperability." .
prov:wasEndedBy rdf:type owl:ObjectProperty . obo:RO_0000057 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasEndedBy ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0000057 ;
sssom:object_label "has participant" ;
rdfs:comment "A process has a (non spatial region) continuant as a participant. An activity is a process that may be ended by a prov:Entity as a participant."@en ;
rdfs:comment "This mapping overlaps the same mapping to BFO's 'has participant at some time' but is included for increased interoperability." .
prov:wasAssociatedWith rdf:type owl:ObjectProperty . obo:RO_0000057 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasAssociatedWith ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0000057 ;
sssom:object_label "has participant" ;
rdfs:comment "A process has a (non spatial region) continuant as a participant. An activity is a process that may be associated with a prov:Entity as a participant."@en ;
rdfs:comment "This mapping overlaps the same mapping to BFO's 'has participant at some time' but is included for increased interoperability." .
prov:invalidated rdf:type owl:ObjectProperty . obo:RO_0000057 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:invalidated ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0000057 ;
sssom:object_label "has participant" ;
rdfs:comment "A process has a (non spatial region) continuant as a participant. An activity is a process that may be invalidated by a prov:Entity as a participant."@en ;
rdfs:comment "This mapping overlaps the same mapping to BFO's 'has participant at some time' but is included for increased interoperability." .
prov:used rdf:type owl:ObjectProperty . obo:RO_0000057 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:used ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0000057 ;
sssom:object_label "has participant" ;
rdfs:comment "A process has a (non spatial region) continuant as a participant. An activity is a process that may use a prov:Entity as a participant."@en ;
rdfs:comment "This mapping overlaps the same mapping to BFO's 'has participant at some time' but is included for increased interoperability." .
prov:generated rdf:type owl:ObjectProperty . obo:RO_0000057 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:generated ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0000057 ;
sssom:object_label "has participant" ;
rdfs:comment "An activity is a process that may be generated by a prov:Entity as a participant."@en ;
rdfs:comment "This mapping overlaps the same mapping to BFO's 'has participant at some time' but is included for increased interoperability." .
# TODO test, reasoning over RO is slow
prov:wasInfluencedBy rdf:type owl:ObjectProperty . obo:RO_0002410 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasInfluencedBy ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002410 ;
sssom:object_label "casually related to" ;
rdfs:comment "An Agent, Activity, or Entity that was influenced by an Influence was causally related to that Influence."@en .
prov:wasInvalidatedBy rdf:type owl:ObjectProperty . obo:RO_0000056 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasInvalidatedBy ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0000056 ;
sssom:object_label "participates in" ;
rdfs:comment "An entity (non-spatial region continuant) may participate in its invalidation by an activity (process)"@en ;
rdfs:comment "This mapping overlaps the same mapping to BFO's 'participates in at some time' but is included for increased interoperability." .
prov:wasGeneratedBy rdf:type owl:ObjectProperty . obo:RO_0000056 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasGeneratedBy ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0000056 ;
sssom:object_label "participates in" ;
rdfs:comment "An entity (non-spatial region continuant) may participate in its generation by an activity (process)"@en ;
rdfs:comment "This mapping overlaps the same mapping to BFO's 'participates in at some time' but is included for increased interoperability." .
prov:wasInformedBy rdf:type owl:ObjectProperty . obo:RO_0002501 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:wasInformedBy ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002501 ;
sssom:object_label "causal relation between processes" ;
rdfs:comment "An activity may inform an activity. Both are processes and this is a causal relation."@en .
prov:hadGeneration rdf:type owl:ObjectProperty . obo:RO_0002501 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:hadGeneration ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002501 ;
sssom:object_label "causal relation between processes" ;
rdfs:comment "An activity may generate another activity. Both are processes and this is a causal relation."@en .
prov:hadUsage rdf:type owl:ObjectProperty . obo:RO_0002501 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:hadUsage ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002501 ;
sssom:object_label "causal relation between processes" ;
rdfs:comment "A derivation may use a usage. Both are processes and this is a causal relation."@en .
prov:hadActivity rdf:type owl:ObjectProperty . obo:RO_0002501 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:hadActivity ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002501 ;
sssom:object_label "causal relation between processes" ;
rdfs:comment "An influence that's related to an activity in this context is causally related to it, where both are processes."@en .
prov:qualifiedInfluence rdf:type owl:ObjectProperty . obo:RO_0002410 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:qualifiedInfluence ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002410 ;
sssom:object_label "casually related to" ;
rdfs:comment "An Agent, Activity, or Entity may be causally related to an Influence."@en .
prov:qualifiedAssociation rdf:type owl:ObjectProperty . obo:RO_0002501 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:qualifiedAssociation ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002501 ;
sssom:object_label "causal relation between processes" ;
rdfs:comment "An activity may be associated with an activity. Both are processes and this is a causal relation."@en .
prov:qualifiedCommunication rdf:type owl:ObjectProperty . obo:RO_0002501 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:qualifiedCommunication ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002501 ;
sssom:object_label "causal relation between processes" ;
rdfs:comment "An activity may communicate another activity. Both are processes and this is a causal relation. For example: A wasInfomedBy B = A and B are both prov:activities, and A was causally related to B such that A utilizes a provenance_entity that wasGeneratedBy B"@en .
prov:qualifiedStart rdf:type owl:ObjectProperty . obo:RO_0002501 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:qualifiedStart ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002501 ;
sssom:object_label "causal relation between processes" ;
rdfs:comment "An activity may start an activity. Both are processes and this is a causal relation."@en .
prov:hadMember rdf:type owl:ObjectProperty . obo:RO_0002351 rdf:type owl:ObjectProperty .
[] rdf:type owl:Axiom ;
owl:annotatedSource prov:hadMember ;
owl:annotatedProperty rdfs:subPropertyOf ;
owl:annotatedTarget obo:RO_0002351 ;
sssom:object_label "has member" ;
rdfs:comment "A relation of prov:hadMember between a prov:Collection and prov:Entity is also a relation of RO 'had member', but not vice versa. Whereas prov:hadMember is a subproperty of prov:wasInfluencedBy, RO 'had member' is not."@en .