rdf-rdfa 0.3.8 → 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- data/README +32 -82
- data/VERSION +1 -1
- data/lib/rdf/rdfa.rb +6 -4
- data/lib/rdf/rdfa/expansion.rb +50 -37
- data/lib/rdf/rdfa/format.rb +14 -0
- data/lib/rdf/rdfa/profile/html.rb +20 -0
- data/lib/rdf/rdfa/profile/xhtml.rb +33 -36
- data/lib/rdf/rdfa/profile/xml.rb +11 -10
- data/lib/rdf/rdfa/reader.rb +53 -25
- data/lib/rdf/rdfa/reader/nokogiri.rb +4 -3
- data/lib/rdf/rdfa/reader/rexml.rb +4 -3
- data/lib/rdf/rdfa/writer.rb +51 -60
- data/lib/rdf/rdfa/writer/haml_templates.rb +27 -68
- metadata +233 -135
data/README
CHANGED
@@ -30,7 +30,11 @@ RDFa Profiles were a mechanism added to allow groups of terms and prefixes to be
|
|
30
30
|
#### Vocabulary Expansion
|
31
31
|
One of the issues with vocabularies was that they discourage re-use of existing vocabularies when terms from several vocabularies are used at the same time. As it is common (encouraged) for RDF vocabularies to form sub-class and/or sub-property relationships with well defined vocabularies, the RDFa vocabulary expansion mechanism takes advantage of this.
|
32
32
|
|
33
|
-
As an optional part of RDFa processing, an RDFa processor will perform limited
|
33
|
+
As an optional part of RDFa processing, an RDFa processor will perform limited
|
34
|
+
[OWL 2 RL Profile entailment](http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/#Reasoning_in_OWL_2_RL_and_RDF_Graphs_using_Rules),
|
35
|
+
specifically rules prp-eqp1, prp-eqp2, cax-sco, cax-eqc1, and
|
36
|
+
cax-eqc2. This causes sub-classes and sub-properties of type and property IRIs to be added
|
37
|
+
to the output graph.
|
34
38
|
|
35
39
|
{RDF::RDFa::Reader} implements this using the `#expand` method, which looks for `rdfa:hasVocabulary` properties within the output graph and performs such expansion. See an example in the usage section.
|
36
40
|
|
@@ -145,6 +149,18 @@ this results in
|
|
145
149
|
#### Property chaining
|
146
150
|
If used without @rel, but with @typeof and a resource attribute, @property will cause chaining to another object just like @rel. The effect of this and other changes is to allow pretty much all RDFa to be marked up using just @property; @rel/@rev is no longer required. Although, @rel and @rev have useful features that @property does not, so it's worth keeping them in your toolkit.
|
147
151
|
|
152
|
+
#### Support for HTML5 `time` element
|
153
|
+
The `time` element allows the creation of a datatyped-literal based on the lexical scope of either the ``@datetime`` attribute, or the element content. We parse it according to xsd:date, xsd:time, xsd:dateTime, xsd:gYear, xsd:gYearMonth, and xsd:duration. If it matches none of these, a plain literal is emitted.
|
154
|
+
|
155
|
+
The `time` element is described in the WHATWG version of the [HTML5 spec](http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-time-element).
|
156
|
+
This is related to [RDFa ISSUE-97](http://www.w3.org/2010/02/rdfa/track/issues/97).
|
157
|
+
|
158
|
+
#### Support for HTML5 `data` element
|
159
|
+
This is an alternate way of adding data using the `@value` property. Similar to `meta`
|
160
|
+
|
161
|
+
The `data` element is described in the WHATWG version of the [HTML5 spec](http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-data-element).
|
162
|
+
This is related to [RDFa ISSUE-113](http://www.w3.org/2010/02/rdfa/track/issues/113)
|
163
|
+
|
148
164
|
## Usage
|
149
165
|
|
150
166
|
### Reading RDF data in the RDFa format
|
@@ -189,21 +205,9 @@ To specify an alternative Haml template, consider the following:
|
|
189
205
|
|
190
206
|
The template hash defines four Haml templates:
|
191
207
|
|
192
|
-
* _doc_: Document Template, takes an ordered list of _subject_s and yields each one to be rendered.
|
193
|
-
|
194
|
-
|
195
|
-
!!! XML
|
196
|
-
!!! 5
|
197
|
-
%html{:xmlns => "http://www.w3.org/1999/xhtml", :lang => lang, :prefix => prefix}
|
198
|
-
- if base || title
|
199
|
-
%head
|
200
|
-
- if base
|
201
|
-
%base{:href => base}
|
202
|
-
- if title
|
203
|
-
%title= title
|
204
|
-
%body
|
205
|
-
- subjects.each do |subject|
|
206
|
-
!= yield(subject)
|
208
|
+
* _doc_: Document Template, takes an ordered list of _subject_s and yields each one to be rendered. From {RDF::RDFa::Writer#render_document}:
|
209
|
+
|
210
|
+
{include:RDF::RDFa::Writer#render_document}
|
207
211
|
|
208
212
|
This template takes locals _lang_, _prefix_, _base_, _title_ in addition to _subjects_
|
209
213
|
to create output similar to the following:
|
@@ -222,67 +226,29 @@ The template hash defines four Haml templates:
|
|
222
226
|
Options passed to the Writer are used to supply _lang_ and _base_ locals.
|
223
227
|
_prefix_ is generated based upon prefixes found from the default profiles, as well
|
224
228
|
as those provided by a previous Reader. _title_ is taken from the first top-level subject
|
225
|
-
having an appropriate title property (as defined by the
|
229
|
+
having an appropriate title property (as defined by the _heading\_predicates_ option).
|
226
230
|
|
227
231
|
* _subject_: Subject Template, take a _subject_ and an ordered list of _predicate_s and yields
|
228
|
-
each _predicate_ to be rendered.
|
232
|
+
each _predicate_ to be rendered. From {RDF::RDFa::Writer#render_subject}:
|
229
233
|
|
230
|
-
|
231
|
-
%li{:rel => rel, :resource => resource, :inlist => inlist}
|
232
|
-
- if typeof
|
233
|
-
%span{:rel => 'rdf:type', :resource => typeof}.type!= typeof
|
234
|
-
- predicates.each do |predicate|
|
235
|
-
!= yield(predicate)
|
236
|
-
- elsif rel && typeof
|
237
|
-
%div{:rel => rel}
|
238
|
-
%div{:about => resource, :typeof => typeof}
|
239
|
-
%span.type!= typeof
|
240
|
-
- predicates.each do |predicate|
|
241
|
-
!= yield(predicate)
|
242
|
-
- elsif rel
|
243
|
-
%div{:rel => rel, :resource => resource}
|
244
|
-
- predicates.each do |predicate|
|
245
|
-
!= yield(predicate)
|
246
|
-
- else
|
247
|
-
%div{:about => about, :typeof => typeof}
|
248
|
-
- if typeof
|
249
|
-
%span.type!= typeof
|
250
|
-
- predicates.each do |predicate|
|
251
|
-
!= yield(predicate)
|
234
|
+
{include:RDF::RDFa::Writer#render_subject}
|
252
235
|
|
253
236
|
The template takes locals _rel_ and _typeof_ in addition to _predicates_ and _subject_ to
|
254
237
|
create output similar to the following:
|
255
238
|
|
256
|
-
<div
|
239
|
+
<div resource="http://example/">
|
257
240
|
...
|
258
241
|
</div>
|
259
242
|
|
260
243
|
Note that if _typeof_ is defined, in this template, it will generate a textual description.
|
261
244
|
|
262
245
|
* _property\_value_: Property Value Template, used for predicates having a single value; takes
|
263
|
-
a _predicate_, and a single-valued Array of _objects_.
|
264
|
-
|
265
|
-
|
266
|
-
%h1{:property => get_curie(predicate), :content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object), :inlist => inlist}= escape_entities(get_value(object))
|
267
|
-
- else
|
268
|
-
%div.property
|
269
|
-
%span.label
|
270
|
-
= get_predicate_name(predicate)
|
271
|
-
- if res = yield(object)
|
272
|
-
!= res
|
273
|
-
- elsif get_curie(object) == 'rdf:nil'
|
274
|
-
%span{:rel => get_curie(predicate), :inlist => ''}
|
275
|
-
- elsif object.node?
|
276
|
-
%span{:resource => get_curie(object), :rel => get_curie(predicate), :inlist => inlist}= get_curie(object)
|
277
|
-
- elsif object.uri?
|
278
|
-
%a{:href => object.to_s, :rel => get_curie(predicate), :inlist => inlist}= object.to_s
|
279
|
-
- elsif object.datatype == RDF.XMLLiteral
|
280
|
-
%span{:property => get_curie(predicate), :lang => get_lang(object), :datatype => get_dt_curie(object), :inlist => inlist}<!= get_value(object)
|
281
|
-
- else
|
282
|
-
%span{:property => get_curie(predicate), :content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object), :inlist => inlist}= escape_entities(get_value(object))
|
246
|
+
a _predicate_, and a single-valued Array of _objects_. From {RDF::RDFa::Writer#render_property}:
|
247
|
+
|
248
|
+
{include:RDF::RDFa::Writer#render_property}
|
283
249
|
|
284
250
|
In addition to _predicate_ and _objects_, the template takes _inlist_ to indicate that the
|
285
|
-
property is part of an rdf:List
|
251
|
+
property is part of an `rdf:List`.
|
286
252
|
|
287
253
|
Also, if the predicate is identified as a _heading predicate_ (via _:heading\_predicates_ option),
|
288
254
|
it will generate a heading element, and may use the value as the document title.
|
@@ -297,31 +263,14 @@ The template hash defines four Haml templates:
|
|
297
263
|
<span class='label'>
|
298
264
|
xhv:alternate
|
299
265
|
</span>
|
300
|
-
<a href='http://rdfa.info/feed/'
|
266
|
+
<a property='xhv:alternate' href='http://rdfa.info/feed/'>http://rdfa.info/feed/</a>
|
301
267
|
</div>
|
302
268
|
|
303
269
|
Note the use of methods defined in {RDF::RDFa::Writer} useful in rendering the output.
|
304
270
|
|
305
271
|
* _property\_values_: Similar to _property\_value_, but for predicates having more than one value.
|
306
|
-
Locals are identical to _property\_values_, but _objects_ is expected to have more than one value.
|
272
|
+
Locals are identical to _property\_values_, but _objects_ is expected to have more than one value. Described further in {RDF::RDFa::Writer#render_property}.
|
307
273
|
|
308
|
-
%div.property
|
309
|
-
%span.label
|
310
|
-
= get_predicate_name(predicate)
|
311
|
-
%ul
|
312
|
-
- objects.each do |object|
|
313
|
-
- if res = yield(object)
|
314
|
-
!= res
|
315
|
-
- elsif object.node?
|
316
|
-
%li{:rel => get_curie(predicate), :resource => get_curie(object), :inlist => inlist}= get_curie(object)
|
317
|
-
- elsif object.uri?
|
318
|
-
%li
|
319
|
-
%a{:rel => get_curie(predicate), :href => object.to_s, :inlist => inlist}= object.to_s
|
320
|
-
- elsif object.datatype == RDF.XMLLiteral
|
321
|
-
%li{:property => get_curie(predicate), :lang => get_lang(object), :datatype => get_curie(object.datatype), :inlist => inlist}<!= get_value(object)
|
322
|
-
- else
|
323
|
-
%li{:property => get_curie(predicate), :content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object), :inlist => inlist}= escape_entities(get_value(object))
|
324
|
-
|
325
274
|
In this case, and unordered list is used for output. Creates output similar to the following:
|
326
275
|
|
327
276
|
<div class='property'>
|
@@ -399,7 +348,7 @@ Full documentation available on [Rubydoc.info][RDFa doc]
|
|
399
348
|
* [RDF.rb][RDF.rb]
|
400
349
|
* [Distiller](http://rdf.greggkellogg.net/distiller)
|
401
350
|
* [Documentation][RDFa doc]
|
402
|
-
* [History]
|
351
|
+
* [History]{file:History.markdown}
|
403
352
|
* [RDFa 1.1 Core][RDFa 1.1 Core]
|
404
353
|
* [XHTML+RDFa 1.1][XHTML+RDFa 1.1]
|
405
354
|
* [RDFa-test-suite](http://rdfa.digitalbazaar.com/test-suite/ "RDFa test suite")
|
@@ -443,6 +392,7 @@ see <http://unlicense.org/> or the accompanying {file:UNLICENSE} file.
|
|
443
392
|
[RDFa 1.1 Core]: http://www.w3.org/TR/2011/WD-rdfa-core-20110331/ "RDFa 1.1 Core"
|
444
393
|
[RDFa Lite 1.1]: http://www.w3.org/2010/02/rdfa/drafts/2011/ED-rdfa-lite-20111030/ "RDFa Lite 1.1"
|
445
394
|
[XHTML+RDFa 1.1]: http://www.w3.org/TR/2011/WD-xhtml-rdfa-20110331/ "XHTML+RDFa 1.1"
|
395
|
+
[HTML+RDFa 1.1]: http://www.w3.org/TR/2011/WD-rdfa-in-html-20110525/ "HTML+RDFa 1.1"
|
446
396
|
[RDFa-test-suite]: http://rdfa.digitalbazaar.com/test-suite/ "RDFa test suite"
|
447
397
|
[RDFa doc]: http://rubydoc.info/github/gkellogg/rdf-rdfa/frames
|
448
398
|
[Haml]: http://haml-lang.com/
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.9
|
data/lib/rdf/rdfa.rb
CHANGED
@@ -18,8 +18,9 @@ module RDF
|
|
18
18
|
# @see http://rdf.rubyforge.org/
|
19
19
|
# @see http://www.w3.org/TR/xhtml-rdfa-primer/
|
20
20
|
# @see http://www.w3.org/2010/02/rdfa/wiki/Main_Page
|
21
|
-
# @see http://www.w3.org/TR/2011/WD-rdfa-core-
|
22
|
-
# @see http://www.w3.org/TR/2011/WD-
|
21
|
+
# @see http://www.w3.org/TR/2011/WD-rdfa-core-20111215/
|
22
|
+
# @see http://www.w3.org/TR/2011/WD-rdfa-in-html-20110525/
|
23
|
+
# @see http://dev.w3.org/html5/rdfa/
|
23
24
|
#
|
24
25
|
# @author [Gregg Kellogg](http://kellogg-assoc.com/)
|
25
26
|
module RDFa
|
@@ -32,8 +33,9 @@ module RDF
|
|
32
33
|
autoload :Writer, 'rdf/rdfa/writer'
|
33
34
|
autoload :VERSION, 'rdf/rdfa/version'
|
34
35
|
|
35
|
-
|
36
|
-
|
36
|
+
HTML_RDFA_CONTEXT = "http://www.w3.org/2011/rdfa-context/html-rdfa-1.1"
|
37
|
+
XHTML_RDFA_CONTEXT = "http://www.w3.org/2011/rdfa-context/xhtml-rdfa-1.1"
|
38
|
+
XML_RDFA_CONTEXT = "http://www.w3.org/2011/rdfa-context/rdfa-1.1"
|
37
39
|
|
38
40
|
def self.debug?; @debug; end
|
39
41
|
def self.debug=(value); @debug = value; end
|
data/lib/rdf/rdfa/expansion.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module RDF::RDFa
|
2
2
|
##
|
3
|
-
# The Expansion module performs a subset of
|
3
|
+
# The Expansion module performs a subset of OWL entailment rules on the base class,
|
4
4
|
# which implementes RDF::Readable.
|
5
5
|
module Expansion
|
6
6
|
##
|
@@ -10,29 +10,32 @@ module RDF::RDFa
|
|
10
10
|
##
|
11
11
|
# Perform vocabulary expansion on the resulting default graph.
|
12
12
|
#
|
13
|
-
# Vocabulary expansion relies on a sub-set of
|
14
|
-
# based on rules and property/class relationships
|
13
|
+
# Vocabulary expansion relies on a sub-set of OWL [OWL2-PROFILES] entailment to add
|
14
|
+
# triples to the default graph based on rules and property/class relationships
|
15
|
+
# described in referenced vocabularies.
|
15
16
|
#
|
16
17
|
# For all objects that are the target of an rdfa:hasVocabulary property, load the IRI into
|
17
18
|
# a repository.
|
18
19
|
#
|
19
|
-
# Subsequently, perform
|
20
|
-
#
|
20
|
+
# Subsequently, perform OWL expansion using rules prp-spo1, prp-eqp1,
|
21
|
+
# prp-eqp2, cax-sco, cax-eqc1, and cax-eqc2 placing resulting triples into the default
|
22
|
+
# graph. Iterate on this step until no more triples are added.
|
21
23
|
#
|
22
24
|
# @example
|
23
|
-
#
|
24
|
-
# {
|
25
|
+
# scm-spo
|
26
|
+
# {pq rdfs:subPropertyOf pw . pw rdfs:subPropertyOf p3} => {p1 rdfs:subPropertyOf p3}
|
25
27
|
#
|
26
|
-
#
|
27
|
-
# {
|
28
|
+
# rdprp-spo1fs7
|
29
|
+
# {p1 rdfs:subPropertyOf p2 . x p1 y} => {x p2 y}
|
28
30
|
#
|
29
|
-
#
|
30
|
-
# {
|
31
|
+
# cax-sco
|
32
|
+
# {c1 rdfs:subClassOf c2 . x rdf:type c1} => {x rdf:type c2}
|
31
33
|
#
|
32
|
-
#
|
33
|
-
# {
|
34
|
+
# scm-sco
|
35
|
+
# {c1 rdfs:subClassOf c2 . c2 rdfs:subClassOf c3} => {c1 rdfs:subClassOf c3}
|
34
36
|
#
|
35
37
|
# @return [RDF::Graph]
|
38
|
+
# @see [OWL2 PROFILES](http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/#Reasoning_in_OWL_2_RL_and_RDF_Graphs_using_Rules)
|
36
39
|
def expand
|
37
40
|
repo = RDF::Repository.new
|
38
41
|
repo << self # Add default graph
|
@@ -67,7 +70,7 @@ module RDF::RDFa
|
|
67
70
|
if repo.count == count
|
68
71
|
add_debug("expand", "No vocabularies loaded")
|
69
72
|
else
|
70
|
-
repo =
|
73
|
+
repo = owl_entailment(repo)
|
71
74
|
end
|
72
75
|
|
73
76
|
# Return graph with default context
|
@@ -97,10 +100,10 @@ module RDF::RDFa
|
|
97
100
|
|
98
101
|
##
|
99
102
|
# @example
|
100
|
-
# r = Rule.new("
|
101
|
-
# antecedent :
|
102
|
-
# antecedent :
|
103
|
-
# consequent :
|
103
|
+
# r = Rule.new("scm-spo") do
|
104
|
+
# antecedent :p1, RDF::RDFS.subPropertyOf, :p2
|
105
|
+
# antecedent :p2, RDF::RDFS.subPropertyOf, :p3
|
106
|
+
# consequent :p1, RDF::RDFS.subPropertyOf, :p3, "t-box"
|
104
107
|
# end
|
105
108
|
#
|
106
109
|
# r.execute(queryable) {|statement| puts statement.inspect}
|
@@ -155,33 +158,43 @@ module RDF::RDFa
|
|
155
158
|
private
|
156
159
|
|
157
160
|
RULES = [
|
158
|
-
Rule.new("
|
159
|
-
antecedent :
|
160
|
-
antecedent :
|
161
|
-
consequent :
|
161
|
+
Rule.new("prp-spo1") do
|
162
|
+
antecedent :p1, RDF::RDFS.subPropertyOf, :p2
|
163
|
+
antecedent :x, :p1, :y
|
164
|
+
consequent :x, :p2, :y
|
162
165
|
end,
|
163
|
-
Rule.new("
|
164
|
-
antecedent :
|
165
|
-
antecedent :
|
166
|
-
consequent :
|
166
|
+
Rule.new("prp-eqp1") do
|
167
|
+
antecedent :p1, RDF::OWL.equivalentProperty, :p2
|
168
|
+
antecedent :x, :p1, :y
|
169
|
+
consequent :x, :p2, :y
|
167
170
|
end,
|
168
|
-
Rule.new("
|
169
|
-
antecedent :
|
170
|
-
antecedent :
|
171
|
-
consequent :
|
171
|
+
Rule.new("prp-eqp2") do
|
172
|
+
antecedent :p1, RDF::OWL.equivalentProperty, :p2
|
173
|
+
antecedent :x, :p2, :y
|
174
|
+
consequent :x, :p1, :y
|
175
|
+
end,
|
176
|
+
Rule.new("cax-sco") do
|
177
|
+
antecedent :c1, RDF::RDFS.subClassOf, :c2
|
178
|
+
antecedent :x, RDF.type, :c1
|
179
|
+
consequent :x, RDF.type, :c2
|
180
|
+
end,
|
181
|
+
Rule.new("cax-eqc1") do
|
182
|
+
antecedent :c1, RDF::OWL.equivalentClass, :c2
|
183
|
+
antecedent :x, RDF.type, :c1
|
184
|
+
consequent :x, RDF.type, :c2
|
185
|
+
end,
|
186
|
+
Rule.new("cax-eqc2") do
|
187
|
+
antecedent :c1, RDF::OWL.equivalentClass, :c2
|
188
|
+
antecedent :x, RDF.type, :c2
|
189
|
+
consequent :x, RDF.type, :c1
|
172
190
|
end,
|
173
|
-
Rule.new("rdfs11") do
|
174
|
-
antecedent :uuu, RDF::RDFS.subClassOf, :vvv
|
175
|
-
antecedent :vvv, RDF::RDFS.subClassOf, :xxx
|
176
|
-
consequent :uuu, RDF::RDFS.subClassOf, :xxx, "t-box"
|
177
|
-
end
|
178
191
|
]
|
179
192
|
|
180
193
|
##
|
181
|
-
# Perform
|
194
|
+
# Perform OWL entailment rules on repository
|
182
195
|
# @param [RDF::Repository] repo
|
183
196
|
# @return [RDF::Repository]
|
184
|
-
def
|
197
|
+
def owl_entailment(repo)
|
185
198
|
old_count = 0
|
186
199
|
|
187
200
|
while old_count < (count = repo.count)
|
data/lib/rdf/rdfa/format.rb
CHANGED
@@ -39,6 +39,20 @@ module RDF::RDFa
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
+
# Aliases for RDFa::Format
|
43
|
+
#
|
44
|
+
# This allows the following:
|
45
|
+
#
|
46
|
+
# @example Obtaining an HTML format class
|
47
|
+
# RDF::Format.for(:lite) # RDF::RDFa::Lite
|
48
|
+
# RDF::Format.for(:lite).reader # RDF::RDFa::Reader
|
49
|
+
# RDF::Format.for(:lite).writer # RDF::RDFa::Writer
|
50
|
+
class Lite < RDF::Format
|
51
|
+
content_encoding 'utf-8'
|
52
|
+
reader { RDF::RDFa::Reader }
|
53
|
+
writer { RDF::RDFa::Writer }
|
54
|
+
end
|
55
|
+
|
42
56
|
# Aliases for RDFa::Format
|
43
57
|
#
|
44
58
|
# This allows the following:
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# This file is automatically generated by ./script/intern_profile
|
2
|
+
# RDFa profile for http://www.w3.org/2011/rdfa-context/html-rdfa-1.1.html
|
3
|
+
|
4
|
+
class RDF::RDFa::Profile
|
5
|
+
def self.find_with_html_rdfa_1_1_html(uri)
|
6
|
+
if uri.to_s == "http://www.w3.org/2011/rdfa-context/html-rdfa-1.1"
|
7
|
+
@_html_rdfa_1_1_html_prof ||= RDF::RDFa::Profile.new(RDF::URI("http://www.w3.org/2011/rdfa-context/html-rdfa-1.1"), {
|
8
|
+
})
|
9
|
+
else
|
10
|
+
find_without_html_rdfa_1_1_html(uri)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class << self
|
15
|
+
##
|
16
|
+
# Override find to return this profile, if matched
|
17
|
+
alias_method :find_without_html_rdfa_1_1_html, :find
|
18
|
+
alias_method :find, :find_with_html_rdfa_1_1_html
|
19
|
+
end
|
20
|
+
end
|
@@ -1,50 +1,47 @@
|
|
1
|
-
# This file is automatically generated by ./script/
|
2
|
-
# RDFa
|
3
|
-
|
4
|
-
require 'facets/module'
|
1
|
+
# This file is automatically generated by ./script/intern_profile
|
2
|
+
# RDFa profile for http://www.w3.org/2011/rdfa-context/xhtml-rdfa-1.1.html
|
5
3
|
|
6
4
|
class RDF::RDFa::Profile
|
7
|
-
def self.
|
8
|
-
if uri.to_s == "http://www.w3.org/
|
9
|
-
@
|
5
|
+
def self.find_with_xhtml_rdfa_1_1_html(uri)
|
6
|
+
if uri.to_s == "http://www.w3.org/2011/rdfa-context/xhtml-rdfa-1.1"
|
7
|
+
@_xhtml_rdfa_1_1_html_prof ||= RDF::RDFa::Profile.new(RDF::URI("http://www.w3.org/2011/rdfa-context/xhtml-rdfa-1.1"), {
|
10
8
|
:terms => {
|
11
|
-
:alternate
|
12
|
-
:appendix
|
13
|
-
:bookmark
|
14
|
-
:chapter
|
15
|
-
:cite
|
16
|
-
:contents
|
17
|
-
:copyright
|
18
|
-
:first
|
19
|
-
:glossary
|
20
|
-
:help
|
21
|
-
:icon
|
22
|
-
:index
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
28
|
-
:
|
29
|
-
:
|
30
|
-
:
|
31
|
-
:
|
32
|
-
:
|
33
|
-
:
|
34
|
-
:
|
35
|
-
:
|
36
|
-
:transformation => "http://www.w3.org/2003/g/data-view#transformation",
|
37
|
-
:up => "http://www.w3.org/1999/xhtml/vocab#up",
|
9
|
+
:alternate => "http://www.w3.org/1999/xhtml/vocab#alternate",
|
10
|
+
:appendix => "http://www.w3.org/1999/xhtml/vocab#appendix",
|
11
|
+
:bookmark => "http://www.w3.org/1999/xhtml/vocab#bookmark",
|
12
|
+
:chapter => "http://www.w3.org/1999/xhtml/vocab#chapter",
|
13
|
+
:cite => "http://www.w3.org/1999/xhtml/vocab#cite",
|
14
|
+
:contents => "http://www.w3.org/1999/xhtml/vocab#contents",
|
15
|
+
:copyright => "http://www.w3.org/1999/xhtml/vocab#copyright",
|
16
|
+
:first => "http://www.w3.org/1999/xhtml/vocab#first",
|
17
|
+
:glossary => "http://www.w3.org/1999/xhtml/vocab#glossary",
|
18
|
+
:help => "http://www.w3.org/1999/xhtml/vocab#help",
|
19
|
+
:icon => "http://www.w3.org/1999/xhtml/vocab#icon",
|
20
|
+
:index => "http://www.w3.org/1999/xhtml/vocab#index",
|
21
|
+
:last => "http://www.w3.org/1999/xhtml/vocab#last",
|
22
|
+
:license => "http://www.w3.org/1999/xhtml/vocab#license",
|
23
|
+
:meta => "http://www.w3.org/1999/xhtml/vocab#meta",
|
24
|
+
:next => "http://www.w3.org/1999/xhtml/vocab#next",
|
25
|
+
:p3pv1 => "http://www.w3.org/1999/xhtml/vocab#p3pv1",
|
26
|
+
:prev => "http://www.w3.org/1999/xhtml/vocab#prev",
|
27
|
+
:previous => "http://www.w3.org/1999/xhtml/vocab#previous",
|
28
|
+
:section => "http://www.w3.org/1999/xhtml/vocab#section",
|
29
|
+
:start => "http://www.w3.org/1999/xhtml/vocab#start",
|
30
|
+
:stylesheet => "http://www.w3.org/1999/xhtml/vocab#stylesheet",
|
31
|
+
:subsection => "http://www.w3.org/1999/xhtml/vocab#subsection",
|
32
|
+
:top => "http://www.w3.org/1999/xhtml/vocab#top",
|
33
|
+
:up => "http://www.w3.org/1999/xhtml/vocab#up",
|
38
34
|
},
|
39
35
|
})
|
40
36
|
else
|
41
|
-
|
37
|
+
find_without_xhtml_rdfa_1_1_html(uri)
|
42
38
|
end
|
43
39
|
end
|
44
40
|
|
45
41
|
class << self
|
46
42
|
##
|
47
43
|
# Override find to return this profile, if matched
|
48
|
-
|
44
|
+
alias_method :find_without_xhtml_rdfa_1_1_html, :find
|
45
|
+
alias_method :find, :find_with_xhtml_rdfa_1_1_html
|
49
46
|
end
|
50
47
|
end
|