rdf 1.1.0p4 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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