Source file activitystreams.ml

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
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
(*********************************************************************************)
(*                OCaml-RDF                                                      *)
(*                                                                               *)
(*    Copyright (C) 2012-2024 Institut National de Recherche en Informatique     *)
(*    et en Automatique. All rights reserved.                                    *)
(*                                                                               *)
(*    This program is free software; you can redistribute it and/or modify       *)
(*    it under the terms of the GNU Lesser General Public License version        *)
(*    3 as published by the Free Software Foundation.                            *)
(*                                                                               *)
(*    This program is distributed in the hope that it will be useful,            *)
(*    but WITHOUT ANY WARRANTY; without even the implied warranty of             *)
(*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *)
(*    GNU General Public License for more details.                               *)
(*                                                                               *)
(*    You should have received a copy of the GNU General Public License          *)
(*    along with this program; if not, write to the Free Software                *)
(*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA                   *)
(*    02111-1307  USA                                                            *)
(*                                                                               *)
(*    Contact: Maxence.Guesdon@inria.fr                                          *)
(*                                                                               *)
(*********************************************************************************)

let activitystreams_str = "https://www.w3.org/ns/activitystreams#";;
let activitystreams = Iri.of_string activitystreams_str ;;
let activitystreams_ s = Iri.of_string (activitystreams_str ^ s);;

let c_Accept = activitystreams_ "Accept" ;;
let c_Activity = activitystreams_ "Activity" ;;
let c_Add = activitystreams_ "Add" ;;
let c_Announce = activitystreams_ "Announce" ;;
let c_Application = activitystreams_ "Application" ;;
let c_Arrive = activitystreams_ "Arrive" ;;
let c_Article = activitystreams_ "Article" ;;
let c_Audio = activitystreams_ "Audio" ;;
let c_Block = activitystreams_ "Block" ;;
let c_Collection = activitystreams_ "Collection" ;;
let c_CollectionPage = activitystreams_ "CollectionPage" ;;
let c_Create = activitystreams_ "Create" ;;
let c_Delete = activitystreams_ "Delete" ;;
let c_Dislike = activitystreams_ "Dislike" ;;
let c_Document = activitystreams_ "Document" ;;
let c_Event = activitystreams_ "Event" ;;
let c_Flag = activitystreams_ "Flag" ;;
let c_Follow = activitystreams_ "Follow" ;;
let c_Group = activitystreams_ "Group" ;;
let c_Ignore = activitystreams_ "Ignore" ;;
let c_Image = activitystreams_ "Image" ;;
let c_IntransitiveActivity = activitystreams_ "IntransitiveActivity" ;;
let c_Invite = activitystreams_ "Invite" ;;
let c_Join = activitystreams_ "Join" ;;
let c_Leave = activitystreams_ "Leave" ;;
let c_Like = activitystreams_ "Like" ;;
let c_Link = activitystreams_ "Link" ;;
let c_Listen = activitystreams_ "Listen" ;;
let c_Mention = activitystreams_ "Mention" ;;
let c_Move = activitystreams_ "Move" ;;
let c_Note = activitystreams_ "Note" ;;
let c_Object = activitystreams_ "Object" ;;
let c_Offer = activitystreams_ "Offer" ;;
let c_OrderedCollection = activitystreams_ "OrderedCollection" ;;
let c_OrderedCollectionPage = activitystreams_ "OrderedCollectionPage" ;;
let c_OrderedItems = activitystreams_ "OrderedItems" ;;
let c_Organization = activitystreams_ "Organization" ;;
let c_Page = activitystreams_ "Page" ;;
let c_Person = activitystreams_ "Person" ;;
let c_Place = activitystreams_ "Place" ;;
let c_Profile = activitystreams_ "Profile" ;;
let c_Public = activitystreams_"Public";;
let c_Question = activitystreams_ "Question" ;;
let c_Read = activitystreams_ "Read" ;;
let c_Reject = activitystreams_ "Reject" ;;
let c_Relationship = activitystreams_ "Relationship" ;;
let c_Remove = activitystreams_ "Remove" ;;
let c_Service = activitystreams_ "Service" ;;
let c_TentativeAccept = activitystreams_ "TentativeAccept" ;;
let c_TentativeReject = activitystreams_ "TentativeReject" ;;
let c_Tombstone = activitystreams_ "Tombstone" ;;
let c_Travel = activitystreams_ "Travel" ;;
let c_Undo = activitystreams_ "Undo" ;;
let c_Update = activitystreams_ "Update" ;;
let c_Video = activitystreams_ "Video" ;;
let c_View = activitystreams_ "View" ;;
let accuracy = activitystreams_ "accuracy" ;;
let actor = activitystreams_ "actor" ;;
let altitude = activitystreams_ "altitude" ;;
let anyOf = activitystreams_ "anyOf" ;;
let attachment = activitystreams_ "attachment" ;;
let attachments = activitystreams_ "attachments" ;;
let attributedTo = activitystreams_ "attributedTo" ;;
let audience = activitystreams_ "audience" ;;
let author = activitystreams_ "author" ;;
let bcc = activitystreams_ "bcc" ;;
let bto = activitystreams_ "bto" ;;
let cc = activitystreams_ "cc" ;;
let content = activitystreams_ "content" ;;
let context = activitystreams_ "context" ;;
let current = activitystreams_ "current" ;;
let deleted = activitystreams_ "deleted" ;;
let describes = activitystreams_ "describes" ;;
let downstreamDuplicates = activitystreams_ "downstreamDuplicates" ;;
let duration = activitystreams_ "duration" ;;
let endTime = activitystreams_ "endTime" ;;
let first = activitystreams_ "first" ;;
let formerType = activitystreams_ "formerType" ;;
let generator = activitystreams_ "generator" ;;
let height = activitystreams_ "height" ;;
let href = activitystreams_ "href" ;;
let hreflang = activitystreams_ "hreflang" ;;
let icon = activitystreams_ "icon" ;;
let id = activitystreams_ "id" ;;
let image = activitystreams_ "image" ;;
let inReplyTo = activitystreams_ "inReplyTo" ;;
let instrument = activitystreams_ "instrument" ;;
let items = activitystreams_ "items" ;;
let last = activitystreams_ "last" ;;
let latitude = activitystreams_ "latitude" ;;
let location = activitystreams_ "location" ;;
let longitude = activitystreams_ "longitude" ;;
let mediaType = activitystreams_ "mediaType" ;;
let name = activitystreams_ "name" ;;
let next = activitystreams_ "next" ;;
let object_ = activitystreams_ "object" ;;
let objectType = activitystreams_ "objectType" ;;
let oneOf = activitystreams_ "oneOf" ;;
let origin = activitystreams_ "origin" ;;
let partOf = activitystreams_ "partOf" ;;
let prev = activitystreams_ "prev" ;;
let preview = activitystreams_ "preview" ;;
let provider = activitystreams_ "provider" ;;
let published = activitystreams_ "published" ;;
let radius = activitystreams_ "radius" ;;
let rating = activitystreams_ "rating" ;;
let rel = activitystreams_ "rel" ;;
let relationship = activitystreams_ "relationship" ;;
let replies = activitystreams_ "replies" ;;
let result = activitystreams_ "result" ;;
let startIndex = activitystreams_ "startIndex" ;;
let startTime = activitystreams_ "startTime" ;;
let subject = activitystreams_ "subject" ;;
let summary = activitystreams_ "summary" ;;
let tag = activitystreams_ "tag" ;;
let tags = activitystreams_ "tags" ;;
let target = activitystreams_ "target" ;;
let to_ = activitystreams_ "to" ;;
let totalItems = activitystreams_ "totalItems" ;;
let units = activitystreams_ "units" ;;
let updated = activitystreams_ "updated" ;;
let upstreamDuplicates = activitystreams_ "upstreamDuplicates" ;;
let url = activitystreams_ "url" ;;
let verb = activitystreams_ "verb" ;;
let width = activitystreams_ "width" ;;

module Open = struct
  let activitystreams_c_Accept = c_Accept
  let activitystreams_c_Activity = c_Activity
  let activitystreams_c_Add = c_Add
  let activitystreams_c_Announce = c_Announce
  let activitystreams_c_Application = c_Application
  let activitystreams_c_Arrive = c_Arrive
  let activitystreams_c_Article = c_Article
  let activitystreams_c_Audio = c_Audio
  let activitystreams_c_Block = c_Block
  let activitystreams_c_Collection = c_Collection
  let activitystreams_c_CollectionPage = c_CollectionPage
  let activitystreams_c_Create = c_Create
  let activitystreams_c_Delete = c_Delete
  let activitystreams_c_Dislike = c_Dislike
  let activitystreams_c_Document = c_Document
  let activitystreams_c_Event = c_Event
  let activitystreams_c_Flag = c_Flag
  let activitystreams_c_Follow = c_Follow
  let activitystreams_c_Group = c_Group
  let activitystreams_c_Ignore = c_Ignore
  let activitystreams_c_Image = c_Image
  let activitystreams_c_IntransitiveActivity = c_IntransitiveActivity
  let activitystreams_c_Invite = c_Invite
  let activitystreams_c_Join = c_Join
  let activitystreams_c_Leave = c_Leave
  let activitystreams_c_Like = c_Like
  let activitystreams_c_Link = c_Link
  let activitystreams_c_Listen = c_Listen
  let activitystreams_c_Mention = c_Mention
  let activitystreams_c_Move = c_Move
  let activitystreams_c_Note = c_Note
  let activitystreams_c_Object = c_Object
  let activitystreams_c_Offer = c_Offer
  let activitystreams_c_OrderedCollection = c_OrderedCollection
  let activitystreams_c_OrderedCollectionPage = c_OrderedCollectionPage
  let activitystreams_c_OrderedItems = c_OrderedItems
  let activitystreams_c_Organization = c_Organization
  let activitystreams_c_Page = c_Page
  let activitystreams_c_Person = c_Person
  let activitystreams_c_Place = c_Place
  let activitystreams_c_Profile = c_Profile
  let activitystreams_c_Public = c_Public
  let activitystreams_c_Question = c_Question
  let activitystreams_c_Read = c_Read
  let activitystreams_c_Reject = c_Reject
  let activitystreams_c_Relationship = c_Relationship
  let activitystreams_c_Remove = c_Remove
  let activitystreams_c_Service = c_Service
  let activitystreams_c_TentativeAccept = c_TentativeAccept
  let activitystreams_c_TentativeReject = c_TentativeReject
  let activitystreams_c_Tombstone = c_Tombstone
  let activitystreams_c_Travel = c_Travel
  let activitystreams_c_Undo = c_Undo
  let activitystreams_c_Update = c_Update
  let activitystreams_c_Video = c_Video
  let activitystreams_c_View = c_View
  let activitystreams_accuracy = accuracy
  let activitystreams_actor = actor
  let activitystreams_altitude = altitude
  let activitystreams_anyOf = anyOf
  let activitystreams_attachment = attachment
  let activitystreams_attachments = attachments
  let activitystreams_attributedTo = attributedTo
  let activitystreams_audience = audience
  let activitystreams_author = author
  let activitystreams_bcc = bcc
  let activitystreams_bto = bto
  let activitystreams_cc = cc
  let activitystreams_content = content
  let activitystreams_context = context
  let activitystreams_current = current
  let activitystreams_deleted = deleted
  let activitystreams_describes = describes
  let activitystreams_downstreamDuplicates = downstreamDuplicates
  let activitystreams_duration = duration
  let activitystreams_endTime = endTime
  let activitystreams_first = first
  let activitystreams_formerType = formerType
  let activitystreams_generator = generator
  let activitystreams_height = height
  let activitystreams_href = href
  let activitystreams_hreflang = hreflang
  let activitystreams_icon = icon
  let activitystreams_id = id
  let activitystreams_image = image
  let activitystreams_inReplyTo = inReplyTo
  let activitystreams_instrument = instrument
  let activitystreams_items = items
  let activitystreams_last = last
  let activitystreams_latitude = latitude
  let activitystreams_location = location
  let activitystreams_longitude = longitude
  let activitystreams_mediaType = mediaType
  let activitystreams_name = name
  let activitystreams_next = next
  let activitystreams_object = object_
  let activitystreams_objectType = objectType
  let activitystreams_oneOf = oneOf
  let activitystreams_origin = origin
  let activitystreams_partOf = partOf
  let activitystreams_prev = prev
  let activitystreams_preview = preview
  let activitystreams_provider = provider
  let activitystreams_published = published
  let activitystreams_radius = radius
  let activitystreams_rating = rating
  let activitystreams_rel = rel
  let activitystreams_relationship = relationship
  let activitystreams_replies = replies
  let activitystreams_result = result
  let activitystreams_startIndex = startIndex
  let activitystreams_startTime = startTime
  let activitystreams_subject = subject
  let activitystreams_summary = summary
  let activitystreams_tag = tag
  let activitystreams_tags = tags
  let activitystreams_target = target
  let activitystreams_to = to_
  let activitystreams_totalItems = totalItems
  let activitystreams_units = units
  let activitystreams_updated = updated
  let activitystreams_upstreamDuplicates = upstreamDuplicates
  let activitystreams_url = url
  let activitystreams_verb = verb
  let activitystreams_width = width
end

class from ?sub g =
  let sub = match sub with None -> Term.Iri (g.Graph.name()) | Some t -> t in
  object(self)
  method accuracy = Graph.literal_objects_of g ~sub ~pred: accuracy
  method accuracy_opt = match self#accuracy with [] -> None | x::_ -> Some x
  method actor = g.Graph.objects_of ~sub ~pred: actor
  method actor_opt = match self#actor with [] -> None | x::_ -> Some x
  method actor_iris = Graph.only_iris (self#actor)
  method actor_opt_iri = match self#actor_iris with [] -> None | x::_ -> Some x
  method altitude = Graph.literal_objects_of g ~sub ~pred: altitude
  method altitude_opt = match self#altitude with [] -> None | x::_ -> Some x
  method anyOf = g.Graph.objects_of ~sub ~pred: anyOf
  method anyOf_opt = match self#anyOf with [] -> None | x::_ -> Some x
  method anyOf_iris = Graph.only_iris (self#anyOf)
  method anyOf_opt_iri = match self#anyOf_iris with [] -> None | x::_ -> Some x
  method attachment = g.Graph.objects_of ~sub ~pred: attachment
  method attachment_opt = match self#attachment with [] -> None | x::_ -> Some x
  method attachment_iris = Graph.only_iris (self#attachment)
  method attachment_opt_iri = match self#attachment_iris with [] -> None | x::_ -> Some x
  method attachments = g.Graph.objects_of ~sub ~pred: attachments
  method attachments_opt = match self#attachments with [] -> None | x::_ -> Some x
  method attachments_iris = Graph.only_iris (self#attachments)
  method attachments_opt_iri = match self#attachments_iris with [] -> None | x::_ -> Some x
  method attributedTo = g.Graph.objects_of ~sub ~pred: attributedTo
  method attributedTo_opt = match self#attributedTo with [] -> None | x::_ -> Some x
  method attributedTo_iris = Graph.only_iris (self#attributedTo)
  method attributedTo_opt_iri = match self#attributedTo_iris with [] -> None | x::_ -> Some x
  method audience = g.Graph.objects_of ~sub ~pred: audience
  method audience_opt = match self#audience with [] -> None | x::_ -> Some x
  method audience_iris = Graph.only_iris (self#audience)
  method audience_opt_iri = match self#audience_iris with [] -> None | x::_ -> Some x
  method author = g.Graph.objects_of ~sub ~pred: author
  method author_opt = match self#author with [] -> None | x::_ -> Some x
  method author_iris = Graph.only_iris (self#author)
  method author_opt_iri = match self#author_iris with [] -> None | x::_ -> Some x
  method bcc = g.Graph.objects_of ~sub ~pred: bcc
  method bcc_opt = match self#bcc with [] -> None | x::_ -> Some x
  method bcc_iris = Graph.only_iris (self#bcc)
  method bcc_opt_iri = match self#bcc_iris with [] -> None | x::_ -> Some x
  method bto = g.Graph.objects_of ~sub ~pred: bto
  method bto_opt = match self#bto with [] -> None | x::_ -> Some x
  method bto_iris = Graph.only_iris (self#bto)
  method bto_opt_iri = match self#bto_iris with [] -> None | x::_ -> Some x
  method cc = g.Graph.objects_of ~sub ~pred: cc
  method cc_opt = match self#cc with [] -> None | x::_ -> Some x
  method cc_iris = Graph.only_iris (self#cc)
  method cc_opt_iri = match self#cc_iris with [] -> None | x::_ -> Some x
  method content = Graph.literal_objects_of g ~sub ~pred: content
  method content_opt = match self#content with [] -> None | x::_ -> Some x
  method context = g.Graph.objects_of ~sub ~pred: context
  method context_opt = match self#context with [] -> None | x::_ -> Some x
  method context_iris = Graph.only_iris (self#context)
  method context_opt_iri = match self#context_iris with [] -> None | x::_ -> Some x
  method current = g.Graph.objects_of ~sub ~pred: current
  method current_opt = match self#current with [] -> None | x::_ -> Some x
  method current_iris = Graph.only_iris (self#current)
  method current_opt_iri = match self#current_iris with [] -> None | x::_ -> Some x
  method deleted = Graph.literal_objects_of g ~sub ~pred: deleted
  method deleted_opt = match self#deleted with [] -> None | x::_ -> Some x
  method describes = g.Graph.objects_of ~sub ~pred: describes
  method describes_opt = match self#describes with [] -> None | x::_ -> Some x
  method describes_iris = Graph.only_iris (self#describes)
  method describes_opt_iri = match self#describes_iris with [] -> None | x::_ -> Some x
  method downstreamDuplicates = Graph.literal_objects_of g ~sub ~pred: downstreamDuplicates
  method downstreamDuplicates_opt = match self#downstreamDuplicates with [] -> None | x::_ -> Some x
  method duration = Graph.literal_objects_of g ~sub ~pred: duration
  method duration_opt = match self#duration with [] -> None | x::_ -> Some x
  method endTime = Graph.literal_objects_of g ~sub ~pred: endTime
  method endTime_opt = match self#endTime with [] -> None | x::_ -> Some x
  method first = g.Graph.objects_of ~sub ~pred: first
  method first_opt = match self#first with [] -> None | x::_ -> Some x
  method first_iris = Graph.only_iris (self#first)
  method first_opt_iri = match self#first_iris with [] -> None | x::_ -> Some x
  method formerType = g.Graph.objects_of ~sub ~pred: formerType
  method formerType_opt = match self#formerType with [] -> None | x::_ -> Some x
  method formerType_iris = Graph.only_iris (self#formerType)
  method formerType_opt_iri = match self#formerType_iris with [] -> None | x::_ -> Some x
  method generator = g.Graph.objects_of ~sub ~pred: generator
  method generator_opt = match self#generator with [] -> None | x::_ -> Some x
  method generator_iris = Graph.only_iris (self#generator)
  method generator_opt_iri = match self#generator_iris with [] -> None | x::_ -> Some x
  method height = Graph.literal_objects_of g ~sub ~pred: height
  method height_opt = match self#height with [] -> None | x::_ -> Some x
  method href = Graph.literal_objects_of g ~sub ~pred: href
  method href_opt = match self#href with [] -> None | x::_ -> Some x
  method hreflang = Graph.literal_objects_of g ~sub ~pred: hreflang
  method hreflang_opt = match self#hreflang with [] -> None | x::_ -> Some x
  method icon = g.Graph.objects_of ~sub ~pred: icon
  method icon_opt = match self#icon with [] -> None | x::_ -> Some x
  method icon_iris = Graph.only_iris (self#icon)
  method icon_opt_iri = match self#icon_iris with [] -> None | x::_ -> Some x
  method id = Graph.literal_objects_of g ~sub ~pred: id
  method id_opt = match self#id with [] -> None | x::_ -> Some x
  method image = g.Graph.objects_of ~sub ~pred: image
  method image_opt = match self#image with [] -> None | x::_ -> Some x
  method image_iris = Graph.only_iris (self#image)
  method image_opt_iri = match self#image_iris with [] -> None | x::_ -> Some x
  method inReplyTo = g.Graph.objects_of ~sub ~pred: inReplyTo
  method inReplyTo_opt = match self#inReplyTo with [] -> None | x::_ -> Some x
  method inReplyTo_iris = Graph.only_iris (self#inReplyTo)
  method inReplyTo_opt_iri = match self#inReplyTo_iris with [] -> None | x::_ -> Some x
  method instrument = g.Graph.objects_of ~sub ~pred: instrument
  method instrument_opt = match self#instrument with [] -> None | x::_ -> Some x
  method instrument_iris = Graph.only_iris (self#instrument)
  method instrument_opt_iri = match self#instrument_iris with [] -> None | x::_ -> Some x
  method items = g.Graph.objects_of ~sub ~pred: items
  method items_opt = match self#items with [] -> None | x::_ -> Some x
  method items_iris = Graph.only_iris (self#items)
  method items_opt_iri = match self#items_iris with [] -> None | x::_ -> Some x
  method last = g.Graph.objects_of ~sub ~pred: last
  method last_opt = match self#last with [] -> None | x::_ -> Some x
  method last_iris = Graph.only_iris (self#last)
  method last_opt_iri = match self#last_iris with [] -> None | x::_ -> Some x
  method latitude = Graph.literal_objects_of g ~sub ~pred: latitude
  method latitude_opt = match self#latitude with [] -> None | x::_ -> Some x
  method location = g.Graph.objects_of ~sub ~pred: location
  method location_opt = match self#location with [] -> None | x::_ -> Some x
  method location_iris = Graph.only_iris (self#location)
  method location_opt_iri = match self#location_iris with [] -> None | x::_ -> Some x
  method longitude = Graph.literal_objects_of g ~sub ~pred: longitude
  method longitude_opt = match self#longitude with [] -> None | x::_ -> Some x
  method mediaType = Graph.literal_objects_of g ~sub ~pred: mediaType
  method mediaType_opt = match self#mediaType with [] -> None | x::_ -> Some x
  method name = Graph.literal_objects_of g ~sub ~pred: name
  method name_opt = match self#name with [] -> None | x::_ -> Some x
  method next = g.Graph.objects_of ~sub ~pred: next
  method next_opt = match self#next with [] -> None | x::_ -> Some x
  method next_iris = Graph.only_iris (self#next)
  method next_opt_iri = match self#next_iris with [] -> None | x::_ -> Some x
  method object_ = g.Graph.objects_of ~sub ~pred: object_
  method object__opt = match self#object_ with [] -> None | x::_ -> Some x
  method object__iris = Graph.only_iris (self#object_)
  method object__opt_iri = match self#object__iris with [] -> None | x::_ -> Some x
  method objectType = Graph.literal_objects_of g ~sub ~pred: objectType
  method objectType_opt = match self#objectType with [] -> None | x::_ -> Some x
  method oneOf = g.Graph.objects_of ~sub ~pred: oneOf
  method oneOf_opt = match self#oneOf with [] -> None | x::_ -> Some x
  method oneOf_iris = Graph.only_iris (self#oneOf)
  method oneOf_opt_iri = match self#oneOf_iris with [] -> None | x::_ -> Some x
  method origin = g.Graph.objects_of ~sub ~pred: origin
  method origin_opt = match self#origin with [] -> None | x::_ -> Some x
  method origin_iris = Graph.only_iris (self#origin)
  method origin_opt_iri = match self#origin_iris with [] -> None | x::_ -> Some x
  method partOf = g.Graph.objects_of ~sub ~pred: partOf
  method partOf_opt = match self#partOf with [] -> None | x::_ -> Some x
  method partOf_iris = Graph.only_iris (self#partOf)
  method partOf_opt_iri = match self#partOf_iris with [] -> None | x::_ -> Some x
  method prev = g.Graph.objects_of ~sub ~pred: prev
  method prev_opt = match self#prev with [] -> None | x::_ -> Some x
  method prev_iris = Graph.only_iris (self#prev)
  method prev_opt_iri = match self#prev_iris with [] -> None | x::_ -> Some x
  method preview = g.Graph.objects_of ~sub ~pred: preview
  method preview_opt = match self#preview with [] -> None | x::_ -> Some x
  method preview_iris = Graph.only_iris (self#preview)
  method preview_opt_iri = match self#preview_iris with [] -> None | x::_ -> Some x
  method provider = g.Graph.objects_of ~sub ~pred: provider
  method provider_opt = match self#provider with [] -> None | x::_ -> Some x
  method provider_iris = Graph.only_iris (self#provider)
  method provider_opt_iri = match self#provider_iris with [] -> None | x::_ -> Some x
  method published = Graph.literal_objects_of g ~sub ~pred: published
  method published_opt = match self#published with [] -> None | x::_ -> Some x
  method radius = Graph.literal_objects_of g ~sub ~pred: radius
  method radius_opt = match self#radius with [] -> None | x::_ -> Some x
  method rating = Graph.literal_objects_of g ~sub ~pred: rating
  method rating_opt = match self#rating with [] -> None | x::_ -> Some x
  method rel = Graph.literal_objects_of g ~sub ~pred: rel
  method rel_opt = match self#rel with [] -> None | x::_ -> Some x
  method relationship = g.Graph.objects_of ~sub ~pred: relationship
  method relationship_opt = match self#relationship with [] -> None | x::_ -> Some x
  method relationship_iris = Graph.only_iris (self#relationship)
  method relationship_opt_iri = match self#relationship_iris with [] -> None | x::_ -> Some x
  method replies = g.Graph.objects_of ~sub ~pred: replies
  method replies_opt = match self#replies with [] -> None | x::_ -> Some x
  method replies_iris = Graph.only_iris (self#replies)
  method replies_opt_iri = match self#replies_iris with [] -> None | x::_ -> Some x
  method result = g.Graph.objects_of ~sub ~pred: result
  method result_opt = match self#result with [] -> None | x::_ -> Some x
  method result_iris = Graph.only_iris (self#result)
  method result_opt_iri = match self#result_iris with [] -> None | x::_ -> Some x
  method startIndex = Graph.literal_objects_of g ~sub ~pred: startIndex
  method startIndex_opt = match self#startIndex with [] -> None | x::_ -> Some x
  method startTime = Graph.literal_objects_of g ~sub ~pred: startTime
  method startTime_opt = match self#startTime with [] -> None | x::_ -> Some x
  method subject = g.Graph.objects_of ~sub ~pred: subject
  method subject_opt = match self#subject with [] -> None | x::_ -> Some x
  method subject_iris = Graph.only_iris (self#subject)
  method subject_opt_iri = match self#subject_iris with [] -> None | x::_ -> Some x
  method summary = Graph.literal_objects_of g ~sub ~pred: summary
  method summary_opt = match self#summary with [] -> None | x::_ -> Some x
  method tag = g.Graph.objects_of ~sub ~pred: tag
  method tag_opt = match self#tag with [] -> None | x::_ -> Some x
  method tag_iris = Graph.only_iris (self#tag)
  method tag_opt_iri = match self#tag_iris with [] -> None | x::_ -> Some x
  method tags = g.Graph.objects_of ~sub ~pred: tags
  method tags_opt = match self#tags with [] -> None | x::_ -> Some x
  method tags_iris = Graph.only_iris (self#tags)
  method tags_opt_iri = match self#tags_iris with [] -> None | x::_ -> Some x
  method target = g.Graph.objects_of ~sub ~pred: target
  method target_opt = match self#target with [] -> None | x::_ -> Some x
  method target_iris = Graph.only_iris (self#target)
  method target_opt_iri = match self#target_iris with [] -> None | x::_ -> Some x
  method to_ = g.Graph.objects_of ~sub ~pred: to_
  method to__opt = match self#to_ with [] -> None | x::_ -> Some x
  method to__iris = Graph.only_iris (self#to_)
  method to__opt_iri = match self#to__iris with [] -> None | x::_ -> Some x
  method totalItems = Graph.literal_objects_of g ~sub ~pred: totalItems
  method totalItems_opt = match self#totalItems with [] -> None | x::_ -> Some x
  method units = Graph.literal_objects_of g ~sub ~pred: units
  method units_opt = match self#units with [] -> None | x::_ -> Some x
  method updated = Graph.literal_objects_of g ~sub ~pred: updated
  method updated_opt = match self#updated with [] -> None | x::_ -> Some x
  method upstreamDuplicates = Graph.literal_objects_of g ~sub ~pred: upstreamDuplicates
  method upstreamDuplicates_opt = match self#upstreamDuplicates with [] -> None | x::_ -> Some x
  method url = g.Graph.objects_of ~sub ~pred: url
  method url_opt = match self#url with [] -> None | x::_ -> Some x
  method url_iris = Graph.only_iris (self#url)
  method url_opt_iri = match self#url_iris with [] -> None | x::_ -> Some x
  method verb = Graph.literal_objects_of g ~sub ~pred: verb
  method verb_opt = match self#verb with [] -> None | x::_ -> Some x
  method width = Graph.literal_objects_of g ~sub ~pred: width
  method width_opt = match self#width with [] -> None | x::_ -> Some x
  end