rdf 3.0.13 → 3.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,118 +5,181 @@ require 'rdf'
5
5
  module RDF
6
6
  # @!parse
7
7
  # # Vocabulary for <http://www.w3.org/2000/01/rdf-schema#>
8
+ # #
9
+ # # The RDF Schema vocabulary (RDFS)
10
+ # # @see http://www.w3.org/2000/01/rdf-schema-more
8
11
  # class RDFS < RDF::StrictVocabulary
12
+ # # The class of classes.
13
+ # # @return [RDF::Vocabulary::Term]
14
+ # attr_reader :Class
15
+ #
16
+ # # The class of RDF containers.
17
+ # # @return [RDF::Vocabulary::Term]
18
+ # attr_reader :Container
19
+ #
20
+ # # The class of container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of 'member'.
21
+ # # @return [RDF::Vocabulary::Term]
22
+ # attr_reader :ContainerMembershipProperty
23
+ #
24
+ # # The class of RDF datatypes.
25
+ # # @return [RDF::Vocabulary::Term]
26
+ # attr_reader :Datatype
27
+ #
28
+ # # The class of literal values, eg. textual strings and integers.
29
+ # # @return [RDF::Vocabulary::Term]
30
+ # attr_reader :Literal
31
+ #
32
+ # # The class resource, everything.
33
+ # # @return [RDF::Vocabulary::Term]
34
+ # attr_reader :Resource
35
+ #
36
+ # # A description of the subject resource.
37
+ # # @return [RDF::Vocabulary::Term]
38
+ # attr_reader :comment
39
+ #
40
+ # # A domain of the subject property.
41
+ # # @return [RDF::Vocabulary::Term]
42
+ # attr_reader :domain
43
+ #
44
+ # # The defininition of the subject resource.
45
+ # # @return [RDF::Vocabulary::Term]
46
+ # attr_reader :isDefinedBy
47
+ #
48
+ # # A human-readable name for the subject.
49
+ # # @return [RDF::Vocabulary::Term]
50
+ # attr_reader :label
51
+ #
52
+ # # A member of the subject resource.
53
+ # # @return [RDF::Vocabulary::Term]
54
+ # attr_reader :member
55
+ #
56
+ # # A range of the subject property.
57
+ # # @return [RDF::Vocabulary::Term]
58
+ # attr_reader :range
59
+ #
60
+ # # Further information about the subject resource.
61
+ # # @return [RDF::Vocabulary::Term]
62
+ # attr_reader :seeAlso
63
+ #
64
+ # # The subject is a subclass of a class.
65
+ # # @return [RDF::Vocabulary::Term]
66
+ # attr_reader :subClassOf
67
+ #
68
+ # # The subject is a subproperty of a property.
69
+ # # @return [RDF::Vocabulary::Term]
70
+ # attr_reader :subPropertyOf
71
+ #
9
72
  # end
10
- class RDFS < RDF::StrictVocabulary("http://www.w3.org/2000/01/rdf-schema#")
73
+ RDFS = Class.new(RDF::StrictVocabulary("http://www.w3.org/2000/01/rdf-schema#")) do
11
74
 
12
75
  # Ontology definition
13
76
  ontology :"http://www.w3.org/2000/01/rdf-schema#",
14
- "dc11:title": %(The RDF Schema vocabulary \(RDFS\)).freeze,
15
- "rdfs:seeAlso": %(http://www.w3.org/2000/01/rdf-schema-more).freeze,
77
+ "dc11:title": "The RDF Schema vocabulary (RDFS)".freeze,
78
+ "rdfs:seeAlso": "http://www.w3.org/2000/01/rdf-schema-more".freeze,
16
79
  type: "owl:Ontology".freeze
17
80
 
18
81
  # Class definitions
19
82
  term :Class,
20
83
  comment: %(The class of classes.).freeze,
84
+ isDefinedBy: "rdfs:".freeze,
21
85
  label: "Class".freeze,
22
- isDefinedBy: %(rdfs:).freeze,
23
86
  subClassOf: "rdfs:Resource".freeze,
24
87
  type: "rdfs:Class".freeze
25
88
  term :Container,
26
89
  comment: %(The class of RDF containers.).freeze,
90
+ isDefinedBy: "rdfs:".freeze,
27
91
  label: "Container".freeze,
28
- isDefinedBy: %(rdfs:).freeze,
29
92
  subClassOf: "rdfs:Resource".freeze,
30
93
  type: "rdfs:Class".freeze
31
94
  term :ContainerMembershipProperty,
32
95
  comment: %(The class of container membership properties, rdf:_1, rdf:_2, ...,
33
96
  all of which are sub-properties of 'member'.).freeze,
97
+ isDefinedBy: "rdfs:".freeze,
34
98
  label: "ContainerMembershipProperty".freeze,
35
- isDefinedBy: %(rdfs:).freeze,
36
99
  subClassOf: "rdf:Property".freeze,
37
100
  type: "rdfs:Class".freeze
38
101
  term :Datatype,
39
102
  comment: %(The class of RDF datatypes.).freeze,
103
+ isDefinedBy: "rdfs:".freeze,
40
104
  label: "Datatype".freeze,
41
- isDefinedBy: %(rdfs:).freeze,
42
105
  subClassOf: "rdfs:Class".freeze,
43
106
  type: "rdfs:Class".freeze
44
107
  term :Literal,
45
108
  comment: %(The class of literal values, eg. textual strings and integers.).freeze,
109
+ isDefinedBy: "rdfs:".freeze,
46
110
  label: "Literal".freeze,
47
- isDefinedBy: %(rdfs:).freeze,
48
111
  subClassOf: "rdfs:Resource".freeze,
49
112
  type: "rdfs:Class".freeze
50
113
  term :Resource,
51
114
  comment: %(The class resource, everything.).freeze,
115
+ isDefinedBy: "rdfs:".freeze,
52
116
  label: "Resource".freeze,
53
- isDefinedBy: %(rdfs:).freeze,
54
117
  type: "rdfs:Class".freeze
55
118
 
56
119
  # Property definitions
57
120
  property :comment,
58
121
  comment: %(A description of the subject resource.).freeze,
59
122
  domain: "rdfs:Resource".freeze,
123
+ isDefinedBy: "rdfs:".freeze,
60
124
  label: "comment".freeze,
61
125
  range: "rdfs:Literal".freeze,
62
- isDefinedBy: %(rdfs:).freeze,
63
126
  type: "rdf:Property".freeze
64
127
  property :domain,
65
128
  comment: %(A domain of the subject property.).freeze,
66
129
  domain: "rdf:Property".freeze,
130
+ isDefinedBy: "rdfs:".freeze,
67
131
  label: "domain".freeze,
68
132
  range: "rdfs:Class".freeze,
69
- isDefinedBy: %(rdfs:).freeze,
70
133
  type: "rdf:Property".freeze
71
134
  property :isDefinedBy,
72
135
  comment: %(The defininition of the subject resource.).freeze,
73
136
  domain: "rdfs:Resource".freeze,
137
+ isDefinedBy: "rdfs:".freeze,
74
138
  label: "isDefinedBy".freeze,
75
139
  range: "rdfs:Resource".freeze,
76
- isDefinedBy: %(rdfs:).freeze,
77
140
  subPropertyOf: "rdfs:seeAlso".freeze,
78
141
  type: "rdf:Property".freeze
79
142
  property :label,
80
143
  comment: %(A human-readable name for the subject.).freeze,
81
144
  domain: "rdfs:Resource".freeze,
145
+ isDefinedBy: "rdfs:".freeze,
82
146
  label: "label".freeze,
83
147
  range: "rdfs:Literal".freeze,
84
- isDefinedBy: %(rdfs:).freeze,
85
148
  type: "rdf:Property".freeze
86
149
  property :member,
87
150
  comment: %(A member of the subject resource.).freeze,
88
151
  domain: "rdfs:Resource".freeze,
152
+ isDefinedBy: "rdfs:".freeze,
89
153
  label: "member".freeze,
90
154
  range: "rdfs:Resource".freeze,
91
- isDefinedBy: %(rdfs:).freeze,
92
155
  type: "rdf:Property".freeze
93
156
  property :range,
94
157
  comment: %(A range of the subject property.).freeze,
95
158
  domain: "rdf:Property".freeze,
159
+ isDefinedBy: "rdfs:".freeze,
96
160
  label: "range".freeze,
97
161
  range: "rdfs:Class".freeze,
98
- isDefinedBy: %(rdfs:).freeze,
99
162
  type: "rdf:Property".freeze
100
163
  property :seeAlso,
101
164
  comment: %(Further information about the subject resource.).freeze,
102
165
  domain: "rdfs:Resource".freeze,
166
+ isDefinedBy: "rdfs:".freeze,
103
167
  label: "seeAlso".freeze,
104
168
  range: "rdfs:Resource".freeze,
105
- isDefinedBy: %(rdfs:).freeze,
106
169
  type: "rdf:Property".freeze
107
170
  property :subClassOf,
108
171
  comment: %(The subject is a subclass of a class.).freeze,
109
172
  domain: "rdfs:Class".freeze,
173
+ isDefinedBy: "rdfs:".freeze,
110
174
  label: "subClassOf".freeze,
111
175
  range: "rdfs:Class".freeze,
112
- isDefinedBy: %(rdfs:).freeze,
113
176
  type: "rdf:Property".freeze
114
177
  property :subPropertyOf,
115
178
  comment: %(The subject is a subproperty of a property.).freeze,
116
179
  domain: "rdf:Property".freeze,
180
+ isDefinedBy: "rdfs:".freeze,
117
181
  label: "subPropertyOf".freeze,
118
182
  range: "rdf:Property".freeze,
119
- isDefinedBy: %(rdfs:).freeze,
120
183
  type: "rdf:Property".freeze
121
184
  end
122
185
  end
@@ -5,9 +5,130 @@ require 'rdf'
5
5
  module RDF
6
6
  # @!parse
7
7
  # # Vocabulary for <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
8
+ # #
9
+ # # This is the RDF Schema for the RDF vocabulary terms in the RDF Namespace, defined in RDF 1.1 Concepts.
8
10
  # class RDFV < RDF::StrictVocabulary
11
+ # # The class of containers of alternatives.
12
+ # # @return [RDF::Vocabulary::Term]
13
+ # # @attr_reader :Alt
14
+ #
15
+ # # The class of unordered containers.
16
+ # # @return [RDF::Vocabulary::Term]
17
+ # # @attr_reader :Bag
18
+ #
19
+ # # A class representing a compound literal.
20
+ # # @return [RDF::Vocabulary::Term]
21
+ # # @attr_reader :CompoundLiteral
22
+ #
23
+ # # The class of RDF Lists.
24
+ # # @return [RDF::Vocabulary::Term]
25
+ # # @attr_reader :List
26
+ #
27
+ # # The class of RDF properties.
28
+ # # @return [RDF::Vocabulary::Term]
29
+ # # @attr_reader :Property
30
+ #
31
+ # # The class of ordered containers.
32
+ # # @return [RDF::Vocabulary::Term]
33
+ # # @attr_reader :Seq
34
+ #
35
+ # # The class of RDF statements.
36
+ # # @return [RDF::Vocabulary::Term]
37
+ # # @attr_reader :Statement
38
+ #
39
+ # # The direction component of a CompoundLiteral.
40
+ # # @return [RDF::Vocabulary::Term]
41
+ # # @attr_reader :direction
42
+ #
43
+ # # The first item in the subject RDF list.
44
+ # # @return [RDF::Vocabulary::Term]
45
+ # # @attr_reader :first
46
+ #
47
+ # # The object of the subject RDF statement.
48
+ # # @return [RDF::Vocabulary::Term]
49
+ # # @attr_reader :object
50
+ #
51
+ # # The language component of a CompoundLiteral.
52
+ # # @return [RDF::Vocabulary::Term]
53
+ # # @attr_reader :language
54
+ #
55
+ # # The predicate of the subject RDF statement.
56
+ # # @return [RDF::Vocabulary::Term]
57
+ # # @attr_reader :predicate
58
+ #
59
+ # # The rest of the subject RDF list after the first item.
60
+ # # @return [RDF::Vocabulary::Term]
61
+ # # @attr_reader :rest
62
+ #
63
+ # # The subject of the subject RDF statement.
64
+ # # @return [RDF::Vocabulary::Term]
65
+ # # @attr_reader :subject
66
+ #
67
+ # # The subject is an instance of a class.
68
+ # # @return [RDF::Vocabulary::Term]
69
+ # # @attr_reader :type
70
+ #
71
+ # # Idiomatic property used for structured values.
72
+ # # @return [RDF::Vocabulary::Term]
73
+ # # @attr_reader :value
74
+ #
75
+ # # The datatype of RDF literals storing fragments of HTML content.
76
+ # # @return [RDF::Vocabulary::Term]
77
+ # # @attr_reader :HTML
78
+ #
79
+ # # The datatype of RDF literals storing JSON content.
80
+ # # @return [RDF::Vocabulary::Term]
81
+ # # @attr_reader :JSON
82
+ #
83
+ # # The class of plain (i.e. untyped) literal values, as used in RIF and OWL 2.
84
+ # # @return [RDF::Vocabulary::Term]
85
+ # # @attr_reader :PlainLiteral
86
+ #
87
+ # # The datatype of XML literal values.
88
+ # # @return [RDF::Vocabulary::Term]
89
+ # # @attr_reader :XMLLiteral
90
+ #
91
+ # # The datatype of language-tagged string values.
92
+ # # @return [RDF::Vocabulary::Term]
93
+ # # @attr_reader :langString
94
+ #
95
+ # # RDF/XML node element.
96
+ # # @return [RDF::Vocabulary::Term]
97
+ # # @attr_reader :Description
98
+ #
99
+ # # RDF/XML attribute creating a Reification.
100
+ # # @return [RDF::Vocabulary::Term]
101
+ # # @attr_reader :ID
102
+ #
103
+ # # RDF/XML attribute declaring subject.
104
+ # # @return [RDF::Vocabulary::Term]
105
+ # # @attr_reader :about
106
+ #
107
+ # # RDF/XML literal datatype.
108
+ # # @return [RDF::Vocabulary::Term]
109
+ # # @attr_reader :datatype
110
+ #
111
+ # # RDF/XML container membership list element.
112
+ # # @return [RDF::Vocabulary::Term]
113
+ # # @attr_reader :li
114
+ #
115
+ # # The empty list, with no items in it. If the rest of a list is nil then the list has no more items in it.
116
+ # # @return [RDF::Vocabulary::Term]
117
+ # # @attr_reader :nil
118
+ #
119
+ # # RDF/XML Blank Node identifier.
120
+ # # @return [RDF::Vocabulary::Term]
121
+ # # @attr_reader :nodeID
122
+ #
123
+ # # Parse type for RDF/XML, either Collection, Literal or Resource.
124
+ # # @return [RDF::Vocabulary::Term]
125
+ # # @attr_reader :parseType
126
+ #
127
+ # # RDF/XML attribute declaring object.
128
+ # # @return [RDF::Vocabulary::Term]
129
+ # # @attr_reader :resource
9
130
  # end
10
- class RDFV < RDF::StrictVocabulary("http://www.w3.org/1999/02/22-rdf-syntax-ns#")
131
+ RDFV = Class.new(RDF::StrictVocabulary("http://www.w3.org/1999/02/22-rdf-syntax-ns#")) do
11
132
 
12
133
  class << self
13
134
  def name; "RDF"; end
@@ -33,6 +154,12 @@ module RDF
33
154
  isDefinedBy: %(rdf:).freeze,
34
155
  subClassOf: "rdfs:Container".freeze,
35
156
  type: "rdfs:Class".freeze
157
+ term :CompoundLiteral,
158
+ comment: %(A class representing a compound literal.).freeze,
159
+ label: "CompoundLiteral".freeze,
160
+ isDefinedBy: %(http://www.w3.org/1999/02/22-rdf-syntax-ns#).freeze,
161
+ subClassOf: "rdfs:Class".freeze,
162
+ type: "rdfs:Class".freeze
36
163
  term :List,
37
164
  comment: %(The class of RDF Lists.).freeze,
38
165
  label: "List".freeze,
@@ -59,6 +186,13 @@ module RDF
59
186
  type: "rdfs:Class".freeze
60
187
 
61
188
  # Property definitions
189
+ property :direction,
190
+ comment: %(The direction component of a CompoundLiteral.).freeze,
191
+ domain: "rdf:CompoundLiteral".freeze,
192
+ label: "direction".freeze,
193
+ range: "rdfs:Resource".freeze,
194
+ isDefinedBy: %(http://www.w3.org/1999/02/22-rdf-syntax-ns#).freeze,
195
+ type: "rdf:Property".freeze
62
196
  property :first,
63
197
  comment: %(The first item in the subject RDF list.).freeze,
64
198
  domain: "rdf:List".freeze,
@@ -73,6 +207,13 @@ module RDF
73
207
  range: "rdfs:Resource".freeze,
74
208
  isDefinedBy: %(rdf:).freeze,
75
209
  type: "rdf:Property".freeze
210
+ property :language,
211
+ comment: %(The language component of a CompoundLiteral.).freeze,
212
+ domain: "rdf:CompoundLiteral".freeze,
213
+ label: "language".freeze,
214
+ range: "rdfs:Resource".freeze,
215
+ isDefinedBy: %(http://www.w3.org/1999/02/22-rdf-syntax-ns#).freeze,
216
+ type: "rdf:Property".freeze
76
217
  property :predicate,
77
218
  comment: %(The predicate of the subject RDF statement.).freeze,
78
219
  domain: "rdf:Statement".freeze,
@@ -117,6 +258,11 @@ module RDF
117
258
  "rdfs:seeAlso": %(http://www.w3.org/TR/rdf11-concepts/#section-html).freeze,
118
259
  subClassOf: "rdfs:Literal".freeze,
119
260
  type: "rdfs:Datatype".freeze
261
+ property :JSON,
262
+ comment: %(The datatype of RDF literals storing JSON content.).freeze,
263
+ label: "JSON".freeze,
264
+ isDefinedBy: %(http://www.w3.org/1999/02/22-rdf-syntax-ns#).freeze,
265
+ type: "rdfs:Datatype".freeze
120
266
  term :PlainLiteral,
121
267
  comment: %(The class of plain \(i.e. untyped\) literal values, as used in RIF and OWL 2).freeze,
122
268
  label: "PlainLiteral".freeze,
@@ -1,5 +1,6 @@
1
1
  require 'rdf'
2
2
  require 'rdf/vocabulary'
3
+ require 'cgi'
3
4
 
4
5
  module RDF
5
6
  ##
@@ -84,7 +85,7 @@ module RDF
84
85
  on: ["--extra URIEncodedJSON"],
85
86
  description: "URI Encoded JSON representation of extra data"
86
87
  ) do |arg|
87
- ::JSON.parse(::URI.decode(arg)).inject({}) do |m1, (term, defs)|
88
+ ::JSON.parse(::CGI.unescape(arg)).inject({}) do |m1, (term, defs)|
88
89
  d1 = defs.inject({}) {|m, (k,v)| m.merge(k.to_sym => v)}
89
90
  m1.merge(term.to_sym => d1)
90
91
  end
@@ -145,11 +146,29 @@ module RDF
145
146
  module #{module_name}
146
147
  # @!parse
147
148
  # # Vocabulary for <#{base_uri}>
148
- # class #{class_name} < RDF::#{"Strict" if strict}Vocabulary
149
- # end
150
- class #{class_name} < RDF::#{"Strict" if strict}Vocabulary("#{base_uri}")
149
+ # #
151
150
  ).gsub(/^ /, '')
152
151
 
152
+ if vocab.ontology
153
+ ont_doc = []
154
+ [:"dc:title", :"dc11:title", :label, :comment, :"dc:description", :"dc11:description"].each do |attr|
155
+ next unless vocab.ontology.attributes[attr]
156
+ Array(vocab.ontology.attributes[attr]).each do |v|
157
+ ont_doc << " # # " + v.to_s.gsub(/\n/, ' ')
158
+ end
159
+ end
160
+ @output.puts ont_doc.join("\n # #\n") unless ont_doc.empty?
161
+ # Version Info
162
+ Array(vocab.ontology.attributes[:"owl:versionInfo"]).each do |vers|
163
+ @output.puts " # # @version #{vers}"
164
+ end
165
+ # See Also
166
+ Array(vocab.ontology.attributes[:"rdfs:seeAlso"]).each do |see|
167
+ @output.puts " # # @see #{see}"
168
+ end
169
+ end
170
+ @output.puts %( # class #{class_name} < RDF::#{"Strict" if strict}Vocabulary)
171
+
153
172
  # Split nodes into Class/Property/Datatype/Other
154
173
  term_nodes = {
155
174
  ontology: {},
@@ -181,6 +200,26 @@ module RDF
181
200
  term_nodes[kind][name] = term.attributes
182
201
  end
183
202
 
203
+ # Yard attribute information for terms
204
+ term_nodes.each do |tt, ttv|
205
+ next if tt == :ontology
206
+ ttv.each do |name, attributes|
207
+ # Only document terms that can be accessed like a Ruby attribute
208
+ next unless name.to_s.match?(/^[_[:alpha:]](?:\w*)[!?=]?$/)
209
+ @output.puts(Array(attributes[:comment]).map do |comment|
210
+ " # # #{comment.to_s.gsub(/\n/, ' ')}"
211
+ end.join("\n # #\n")) if attributes[:comment]
212
+ @output.puts " # # @return [RDF::Vocabulary::Term]"
213
+ @output.puts " # attr_reader :#{name}"
214
+ @output.puts " #"
215
+ end
216
+ end
217
+
218
+ # End of yard preamble
219
+ @output.puts " # end"
220
+ @output.puts %( #{class_name} = Class.new(RDF::#{"Strict" if strict}Vocabulary("#{base_uri}")) do)
221
+
222
+ # Output term definitions
184
223
  {
185
224
  ontology: "Ontology definition",
186
225
  class: "Class definitions",