rdf 1.1.0p4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +6 -14
  2. data/README +33 -33
  3. data/VERSION +1 -1
  4. data/lib/rdf.rb +60 -12
  5. data/lib/rdf/cli.rb +7 -1
  6. data/lib/rdf/cli/vocab-loader.rb +240 -0
  7. data/lib/rdf/format.rb +2 -2
  8. data/lib/rdf/mixin/enumerable.rb +12 -4
  9. data/lib/rdf/mixin/queryable.rb +13 -13
  10. data/lib/rdf/model/graph.rb +5 -4
  11. data/lib/rdf/model/list.rb +15 -4
  12. data/lib/rdf/model/literal.rb +2 -1
  13. data/lib/rdf/model/statement.rb +10 -1
  14. data/lib/rdf/model/term.rb +8 -0
  15. data/lib/rdf/model/uri.rb +107 -2
  16. data/lib/rdf/model/value.rb +8 -0
  17. data/lib/rdf/ntriples/reader.rb +5 -4
  18. data/lib/rdf/query.rb +47 -12
  19. data/lib/rdf/query/solutions.rb +29 -29
  20. data/lib/rdf/reader.rb +13 -3
  21. data/lib/rdf/repository.rb +1 -0
  22. data/lib/rdf/util/file.rb +86 -6
  23. data/lib/rdf/vocab.rb +158 -58
  24. data/lib/rdf/vocab/cc.rb +28 -11
  25. data/lib/rdf/vocab/cert.rb +127 -9
  26. data/lib/rdf/vocab/dc.rb +242 -60
  27. data/lib/rdf/vocab/dc11.rb +42 -20
  28. data/lib/rdf/vocab/doap.rb +121 -42
  29. data/lib/rdf/vocab/exif.rb +540 -165
  30. data/lib/rdf/vocab/foaf.rb +353 -66
  31. data/lib/rdf/vocab/geo.rb +40 -10
  32. data/lib/rdf/vocab/gr.rb +1094 -0
  33. data/lib/rdf/vocab/http.rb +81 -23
  34. data/lib/rdf/vocab/ical.rb +361 -0
  35. data/lib/rdf/vocab/ma.rb +281 -69
  36. data/lib/rdf/vocab/og.rb +98 -0
  37. data/lib/rdf/vocab/owl.rb +226 -56
  38. data/lib/rdf/vocab/prov.rb +489 -0
  39. data/lib/rdf/vocab/rdfs.rb +38 -14
  40. data/lib/rdf/vocab/rsa.rb +25 -9
  41. data/lib/rdf/vocab/rss.rb +29 -11
  42. data/lib/rdf/vocab/schema.rb +3729 -647
  43. data/lib/rdf/vocab/sioc.rb +224 -89
  44. data/lib/rdf/vocab/skos.rb +141 -33
  45. data/lib/rdf/vocab/skosxl.rb +43 -0
  46. data/lib/rdf/vocab/v.rb +154 -0
  47. data/lib/rdf/vocab/vcard.rb +337 -0
  48. data/lib/rdf/vocab/void.rb +142 -0
  49. data/lib/rdf/vocab/wdrs.rb +129 -0
  50. data/lib/rdf/vocab/wot.rb +52 -18
  51. data/lib/rdf/vocab/xhtml.rb +3 -6
  52. data/lib/rdf/vocab/xhv.rb +239 -0
  53. data/lib/rdf/writer.rb +3 -3
  54. metadata +81 -14
@@ -1,69 +1,356 @@
1
+ # This file generated automatically using vocab-fetch from http://xmlns.com/foaf/0.1/
2
+ require 'rdf'
1
3
  module RDF
2
- ##
3
- # Friend of a Friend (FOAF) vocabulary.
4
- #
5
- # @see http://xmlns.com/foaf/spec/
6
- class FOAF < Vocabulary("http://xmlns.com/foaf/0.1/")
7
- property :account
8
- property :accountName
9
- property :accountServiceHomepage
10
- property :age
11
- property :aimChatID
12
- property :based_near
13
- property :birthday
14
- property :currentProject
15
- property :depiction
16
- property :depicts
17
- property :dnaChecksum
18
- property :familyName
19
- property :family_name
20
- property :firstName
21
- property :fundedBy
22
- property :geekcode
23
- property :gender
24
- property :givenName
25
- property :givenname
26
- property :holdsAccount
27
- property :homepage
28
- property :icqChatID
29
- property :img
30
- property :interest
31
- property :isPrimaryTopicOf
32
- property :jabberID
33
- property :knows
34
- property :lastName
35
- property :logo
36
- property :made
37
- property :maker
38
- property :mbox
39
- property :mbox_sha1sum
40
- property :member
41
- property :membershipClass
42
- property :msnChatID
43
- property :myersBriggs
44
- property :name
45
- property :nick
46
- property :openid
47
- property :page
48
- property :pastProject
49
- property :phone
50
- property :plan
51
- property :primaryTopic
52
- property :publications
53
- property :schoolHomepage
54
- property :sha1
55
- property :skypeID
56
- property :status
57
- property :surname
58
- property :theme
59
- property :thumbnail
60
- property :tipjar
61
- property :title
62
- property :topic
63
- property :topic_interest
64
- property :weblog
65
- property :workInfoHomepage
66
- property :workplaceHomepage
67
- property :yahooChatID
4
+ class FOAF < StrictVocabulary("http://xmlns.com/foaf/0.1/")
5
+
6
+ # Class definitions
7
+ property :Agent, :label => 'Agent', :comment =>
8
+ %(An agent \(eg. person, group, software or physical artifact\).)
9
+ property :Agent, :label => 'Agent', :comment =>
10
+ %(An agent \(eg. person, group, software or physical artifact\).)
11
+ property :Document, :label => 'Document', :comment =>
12
+ %(A document.)
13
+ property :Document, :label => 'Document', :comment =>
14
+ %(A document.)
15
+ property :Group, :label => 'Group', :comment =>
16
+ %(A class of Agents.)
17
+ property :Group, :label => 'Group', :comment =>
18
+ %(A class of Agents.)
19
+ property :Image, :label => 'Image', :comment =>
20
+ %(An image.)
21
+ property :Image, :label => 'Image', :comment =>
22
+ %(An image.)
23
+ property :LabelProperty, :label => 'Label Property', :comment =>
24
+ %(A foaf:LabelProperty is any RDF property with texual values
25
+ that serve as labels.)
26
+ property :LabelProperty, :label => 'Label Property', :comment =>
27
+ %(A foaf:LabelProperty is any RDF property with texual values
28
+ that serve as labels.)
29
+ property :OnlineAccount, :label => 'Online Account', :comment =>
30
+ %(An online account.)
31
+ property :OnlineAccount, :label => 'Online Account', :comment =>
32
+ %(An online account.)
33
+ property :OnlineChatAccount, :label => 'Online Chat Account', :comment =>
34
+ %(An online chat account.)
35
+ property :OnlineChatAccount, :label => 'Online Chat Account', :comment =>
36
+ %(An online chat account.)
37
+ property :OnlineEcommerceAccount, :label => 'Online E-commerce Account', :comment =>
38
+ %(An online e-commerce account.)
39
+ property :OnlineEcommerceAccount, :label => 'Online E-commerce Account', :comment =>
40
+ %(An online e-commerce account.)
41
+ property :OnlineGamingAccount, :label => 'Online Gaming Account', :comment =>
42
+ %(An online gaming account.)
43
+ property :OnlineGamingAccount, :label => 'Online Gaming Account', :comment =>
44
+ %(An online gaming account.)
45
+ property :Organization, :label => 'Organization', :comment =>
46
+ %(An organization.)
47
+ property :Organization, :label => 'Organization', :comment =>
48
+ %(An organization.)
49
+ property :Person, :label => 'Person', :comment =>
50
+ %(A person.)
51
+ property :Person, :label => 'Person', :comment =>
52
+ %(A person.)
53
+ property :PersonalProfileDocument, :label => 'PersonalProfileDocument', :comment =>
54
+ %(A personal profile RDF document.)
55
+ property :PersonalProfileDocument, :label => 'PersonalProfileDocument', :comment =>
56
+ %(A personal profile RDF document.)
57
+ property :Project, :label => 'Project', :comment =>
58
+ %(A project \(a collective endeavour of some kind\).)
59
+ property :Project, :label => 'Project', :comment =>
60
+ %(A project \(a collective endeavour of some kind\).)
61
+
62
+ # Property definitions
63
+ property :aimChatID, :label => 'AIM chat ID', :comment =>
64
+ %(An AIM chat ID)
65
+ property :dnaChecksum, :label => 'DNA checksum', :comment =>
66
+ %(A checksum for the DNA of some thing. Joke.)
67
+ property :givenname, :label => 'Given name', :comment =>
68
+ %(The given name of some person.)
69
+ property :givenName, :label => 'Given name', :comment =>
70
+ %(The given name of some person.)
71
+ property :icqChatID, :label => 'ICQ chat ID', :comment =>
72
+ %(An ICQ chat ID)
73
+ property :msnChatID, :label => 'MSN chat ID', :comment =>
74
+ %(An MSN chat ID)
75
+ property :skypeID, :label => 'Skype ID', :comment =>
76
+ %(A Skype ID)
77
+ property :surname, :label => 'Surname', :comment =>
78
+ %(The surname of some person.)
79
+ property :yahooChatID, :label => 'Yahoo chat ID', :comment =>
80
+ %(A Yahoo chat ID)
81
+ property :holdsAccount, :label => 'account', :comment =>
82
+ %(Indicates an account held by this agent.)
83
+ property :account, :label => 'account', :comment =>
84
+ %(Indicates an account held by this agent.)
85
+ property :accountName, :label => 'account name', :comment =>
86
+ %(Indicates the name \(identifier\) associated with this online
87
+ account.)
88
+ property :accountServiceHomepage, :label => 'account service homepage', :comment =>
89
+ %(Indicates a homepage of the service provide for this online
90
+ account.)
91
+ property :age, :label => 'age', :comment =>
92
+ %(The age in years of some agent.)
93
+ property :based_near, :label => 'based near', :comment =>
94
+ %(A location that something is based near, for some broadly
95
+ human notion of near.)
96
+ property :birthday, :label => 'birthday', :comment =>
97
+ %(The birthday of this Agent, represented in mm-dd string form,
98
+ eg. '12-31'.)
99
+ property :currentProject, :label => 'current project', :comment =>
100
+ %(A current project this person works on.)
101
+ property :depiction, :label => 'depiction', :comment =>
102
+ %(A depiction of some thing.)
103
+ property :depicts, :label => 'depicts', :comment =>
104
+ %(A thing depicted in this representation.)
105
+ property :familyName, :label => 'familyName', :comment =>
106
+ %(The family name of some person.)
107
+ property :family_name, :label => 'family_name', :comment =>
108
+ %(The family name of some person.)
109
+ property :firstName, :label => 'firstName', :comment =>
110
+ %(The first name of a person.)
111
+ property :focus, :label => 'focus', :comment =>
112
+ %(The underlying or 'focal' entity associated with some
113
+ SKOS-described concept.)
114
+ property :fundedBy, :label => 'funded by', :comment =>
115
+ %(An organization funding a project or person.)
116
+ property :geekcode, :label => 'geekcode', :comment =>
117
+ %(A textual geekcode for this person, see
118
+ http://www.geekcode.com/geek.html)
119
+ property :gender, :label => 'gender', :comment =>
120
+ %(The gender of this Agent \(typically but not necessarily
121
+ 'male' or 'female'\).)
122
+ property :homepage, :label => 'homepage', :comment =>
123
+ %(A homepage for some thing.)
124
+ property :img, :label => 'image', :comment =>
125
+ %(An image that can be used to represent some thing \(ie. those
126
+ depictions which are particularly representative of something,
127
+ eg. one's photo on a homepage\).)
128
+ property :interest, :label => 'interest', :comment =>
129
+ %(A page about a topic of interest to this person.)
130
+ property :isPrimaryTopicOf, :label => 'is primary topic of', :comment =>
131
+ %(A document that this thing is the primary topic of.)
132
+ property :jabberID, :label => 'jabber ID', :comment =>
133
+ %(A jabber ID for something.)
134
+ property :knows, :label => 'knows', :comment =>
135
+ %(A person known by this person \(indicating some level of
136
+ reciprocated interaction between the parties\).)
137
+ property :lastName, :label => 'lastName', :comment =>
138
+ %(The last name of a person.)
139
+ property :logo, :label => 'logo', :comment =>
140
+ %(A logo representing some thing.)
141
+ property :made, :label => 'made', :comment =>
142
+ %(Something that was made by this agent.)
143
+ property :maker, :label => 'maker', :comment =>
144
+ %(An agent that made this thing.)
145
+ property :member, :label => 'member', :comment =>
146
+ %(Indicates a member of a Group)
147
+ property :membershipClass, :label => 'membershipClass', :comment =>
148
+ %(Indicates the class of individuals that are a member of a
149
+ Group)
150
+ property :myersBriggs, :label => 'myersBriggs', :comment =>
151
+ %(A Myers Briggs \(MBTI\) personality classification.)
152
+ property :name, :label => 'name', :comment =>
153
+ %(A name for some thing.)
154
+ property :nick, :label => 'nickname', :comment =>
155
+ %(A short informal nickname characterising an agent \(includes
156
+ login identifiers, IRC and other chat nicknames\).)
157
+ property :openid, :label => 'openid', :comment =>
158
+ %(An OpenID for an Agent.)
159
+ property :page, :label => 'page', :comment =>
160
+ %(A page or document about this thing.)
161
+ property :pastProject, :label => 'past project', :comment =>
162
+ %(A project this person has previously worked on.)
163
+ property :mbox, :label => 'personal mailbox', :comment =>
164
+ %(A personal mailbox, ie. an Internet mailbox associated with
165
+ exactly one owner, the first owner of this mailbox. This is a
166
+ 'static inverse functional property', in that there is
167
+ \(across time and change\) at most one individual that ever
168
+ has any particular value for foaf:mbox.)
169
+ property :phone, :label => 'phone', :comment =>
170
+ %(A phone, specified using fully qualified tel: URI scheme
171
+ \(refs: http://www.w3.org/Addressing/schemes.html#tel\).)
172
+ property :plan, :label => 'plan', :comment =>
173
+ %(A .plan comment, in the tradition of finger and '.plan' files.)
174
+ property :primaryTopic, :label => 'primary topic', :comment =>
175
+ %(The primary topic of some page or document.)
176
+ property :publications, :label => 'publications', :comment =>
177
+ %(A link to the publications of this person.)
178
+ property :schoolHomepage, :label => 'schoolHomepage', :comment =>
179
+ %(A homepage of a school attended by the person.)
180
+ property :sha1, :label => 'sha1sum (hex)', :comment =>
181
+ %(A sha1sum hash, in hex.)
182
+ property :mbox_sha1sum, :label => 'sha1sum of a personal mailbox URI name', :comment =>
183
+ %(The sha1sum of the URI of an Internet mailbox associated with
184
+ exactly one owner, the first owner of the mailbox.)
185
+ property :status, :label => 'status', :comment =>
186
+ %(A string expressing what the user is happy for the general
187
+ public \(normally\) to know about their current activity.)
188
+ property :theme, :label => 'theme', :comment =>
189
+ %(A theme.)
190
+ property :thumbnail, :label => 'thumbnail', :comment =>
191
+ %(A derived thumbnail image.)
192
+ property :tipjar, :label => 'tipjar', :comment =>
193
+ %(A tipjar document for this agent, describing means for payment
194
+ and reward.)
195
+ property :title, :label => 'title', :comment =>
196
+ %(Title \(Mr, Mrs, Ms, Dr. etc\))
197
+ property :topic, :label => 'topic', :comment =>
198
+ %(A topic of some page or document.)
199
+ property :topic_interest, :label => 'topic_interest', :comment =>
200
+ %(A thing of interest to this person.)
201
+ property :weblog, :label => 'weblog', :comment =>
202
+ %(A weblog of some thing \(whether person, group, company
203
+ etc.\).)
204
+ property :workInfoHomepage, :label => 'work info homepage', :comment =>
205
+ %(A work info homepage of some person; a page about their work
206
+ for some organization.)
207
+ property :workplaceHomepage, :label => 'workplace homepage', :comment =>
208
+ %(A workplace homepage of some person; the homepage of an
209
+ organization they work for.)
210
+ property :aimChatID, :label => 'AIM chat ID', :comment =>
211
+ %(An AIM chat ID)
212
+ property :dnaChecksum, :label => 'DNA checksum', :comment =>
213
+ %(A checksum for the DNA of some thing. Joke.)
214
+ property :givenname, :label => 'Given name', :comment =>
215
+ %(The given name of some person.)
216
+ property :givenName, :label => 'Given name', :comment =>
217
+ %(The given name of some person.)
218
+ property :icqChatID, :label => 'ICQ chat ID', :comment =>
219
+ %(An ICQ chat ID)
220
+ property :msnChatID, :label => 'MSN chat ID', :comment =>
221
+ %(An MSN chat ID)
222
+ property :skypeID, :label => 'Skype ID', :comment =>
223
+ %(A Skype ID)
224
+ property :surname, :label => 'Surname', :comment =>
225
+ %(The surname of some person.)
226
+ property :yahooChatID, :label => 'Yahoo chat ID', :comment =>
227
+ %(A Yahoo chat ID)
228
+ property :accountName, :label => 'account name', :comment =>
229
+ %(Indicates the name \(identifier\) associated with this online
230
+ account.)
231
+ property :age, :label => 'age', :comment =>
232
+ %(The age in years of some agent.)
233
+ property :birthday, :label => 'birthday', :comment =>
234
+ %(The birthday of this Agent, represented in mm-dd string form,
235
+ eg. '12-31'.)
236
+ property :familyName, :label => 'familyName', :comment =>
237
+ %(The family name of some person.)
238
+ property :family_name, :label => 'family_name', :comment =>
239
+ %(The family name of some person.)
240
+ property :firstName, :label => 'firstName', :comment =>
241
+ %(The first name of a person.)
242
+ property :geekcode, :label => 'geekcode', :comment =>
243
+ %(A textual geekcode for this person, see
244
+ http://www.geekcode.com/geek.html)
245
+ property :gender, :label => 'gender', :comment =>
246
+ %(The gender of this Agent \(typically but not necessarily
247
+ 'male' or 'female'\).)
248
+ property :jabberID, :label => 'jabber ID', :comment =>
249
+ %(A jabber ID for something.)
250
+ property :lastName, :label => 'lastName', :comment =>
251
+ %(The last name of a person.)
252
+ property :myersBriggs, :label => 'myersBriggs', :comment =>
253
+ %(A Myers Briggs \(MBTI\) personality classification.)
254
+ property :name, :label => 'name', :comment =>
255
+ %(A name for some thing.)
256
+ property :nick, :label => 'nickname', :comment =>
257
+ %(A short informal nickname characterising an agent \(includes
258
+ login identifiers, IRC and other chat nicknames\).)
259
+ property :plan, :label => 'plan', :comment =>
260
+ %(A .plan comment, in the tradition of finger and '.plan' files.)
261
+ property :sha1, :label => 'sha1sum (hex)', :comment =>
262
+ %(A sha1sum hash, in hex.)
263
+ property :mbox_sha1sum, :label => 'sha1sum of a personal mailbox URI name', :comment =>
264
+ %(The sha1sum of the URI of an Internet mailbox associated with
265
+ exactly one owner, the first owner of the mailbox.)
266
+ property :status, :label => 'status', :comment =>
267
+ %(A string expressing what the user is happy for the general
268
+ public \(normally\) to know about their current activity.)
269
+ property :title, :label => 'title', :comment =>
270
+ %(Title \(Mr, Mrs, Ms, Dr. etc\))
271
+ property :holdsAccount, :label => 'account', :comment =>
272
+ %(Indicates an account held by this agent.)
273
+ property :account, :label => 'account', :comment =>
274
+ %(Indicates an account held by this agent.)
275
+ property :accountServiceHomepage, :label => 'account service homepage', :comment =>
276
+ %(Indicates a homepage of the service provide for this online
277
+ account.)
278
+ property :based_near, :label => 'based near', :comment =>
279
+ %(A location that something is based near, for some broadly
280
+ human notion of near.)
281
+ property :currentProject, :label => 'current project', :comment =>
282
+ %(A current project this person works on.)
283
+ property :depiction, :label => 'depiction', :comment =>
284
+ %(A depiction of some thing.)
285
+ property :depicts, :label => 'depicts', :comment =>
286
+ %(A thing depicted in this representation.)
287
+ property :focus, :label => 'focus', :comment =>
288
+ %(The underlying or 'focal' entity associated with some
289
+ SKOS-described concept.)
290
+ property :fundedBy, :label => 'funded by', :comment =>
291
+ %(An organization funding a project or person.)
292
+ property :homepage, :label => 'homepage', :comment =>
293
+ %(A homepage for some thing.)
294
+ property :img, :label => 'image', :comment =>
295
+ %(An image that can be used to represent some thing \(ie. those
296
+ depictions which are particularly representative of something,
297
+ eg. one's photo on a homepage\).)
298
+ property :interest, :label => 'interest', :comment =>
299
+ %(A page about a topic of interest to this person.)
300
+ property :knows, :label => 'knows', :comment =>
301
+ %(A person known by this person \(indicating some level of
302
+ reciprocated interaction between the parties\).)
303
+ property :logo, :label => 'logo', :comment =>
304
+ %(A logo representing some thing.)
305
+ property :made, :label => 'made', :comment =>
306
+ %(Something that was made by this agent.)
307
+ property :maker, :label => 'maker', :comment =>
308
+ %(An agent that made this thing.)
309
+ property :member, :label => 'member', :comment =>
310
+ %(Indicates a member of a Group)
311
+ property :openid, :label => 'openid', :comment =>
312
+ %(An OpenID for an Agent.)
313
+ property :page, :label => 'page', :comment =>
314
+ %(A page or document about this thing.)
315
+ property :pastProject, :label => 'past project', :comment =>
316
+ %(A project this person has previously worked on.)
317
+ property :mbox, :label => 'personal mailbox', :comment =>
318
+ %(A personal mailbox, ie. an Internet mailbox associated with
319
+ exactly one owner, the first owner of this mailbox. This is a
320
+ 'static inverse functional property', in that there is
321
+ \(across time and change\) at most one individual that ever
322
+ has any particular value for foaf:mbox.)
323
+ property :phone, :label => 'phone', :comment =>
324
+ %(A phone, specified using fully qualified tel: URI scheme
325
+ \(refs: http://www.w3.org/Addressing/schemes.html#tel\).)
326
+ property :primaryTopic, :label => 'primary topic', :comment =>
327
+ %(The primary topic of some page or document.)
328
+ property :publications, :label => 'publications', :comment =>
329
+ %(A link to the publications of this person.)
330
+ property :schoolHomepage, :label => 'schoolHomepage', :comment =>
331
+ %(A homepage of a school attended by the person.)
332
+ property :theme, :label => 'theme', :comment =>
333
+ %(A theme.)
334
+ property :thumbnail, :label => 'thumbnail', :comment =>
335
+ %(A derived thumbnail image.)
336
+ property :tipjar, :label => 'tipjar', :comment =>
337
+ %(A tipjar document for this agent, describing means for payment
338
+ and reward.)
339
+ property :topic, :label => 'topic', :comment =>
340
+ %(A topic of some page or document.)
341
+ property :topic_interest, :label => 'topic_interest', :comment =>
342
+ %(A thing of interest to this person.)
343
+ property :weblog, :label => 'weblog', :comment =>
344
+ %(A weblog of some thing \(whether person, group, company
345
+ etc.\).)
346
+ property :workInfoHomepage, :label => 'work info homepage', :comment =>
347
+ %(A work info homepage of some person; a page about their work
348
+ for some organization.)
349
+ property :workplaceHomepage, :label => 'workplace homepage', :comment =>
350
+ %(A workplace homepage of some person; the homepage of an
351
+ organization they work for.)
352
+ property :membershipClass, :label => 'membershipClass', :comment =>
353
+ %(Indicates the class of individuals that are a member of a
354
+ Group)
68
355
  end
69
356
  end
data/lib/rdf/vocab/geo.rb CHANGED
@@ -1,13 +1,43 @@
1
+ # This file generated automatically using vocab-fetch from http://www.w3.org/2003/01/geo/wgs84_pos#
2
+ require 'rdf'
1
3
  module RDF
2
- ##
3
- # WGS84 Geo Positioning (GEO) vocabulary.
4
- #
5
- # @see http://www.w3.org/2003/01/geo/wgs84_pos#
6
- # @since 0.2.0
7
- class GEO < Vocabulary("http://www.w3.org/2003/01/geo/wgs84_pos#")
8
- property :lat
9
- property :location
10
- property :long
11
- property :lat_long
4
+ class GEO < StrictVocabulary("http://www.w3.org/2003/01/geo/wgs84_pos#")
5
+
6
+ # Class definitions
7
+ property :SpatialThing, :label => 'SpatialThing', :comment =>
8
+ %(Anything with spatial extent, i.e. size, shape, or position.
9
+ e.g. people, places, bowling balls, as well as abstract areas
10
+ like cubes.)
11
+ property :Point, :label => 'point', :comment =>
12
+ %(A point, typically described using a coordinate system
13
+ relative to Earth, such as WGS84.)
14
+ property :Point, :label => 'point', :comment =>
15
+ %(Uniquely identified by lat/long/alt. i.e.
16
+ spaciallyIntersects\(P1, P2\) :- lat\(P1, LAT\), long\(P1,
17
+ LONG\), alt\(P1, ALT\), lat\(P2, LAT\), long\(P2, LONG\),
18
+ alt\(P2, ALT\). sameThing\(P1, P2\) :- type\(P1, Point\),
19
+ type\(P2, Point\), spaciallyIntersects\(P1, P2\).)
20
+
21
+ # Property definitions
22
+ property :alt, :label => 'altitude', :comment =>
23
+ %(The WGS84 altitude of a SpatialThing \(decimal meters above
24
+ the local reference ellipsoid\).)
25
+ property :lat_long, :label => 'lat/long', :comment =>
26
+ %(A comma-separated representation of a latitude, longitude
27
+ coordinate.)
28
+ property :lat, :label => 'latitude', :comment =>
29
+ %(The WGS84 latitude of a SpatialThing \(decimal degrees\).)
30
+ property :location, :label => 'location', :comment =>
31
+ %(The relation between something and the point, or other
32
+ geometrical thing in space, where it is. For example, the
33
+ realtionship between a radio tower and a Point with a given
34
+ lat and long. Or a relationship between a park and its outline
35
+ as a closed arc of points, or a road and its location as a arc
36
+ \(a sequence of points\). Clearly in practice there will be
37
+ limit to the accuracy of any such statement, but one would
38
+ expect an accuracy appropriate for the size of the object and
39
+ uses such as mapping .)
40
+ property :long, :label => 'longitude', :comment =>
41
+ %(The WGS84 longitude of a SpatialThing \(decimal degrees\).)
12
42
  end
13
43
  end