-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgen.ttl
382 lines (315 loc) · 13.6 KB
/
gen.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
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
#TODO owl:equivalentClass to schema.org entities?
@prefix : <http://purl.org/gen/0.1#> .
#Infrastructure
@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
#Domains
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix event: <http://purl.org/NET/c4dm/event.owl#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix bio: <http://purl.org/vocab/bio/0.1/> .
#Meta
@prefix dct: <http://purl.org/dc/terms/> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix vann: <http://purl.org/vocab/vann/> .
<http://purl.org/gen/0.1#> rdf:type owl:Ontology ;
dct:title "Gen---A Vocabulary for Linked Genealogical Data"@en ;
dct:date "2012-01-26"^^xsd:date ;
dct:abstract "A simple RDF vocabulary containing terms to facilitate the linking of genealogical data."@en ;
# dct:description """<div>
# <p></p>
# </div>"""^^rdf:XMLLiteral ;
# dct:identifier "http://purl.org/vocab/bio/0.1/schema" ;
dct:creator "Josh Hansen"@en ;
dct:rights "Copyright © 2012 FamilySearch"@en ;
dct:issued "2012-01-26"^^xsd:date ;
vann:preferredNamespaceUri "http://purl.org/gen/0.1#"@en ;
vann:preferredNamespacePrefix "gen"@en .
#---------- "Imported" Classes ----------
#Classes either defined in or directly aliased from other vocabularies, and which are recommend for use in deployment of genealogical Linked Data
foaf:Person a rdfs:Class ;
rdfs:label "Person" ;
rdfs:comment "A person." ;
vs:term_status "stable" ;
a owl:Class ;
rdfs:subClassOf foaf:Agent ;
rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> .
event:Event a owl:Class;
rdfs:label "Event";
rdfs:comment """
An arbitrary classification of a space/time region, by a
cognitive agent. An event may have actively participating agents,
passive factors, products, and a location in space/time.
""" ;
rdfs:isDefinedBy <http://purl.org/NET/c4dm/event.owl> .
:Place a owl:Class ;
rdfs:label "Place"@en ;
rdfs:comment "A geolocated position"@en ;
rdfs:subClassOf geo:SpatialThing ;
vs:term_status "testing" .
:Time a owl:Class ;
rdfs:label "Time"@en ;
rdfs:comment "A moment in time or a span of time"@en ;
rdfs:subClassOf time:TemporalEntity ;
vs:term_status "testing" .
#---------- Family Tree Structures ----------
:Family a owl:Class ;
rdfs:label "Family"@en ;
rdfs:comment """Though it is preferred to represent families by describing the relationships between its members
(parent-child, husband-wife, etc.) this class can be used to represent a group of people who are
considered to be a family unit."""@en ;
rdfs:subClassOf foaf:Group ;
vs:term_status "testing" .
:familyMember a rdf:Property ;
rdfs:label "familyMember" ;
rdfs:comment "Indicates a member of a Family" ;
rdfs:subPropertyOf foaf:member ;
rdfs:domain :Family ;
rdfs:range foaf:Person ;
vs:term_status "testing" .
:parent a rdf:Property ;
rdfs:label "parent"@en ;
rdfs:comment "A parent in a family."@en ;
rdfs:domain :Family ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :familyMember .
:mother a rdf:Property ;
rdfs:label "mother"@en ;
rdfs:comment "A mother of a family."@en ;
rdfs:domain :Family ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :parent .
:father a rdf:Property ;
rdfs:label "father"@en ;
rdfs:comment "A father of a family."@en ;
rdfs:domain :Family ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :parent .
:stepParent a rdf:Property ;
rdfs:label "stepParent"@en ;
rdfs:comment "A step-parent of a family."@en ;
rdfs:domain :Family ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :parent .
:stepMother a rdf:Property ;
rdfs:label "stepMother"@en ;
rdfs:comment "A step-mother of a family."@en ;
rdfs:domain :Family ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :stepParent .
:stepFather a rdf:Property ;
rdfs:label "stepFather"@en ;
rdfs:comment "A step-father of a family."@en ;
rdfs:domain :Family ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :stepParent .
:child a rdf:Property ;
rdfs:label "child"@en ;
rdfs:comment "A child in a family."@en ;
rdfs:domain :Family ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :familyMember .
:FamilyTree a owl:Class ;
rdfs:label "Family Tree"@en ;
rdfs:comment """This container class should be populated with individual people, families, or other records
that constitute a single 'family tree'. It is intended to help users in management of their
genealogical data."""@en ;
vs:term_status "testing" .
#---------- Events ----------
#Though this vocabulary standardizes on the event:Event class (imported above), we here repeat a number of event classes
#from the bio ontology are likely to have wide applicability in genealogy.
bio:Event rdf:type owl:Class ;
rdfs:label "Event"@en ;
rdfs:comment "An event is an occurrence that brings about a change in the state of affairs for one or more people and/or other agents. Events are assumed to occur over a period of time and may not have precise start and end points."@en ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> ;
rdfs:subClassOf ns2:Event ,
cyc:Event ,
ns3:Event ,
dctype:Event .
_:mor4f1dd954da0fe rdf:type owl:Restriction ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty bio:principal .
_:mor4f1dd954da18c rdf:type owl:Restriction ;
owl:minCardinality "2"^^xsd:nonNegativeInteger ;
owl:onProperty bio:partner .
bio:IndividualEvent rdf:type owl:Class ;
rdfs:label "Individual Event"@en ;
rdfs:comment "A type of event that is principally about a single person, group or organization. Other agents may be involved but the event is most significant for the principal agent."@en ;
rdfs:subClassOf bio:Event ,
_:mor4f1dd954da0fe ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> .
bio:GroupEvent rdf:type owl:Class ;
rdfs:label "Group Event"@en ;
rdfs:comment "A type of event that is principally about one or more agents and their partnership. Other agents may be involved but the event is most significant for the partner agent."@en ;
rdfs:subClassOf bio:Event , _:mor4f1dd954da18c ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> .
bio:Birth rdf:type owl:Class ;
rdfs:label "Birth"@en ;
rdfs:comment "The event of a person entering into life."@en ;
rdfs:subClassOf bio:IndividualEvent ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> .
bio:Baptism rdf:type owl:Class ;
rdfs:label "Baptism"@en ;
rdfs:comment "The ceremonial event held to admit a person to membership of a Christian church."@en ;
rdfs:subClassOf bio:IndividualEvent ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> .
bio:Marriage rdf:type owl:Class ;
rdfs:label "Marriage"@en ;
rdfs:comment "The event of creating uniting the participants into a new family unit, sometimes accompanied by a formal wedding ceremony. This is intended to cover a broad range of marriages including those given formal legal standing, common-law, or by convention. It is not restricted to marriages of two people of the opposite gender, but also includes polygamous and same-sex unions."@en ;
rdfs:subClassOf bio:GroupEvent ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> .
bio:Divorce rdf:type owl:Class ;
rdfs:label "Divorce"@en ;
rdfs:comment "The event of legally dissolving a marriage."@en ;
rdfs:subClassOf bio:GroupEvent ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> .
bio:Death rdf:type owl:Class ;
rdfs:label "Death"@en ;
rdfs:comment "The event of a person's life ending."@en ;
rdfs:subClassOf bio:IndividualEvent ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> .
bio:Burial rdf:type owl:Class ;
rdfs:label "Burial"@en ;
rdfs:comment "The event of interring the remains of a person's body into the ground."@en ;
rdfs:subClassOf bio:IndividualEvent ;
rdfs:isDefinedBy <http://purl.org/vocab/bio/0.1/> .
# Person properties
:lifeEvent rdf:type rdf:Property ;
rdfs:label "lifeEvent"@en ;
rdfs:comment "The lifeEvent property is a slight variation on bio:event in which the domain is foaf:Person rather than foaf:Agent, since genealogy is about people."@en ;
rdfs:subPropertyOf bio:event ;
rdfs:domain foaf:Person ;
rdfs:range bio:Event ;
owl:inverseOf :participant .
:birth rdf:type rdf:Property ;
rdfs:label "birth"@en ;
rdfs:comment "Specifies a person's birth event."@en ;
rdfs:domain foaf:Person ;
rdfs:range bio:Birth ;
rdfs:subPropertyOf :lifeEvent, bio:event ;
owl:inverseOf :newborn .
:death rdf:type rdf:Property ;
rdfs:label "death"@en ;
rdfs:comment "Specifies a person's death event."@en ;
rdfs:domain foaf:Person ;
rdfs:range bio:Death ;
rdfs:subPropertyOf :lifeEvent, bio:death .
#Event properties.
:participant rdf:type rdf:Property ;
rdfs:label "participant"@en ;
rdfs:comment "Adapts bio:agent by having a range of foaf:Person rather than foaf:Agent."@en ;
rdfs:domain bio:Event ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf bio:agent ;
owl:inverseOf :lifeEvent .
:spouse rdf:type rdf:Property ;
rdfs:subPropertyOf :participant, bio:partner ;
rdfs:domain bio:Marriage ;
rdfs:range foaf:Person .
:birthParent rdf:type rdf:Property ;
rdfs:domain bio:Birth ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :participant, bio:parent .
:birthFather rdf:type rdf:Property ;
rdfs:domain bio:Birth ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :birthParent .
:birthMother rdf:type rdf:Property ;
rdfs:domain bio:Birth ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :birthParent .
:newborn rdf:type rdf:Property ;
rdfs:domain bio:Birth ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :participant, bio:principal ;
owl:inverseOf :birth .
:deceased rdf:type rdf:Property ;
rdfs:domain bio:Death ;
rdfs:range foaf:Person ;
rdfs:subPropertyOf :participant, bio:principal ;
owl:inverseOf :death .
#---------- Names ----------
:Name a owl:Class ;
rdfs:label "Name"@en ;
rdfs:comment """A personal name. Names are a class of their own to facilitate associating multiple names with
the same individual, and to allow different types of names or ways of representing them."""@en ;
vs:term_status "testing" .
:name a rdf:Property ;
rdfs:label "name"@en ;
rdfs:comment "A person's name."@en ;
rdfs:domain foaf:Person ;
rdfs:range :Name ;
vs:term_status "testing" .
:FoafName a owl:Class ;
rdfs:label "FOAF Name"@en ;
rdfs:comment """A name class aiming for maximum compatibility with FOAF. Individuals in this class are intended
to be described using foaf's name properties, namely foaf:name, foaf:givenName, and
foaf:familyName."""@en ;
rdfs:subClassOf :Name ;
vs:term_status "testing" .
foaf:name a rdf:Property, owl:DatatypeProperty ;
rdfs:label "name" ;
rdfs:comment "A name for some thing." ;
rdfs:subPropertyOf rdfs:label ;
rdfs:domain owl:Thing ;
rdfs:range rdfs:Literal ;
rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> .
foaf:givenName a rdf:Property, owl:DatatypeProperty ;
rdfs:label "Given name" ;
rdfs:comment "The given name of some person." ;
rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> .
foaf:familyName a rdf:Property , owl:DatatypeProperty ;
rdfs:label "familyName" ;
rdfs:comment "The family name of some person." ;
rdfs:domain foaf:Person ;
rdfs:range rdfs:Literal ;
rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> .
#---------- Source Citations ----------
:Assertion a owl:Class ;
rdfs:subClassOf rdf:Statement .
:subAssertion a rdf:Property ;
rdfs:domain :Assertion ;
rdfs:range :Assertion .
:source a rdf:Property ;
rdfs:label "Source"@en ;
rdfs:comment """A source justifying some assertion or claim of fact. The range is deliberately left as general as possible
(owl:Thing) because of the unsettled state of bibliographic vocabularies. My recommendation is to use
bibo:Document and its associated vocabulary, though frbr:Work seems reasonable, too. Surely there are
many other options---hopefully a clear standard emerges in the future."""@en ;
rdfs:domain :Assertion ;
rdfs:range owl:Thing ;
vs:term_status "unstable" .
#---------- Source Types ----------
# See Wikipedia:MonumentalInscription
:MonumentalInscription a owl:Class ;
rdfs:label "Monumental Inscription"@en ;
rdfs:comment """The general class of monumental inscriptions, defined by Wikipedia as 'an inscription, typically
carved in stone, on a grave marker, cenotaph, memorial plaque, church monument or other memorial.'"""@en ;
rdfs:subClassOf bibo:Document ;
vs:term_status "testing" .
:GraveInscription a owl:Class ;
rdfs:label "Grave Inscription"@en ;
rdfs:comment "A grave inscription, such as on a tomb or headstone."@en ;
rdfs:subClassOf :MonumentalInscription ;
vs:term_status "testing" .
# See Wikipedia:Microform
:Microform a owl:Class ;
rdfs:label "Microform"@en ;
rdfs:comment """The general class of microform media, defined by Wikipedia as 'any forms, either films or paper,
containing microreproductions of documents for transmission, storage, reading, and printing.'"""@en ;
rdfs:subClassOf bibo:Document ;
vs:term_status "testing" .
:Microfilm a owl:Class ;
rdfs:label "Microfilm"@en ;
rdfs:comment "A microfilm reel"@en ;
rdfs:subClassOf :Microform ;
vs:term_status "testing" .
:Microfiche a owl:Class ;
rdfs:label "Microfiche"@en ;
rdfs:comment "'A microfiche is a flat film 105 x 148 mm in size, that is ISO A6.' (Wikipedia:Microform)"@en ;
rdfs:subClassOf :Microform ;
vs:term_status "testing" .