relaton-w3c 1.12.0 → 1.12.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +6 -3
  3. data/lib/relaton_w3c/data_fetcher.rb +102 -34
  4. data/lib/relaton_w3c/data_index.rb +31 -13
  5. data/lib/relaton_w3c/data_parser.rb +47 -22
  6. data/lib/relaton_w3c/processor.rb +3 -3
  7. data/lib/relaton_w3c/version.rb +1 -1
  8. data/lib/relaton_w3c/workgroups.yaml +285 -148
  9. metadata +2 -27
  10. data/data/reference.W3C.CR-rdf-schema.xml +0 -16
  11. data/data/reference.W3C.DSig-label.xml +0 -32
  12. data/data/reference.W3C.P3P-rdfschema.xml +0 -26
  13. data/data/reference.W3C.P3P.xml +0 -38
  14. data/data/reference.W3C.PICS-labels.xml +0 -43
  15. data/data/reference.W3C.PICS-rules.xml +0 -38
  16. data/data/reference.W3C.PICS-services.xml +0 -37
  17. data/data/reference.W3C.REC-RUBY.xml +0 -22
  18. data/data/reference.W3C.REC-XHTML.xml +0 -12
  19. data/data/reference.W3C.REC-rdf-syntax.xml +0 -31
  20. data/data/reference.W3C.REC-xml-1998.xml +0 -20
  21. data/data/reference.W3C.REC-xml-names.xml +0 -28
  22. data/data/reference.W3C.REC-xml.xml +0 -35
  23. data/data/reference.W3C.REC-xmlenc-core.xml +0 -23
  24. data/data/reference.W3C.REC-xmlschema-1.xml +0 -23
  25. data/data/reference.W3C.REC-xmlschema-2.xml +0 -17
  26. data/data/reference.W3C.daml-oil-reference.xml +0 -39
  27. data/data/reference.W3C.soap11.xml +0 -56
  28. data/data/reference.W3C.soap12-part1.xml +0 -38
  29. data/data/reference.W3C.soap12-part2.xml +0 -38
  30. data/data/reference.W3C.xkms.xml +0 -50
  31. data/data/reference.W3C.xml-c14n.xml +0 -15
  32. data/data/reference.W3C.xmldsig-core.xml +0 -26
  33. data/data/reference.W3C.xmlenc-core.xml +0 -20
  34. data/data/reference.W3C.xpath.xml +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3bac445b656e3c97ea5e550a1c0d93f41e31a50adb5e04071e95076f139ba35d
4
- data.tar.gz: bc122a2538c95e1b613f7939de6b6c7e33d98c8b0d1facf48ce94d9fd0dece06
3
+ metadata.gz: b0e1e914bfe536b10f9d3b9e48f946e9d86a66df1db0233e1b6d3f67b29beaa6
4
+ data.tar.gz: 635cd920c1b8ff93678083790518eade6ce7051653e190eb8294a25306e3e69a
5
5
  SHA512:
6
- metadata.gz: b2055507b27e70a521e725368d48e063ca3cc2f4d86c84d1476dcac6cda71f06af4ad67c70f466c0b205864d90c704a8084e617054cee1bc4f419a0745d22e1d
7
- data.tar.gz: 9d7268f28268075c41af992ad40e7769c7a77fb0591e6950f1dee981dc3f1fcaff76821c9cc0d5a8a2508a7390ee8f03b5e61ed8fee77ccc7485717b534d1d88
6
+ metadata.gz: bcdce1b3f1e10def99be7e5d51d98acb868d9d94884211d17814b22ffc64b5d2b4cfdee45bebe784fe02672d1af0cabb1a7dc7f3671433bd63c296a9ed106016
7
+ data.tar.gz: 81457b4d1f0f59a6b869a7089bd9173164abd126ed17a923f5f02f1766e7d732ba421c61284cfd35b1ca006b75c0e8e1ff7e80d55f58d7af09f64460bd8e1d8f
data/README.adoc CHANGED
@@ -151,14 +151,17 @@ RelatonW3c::W3cBibliographicItem.new **bib_hash
151
151
 
152
152
  === Fetch data
153
153
 
154
- There is a W3C dataset http://www.w3.org/2002/01/tr-automation/tr.rdf which can be converted into RelatonXML/BibXML/BibYAML formats. The static files from the `path_to_gem/withdrawn` directory are added to output during fetching data.
155
-
156
- The method `RelatonW3c::DataFetcher.fetch(output: "data", format: "yaml")` converts all the documents from the dataset and save them to the `./data` folder in YAML format.
154
+ The method `RelatonW3c::DataFetcher.fetch(source, output: "data", format: "yaml")` converts all the documents from the dataset and save them to the `./data` folder in YAML format.
157
155
  Arguments:
158
156
 
157
+ - `source` - name of dataset (`w3c-rdf` or `w3c-tr-archive`)
159
158
  - `output` - folder to save documents (default './data').
160
159
  - `format` - format in which the documents are saved. Possible formats are: `yaml`, `xml`, `bibxml` (default `yaml`).
161
160
 
161
+ The available datasets are:
162
+ - `w3c-rdf` - The dataset is fetched from http://www.w3.org/2002/01/tr-automation/tr.rdf.
163
+ - `w3c-tr-archive` - The archive dataset files should be downloaded from https://github.com/relaton/w3c-tr-archive repository and placed into `w3c-tr-archive` folder.
164
+
162
165
  [source,ruby]
163
166
  ----
164
167
  RelatonW3c::DataFetcher.fetch
@@ -20,22 +20,21 @@ module RelatonW3c
20
20
  @ext = format.sub(/^bib/, "")
21
21
  dir = File.dirname(File.expand_path(__FILE__))
22
22
  @group_names = YAML.load_file(File.join(dir, "workgroups.yaml"))
23
- @data = RDF::Repository.load("http://www.w3.org/2002/01/tr-automation/tr.rdf")
24
- @files = []
25
- @index = DataIndex.new
23
+ @index = DataIndex.create_from_file
26
24
  end
27
25
 
28
26
  #
29
27
  # Initialize fetcher and run fetch
30
28
  #
29
+ # @param [String] source source name "w3c-tr-archive" or "w3c-rdf"
31
30
  # @param [Strin] output directory to save files, default: "data"
32
31
  # @param [Strin] format format of output files (xml, yaml, bibxml), default: yaml
33
32
  #
34
- def self.fetch(output: "data", format: "yaml")
33
+ def self.fetch(source, output: "data", format: "yaml")
35
34
  t1 = Time.now
36
35
  puts "Started at: #{t1}"
37
- FileUtils.mkdir_p output unless Dir.exist? output
38
- new(output, format).fetch
36
+ FileUtils.mkdir_p output
37
+ new(output, format).fetch source
39
38
  t2 = Time.now
40
39
  puts "Stopped at: #{t2}"
41
40
  puts "Done in: #{(t2 - t1).round} sec."
@@ -44,47 +43,113 @@ module RelatonW3c
44
43
  #
45
44
  # Parse documents
46
45
  #
47
- def fetch # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
48
- query_versioned_docs.each do |sl|
49
- save_doc DataParser.parse(sl, self)
50
- rescue StandardError => e
51
- warn "Error: document #{sl.link} #{e.message}"
52
- warn e.backtrace.join("\n")
46
+ # @param [String] source source name "w3c-tr-archive" or "w3c-rdf"
47
+ #
48
+ def fetch(source) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
49
+ each_dataset(source) do |rdf|
50
+ %i[versioned unversioned].each do |type|
51
+ send("query_#{type}_docs", rdf).each do |sl|
52
+ bib = DataParser.parse(rdf, sl, self)
53
+ add_has_edition_relation(bib) if type == :unversioned
54
+ save_doc bib
55
+ rescue StandardError => e
56
+ link = sl.respond_to?(:link) ? sl.link : sl.version_of
57
+ warn "Error: document #{link} #{e.message}"
58
+ warn e.backtrace.join("\n")
59
+ end
60
+ end
53
61
  end
54
- query_unversioned_docs.each do |sl|
55
- save_doc DataParser.parse(sl, self)
56
- rescue StandardError => e
57
- warn "Error: document #{sl.version_of} #{e.message}"
58
- warn e.backtrace.join("\n")
62
+ @index.sort!.save
63
+ end
64
+
65
+ #
66
+ # Add hasEdition relations form previous parsed document
67
+ #
68
+ # @param [RelatonW3c::W3cBibliographicItem] bib bibligraphic item
69
+ #
70
+ def add_has_edition_relation(bib) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/CyclomaticComplexity
71
+ file = file_name bib.docnumber
72
+ return unless File.exist? file
73
+
74
+ b = case @format
75
+ when "xml" then XMLParser.from_xml(File.read(file, encoding: "UTF-8"))
76
+ when "yaml"
77
+ hash = YAML.load_file(file)
78
+ W3cBibliographicItem.from_hash(hash)
79
+ when "bibxml" then BibXMLParser.parse File.read(file, encoding: "UTF-8")
80
+ end
81
+ b.relation.each do |r|
82
+ same_edition = bib.relation.detect { |r2| same_edition?(r, r2) }
83
+ bib.relation << r unless same_edition
59
84
  end
60
- Dir[File.expand_path("../../data/*", __dir__)].each do |file|
61
- xml = File.read file, encoding: "UTF-8"
62
- save_doc BibXMLParser.parse(xml), warn_duplicate: false
63
- rescue StandardError => e
64
- warn "Error: document #{file} #{e.message}"
65
- warn e.backtrace.join("\n")
85
+ end
86
+
87
+ #
88
+ # Compare two relations
89
+ #
90
+ # @param [RelatonW3c::W3cBibliographicItem] rel1 relation 1
91
+ # @param [RelatonW3c::W3cBibliographicItem] rel2 relation 2
92
+ #
93
+ # @return [Boolean] true if relations are same
94
+ #
95
+ def same_edition?(rel1, rel2)
96
+ return false unless rel1.type == "hasEdition" && rel1.type == rel2.type
97
+
98
+ ids1 = rel1.bibitem.docidentifier.map(&:id)
99
+ ids2 = rel2.bibitem.docidentifier.map(&:id)
100
+ (ids1 & ids2).any?
101
+ end
102
+
103
+ #
104
+ # Yield fetching for each dataset
105
+ #
106
+ # @param [String] source source name "w3c-tr-archive" or "w3c-rdf"
107
+ #
108
+ # @yield [RDF::Repository] RDF repository
109
+ #
110
+ def each_dataset(source, &_block) # rubocop:disable Metrics/MethodLength
111
+ case source
112
+ when "w3c-tr-archive"
113
+ Dir["w3c-tr-archive/*.rdf"].map do |f|
114
+ @files = []
115
+ yield RDF::Repository.load(f)
116
+ end
117
+ when "w3c-rdf"
118
+ @files = []
119
+ rdf = RDF::Repository.load("http://www.w3.org/2002/01/tr-automation/tr.rdf")
120
+ yield rdf
121
+ # parse_static_dataset
66
122
  end
67
- @index.sort!.save
68
123
  end
69
124
 
125
+ #
126
+ # Parse static dataset
127
+ #
128
+ # def parse_static_dataset
129
+ # Dir[File.expand_path("../../data/*", __dir__)].each do |file|
130
+ # xml = File.read file, encoding: "UTF-8"
131
+ # save_doc BibXMLParser.parse(xml), warn_duplicate: false
132
+ # rescue StandardError => e
133
+ # warn "Error: document #{file} #{e.message}"
134
+ # warn e.backtrace.join("\n")
135
+ # end
136
+ # end
137
+
70
138
  #
71
139
  # Query RDF source for versioned documents
72
140
  #
73
141
  # @return [RDF::Query::Solutions] query results
74
142
  #
75
- def query_versioned_docs # rubocop:disable Metrics/MethodLength
143
+ def query_versioned_docs(rdf)
76
144
  sse = SPARQL.parse(%(
77
145
  PREFIX : <http://www.w3.org/2001/02pd/rec54#>
78
146
  PREFIX dc: <http://purl.org/dc/elements/1.1/>
79
147
  PREFIX doc: <http://www.w3.org/2000/10/swap/pim/doc#>
80
- # PREFIX mat: <http://www.w3.org/2002/05/matrix/vocab#>
81
148
  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
82
- SELECT ?link ?title ?date ?version_of
83
- WHERE {
84
- ?link dc:title ?title ; dc:date ?date ; doc:versionOf ?version_of .
85
- }
149
+ SELECT ?link ?title ?date
150
+ WHERE { ?link dc:title ?title ; dc:date ?date . }
86
151
  ))
87
- data.query sse
152
+ rdf.query sse
88
153
  end
89
154
 
90
155
  #
@@ -92,13 +157,16 @@ module RelatonW3c
92
157
  #
93
158
  # @return [Array<RDF::Query::Solution>] query results
94
159
  #
95
- def query_unversioned_docs
160
+ def query_unversioned_docs(rdf)
96
161
  sse = SPARQL.parse(%(
97
162
  PREFIX doc: <http://www.w3.org/2000/10/swap/pim/doc#>
98
163
  SELECT ?version_of
99
- WHERE { ?x doc:versionOf ?version_of . }
164
+ WHERE {
165
+ ?link doc:versionOf ?version_of .
166
+ FILTER ( isURI(?link) && isURI(?version_of) && ?link != ?version_of )
167
+ }
100
168
  ))
101
- data.query(sse).uniq &:version_of
169
+ rdf.query(sse).uniq { |s| s.version_of.to_s.sub(/^https?:\/\//, "").sub(/\/$/, "") }
102
170
  end
103
171
 
104
172
  #
@@ -14,15 +14,24 @@ module RelatonW3c
14
14
  end
15
15
 
16
16
  #
17
- # Add document to index
17
+ # Add document to index or update it if already exists
18
18
  #
19
19
  # @param [String] docnumber document number
20
20
  # @param [String] file path to document file
21
21
  #
22
- def add(docnumber, file)
22
+ def add(docnumber, file) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/MethodLength
23
23
  dnparts = self.class.docnumber_to_parts docnumber
24
- dnparts[:file] = file
25
- @index << dnparts
24
+ rec = @index.detect { |i| i[:file] == file }
25
+ if rec
26
+ rec[:code] = dnparts[:code]
27
+ dnparts[:stage] ? rec[:stage] = dnparts[:stage] : rec.delete(:stage)
28
+ dnparts[:type] ? rec[:type] = dnparts[:type] : rec.delete(:type)
29
+ dnparts[:date] ? rec[:date] = dnparts[:date] : rec.delete(:date)
30
+ dnparts[:suff] ? rec[:suff] = dnparts[:suff] : rec.delete(:suff)
31
+ else
32
+ dnparts[:file] = file
33
+ @index << dnparts
34
+ end
26
35
  end
27
36
 
28
37
  #
@@ -111,18 +120,27 @@ module RelatonW3c
111
120
  #
112
121
  # @return [RelatonW3c::DataIndex] data index
113
122
  #
114
- def create_from_repo # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
115
- resp = Zip::InputStream.new URI("#{W3cBibliography::SOURCE}index-w3c.zip").open
123
+ def create_from_repo
124
+ uri = URI("#{W3cBibliography::SOURCE}index-w3c.zip").open
125
+ resp = Zip::InputStream.new uri
116
126
  zip = resp.get_next_entry
127
+ index = RelatonBib.parse_yaml(zip.get_input_stream.read, [Symbol])
128
+ new index: index
129
+ end
117
130
 
118
- # Newer versions of Psych uses the `permitted_classes:` parameter
119
- index = if YAML.method(:safe_load).parameters.collect(&:last).index(:permitted_classes)
120
- YAML.safe_load(zip.get_input_stream.read, permitted_classes: [Symbol])
121
- else
122
- YAML.safe_load(zip.get_input_stream.read, [Symbol])
131
+ #
132
+ # Create index from a file
133
+ #
134
+ # @param [String] index_file path to index file
135
+ #
136
+ # @return [RelatonW3c::DataIndex] data index
137
+ #
138
+ def create_from_file(index_file = "index-w3c.yaml")
139
+ index = if File.exist?(index_file)
140
+ RelatonBib.parse_yaml(File.read(index_file), [Symbol])
141
+ else []
123
142
  end
124
-
125
- DataIndex.new index: index
143
+ new index_file: index_file, index: index
126
144
  end
127
145
 
128
146
  #
@@ -25,7 +25,8 @@ module RelatonW3c
25
25
  # @param [RDF::Query::Solution] sol entry from the SPARQL query
26
26
  # @param [RelatonW3c::DataFetcher] fetcher data fetcher
27
27
  #
28
- def initialize(sol, fetcher)
28
+ def initialize(rdf, sol, fetcher)
29
+ @rdf = rdf
29
30
  @sol = sol
30
31
  @fetcher = fetcher
31
32
  end
@@ -38,8 +39,8 @@ module RelatonW3c
38
39
  #
39
40
  # @return [RelatonW3c:W3cBibliographicItem, nil] bibliographic item
40
41
  #
41
- def self.parse(sol, fetcher)
42
- new(sol, fetcher).parse
42
+ def self.parse(rdf, sol, fetcher)
43
+ new(rdf, sol, fetcher).parse
43
44
  end
44
45
 
45
46
  #
@@ -100,7 +101,7 @@ module RelatonW3c
100
101
  #
101
102
  def parse_link
102
103
  link = @sol.respond_to?(:link) ? @sol.link : @sol.version_of
103
- [RelatonBib::TypedUri.new(type: "src", content: link.to_s)]
104
+ [RelatonBib::TypedUri.new(type: "src", content: link.to_s.strip)]
104
105
  end
105
106
 
106
107
  #
@@ -131,7 +132,7 @@ module RelatonW3c
131
132
  #
132
133
  def identifier(link = nil)
133
134
  url = link || (@sol.respond_to?(:link) ? @sol.link : @sol.version_of)
134
- self.class.parse_identifier(url.to_s)
135
+ self.class.parse_identifier(url.to_s.strip)
135
136
  end
136
137
 
137
138
  #
@@ -142,7 +143,7 @@ module RelatonW3c
142
143
  # @return [String] identifier
143
144
  #
144
145
  def self.parse_identifier(url)
145
- if /.+\/(\w+(?:-[\w.]+)+(?:\/\w+)?)/ =~ url.to_s
146
+ if /.+\/(\w+(?:[-+][\w.]+)+(?:\/\w+)?)/ =~ url.to_s
146
147
  $1.to_s
147
148
  else url.to_s.split("/").last
148
149
  end
@@ -184,10 +185,10 @@ module RelatonW3c
184
185
  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
185
186
  SELECT ?type
186
187
  WHERE {
187
- { <#{@sol.link}> rdf:type ?type }
188
+ { <#{@sol.link.to_s.strip}> rdf:type ?type }
188
189
  }
189
190
  ))
190
- @fetcher.data.query(sse).map { |s| s.type.to_s.split("#").last }
191
+ @rdf.query(sse).map { |s| s.type.to_s.split("#").last }
191
192
  end
192
193
  end
193
194
 
@@ -220,7 +221,7 @@ module RelatonW3c
220
221
  if @sol.respond_to?(:link)
221
222
  relations + editor_drafts
222
223
  else
223
- document_versions.map { |r| create_relation(r.link.to_s, "hasEdition") }
224
+ document_versions.map { |r| create_relation(r.link.to_s.strip, "hasEdition") }
224
225
  end
225
226
  end
226
227
 
@@ -253,9 +254,9 @@ module RelatonW3c
253
254
  PREFIX : <http://www.w3.org/2001/02pd/rec54#>
254
255
  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
255
256
  SELECT ?rel
256
- WHERE { <#{@sol.link}> :ED ?rel . }
257
+ WHERE { <#{@sol.link.to_s.strip}> :ED ?rel . }
257
258
  ))
258
- @fetcher.data.query(sse).map do |s|
259
+ @rdf.query(sse).map do |s|
259
260
  create_relation(s.rel.to_s, "hasDraft", "Editor's draft")
260
261
  end
261
262
  end
@@ -273,30 +274,53 @@ module RelatonW3c
273
274
  PREFIX doc: <http://www.w3.org/2000/10/swap/pim/doc#>
274
275
  PREFIX mat: <http://www.w3.org/2002/05/matrix/vocab#>
275
276
  SELECT ?rel
276
- WHERE { <#{@sol.link}> #{predicate} ?rel . }
277
+ WHERE { <#{@sol.link.to_s.strip}> #{predicate} ?rel . }
277
278
  ))
278
- @fetcher.data.query(sse).order_by(:rel)
279
+ @rdf.query(sse).order_by(:rel)
279
280
  end
280
281
 
281
282
  #
282
283
  # Query document versions relations
283
284
  #
284
- # @return [RDF::Query::Solutions] query results
285
+ # @return [Array<RDF::Query::Solution>] query results
285
286
  #
286
287
  def document_versions # rubocop:disable Metrics/MethodLength
287
- @document_versions ||= begin
288
+ @document_versions ||= version_of.each_with_object([]) do |s, acc|
288
289
  sse = SPARQL.parse(%(
289
290
  PREFIX : <http://www.w3.org/2001/02pd/rec54#>
290
291
  PREFIX dc: <http://purl.org/dc/elements/1.1/>
291
292
  PREFIX doc: <http://www.w3.org/2000/10/swap/pim/doc#>
292
293
  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
293
294
  SELECT ?link ?title ?date
294
- WHERE { ?link doc:versionOf <#{@sol.version_of}> ; dc:title ?title ; dc:date ?date }
295
+ WHERE {
296
+ ?link doc:versionOf <#{s.version_of}> ;
297
+ dc:title ?title ;
298
+ dc:date ?date .
299
+ }
295
300
  ))
296
- @fetcher.data.query(sse)
301
+ @rdf.query(sse).each { |r| acc << r }
297
302
  end
298
303
  end
299
304
 
305
+ #
306
+ # Query for document versions
307
+ #
308
+ # @return [RDF::Query::Solutions] query results
309
+ #
310
+ def version_of
311
+ return [@sol] unless @sol.respond_to?(:link)
312
+
313
+ sse = SPARQL.parse(%(
314
+ PREFIX doc: <http://www.w3.org/2000/10/swap/pim/doc#>
315
+ SELECT ?version_of
316
+ WHERE {
317
+ <#{@sol.link.to_s.strip}> doc:versionOf ?version_of .
318
+ FILTER ( isURI(?version_of) && <#{@sol.link.to_s.strip}> != str(?version_of) )
319
+ }
320
+ ))
321
+ @rdf.query(sse)
322
+ end
323
+
300
324
  #
301
325
  # Create relation
302
326
  #
@@ -339,10 +363,10 @@ module RelatonW3c
339
363
  PREFIX contact: <http://www.w3.org/2000/10/swap/pim/contact#>
340
364
  SELECT ?full_name
341
365
  WHERE {
342
- <#{@sol.link}> :editor/contact:fullName ?full_name
366
+ <#{@sol.link.to_s.strip}> :editor/contact:fullName ?full_name
343
367
  }
344
368
  ))
345
- @fetcher.data.query(sse).order_by(:full_name).map do |ed|
369
+ @rdf.query(sse).order_by(:full_name).map do |ed|
346
370
  cn = RelatonBib::LocalizedString.new(ed.full_name.to_s, "en", "Latn")
347
371
  n = RelatonBib::FullName.new completename: cn
348
372
  p = RelatonBib::Person.new name: n
@@ -363,12 +387,13 @@ module RelatonW3c
363
387
  PREFIX contact: <http://www.w3.org/2000/10/swap/pim/contact#>
364
388
  SELECT ?home_page
365
389
  WHERE {
366
- <#{@sol.link}> org:deliveredBy/contact:homePage ?home_page
390
+ <#{@sol.link.to_s.strip}> org:deliveredBy/contact:homePage ?home_page
367
391
  }
368
392
  ))
369
- res = @fetcher.data.query(sse).order_by(:home_page)
393
+ res = @rdf.query(sse).order_by(:home_page)
370
394
  tc = res.each_with_object([]) do |edg, obj|
371
- wg = @fetcher.group_names[edg.home_page.to_s.sub(/\/$/, "")]
395
+ group_path = edg.home_page.to_s.sub(/^https?:\/\//, "").sub(/\/$/, "")
396
+ wg = @fetcher.group_names[group_path]
372
397
  if wg
373
398
  rwg = RelatonBib::WorkGroup.new name: wg["name"]
374
399
  obj << RelatonBib::TechnicalCommittee.new(rwg)
@@ -9,7 +9,7 @@ module RelatonW3c
9
9
  @prefix = "W3C"
10
10
  @defaultprefix = %r{^W3C\s}
11
11
  @idtype = "W3C"
12
- @datasets = %w[w3c-rdf]
12
+ @datasets = %w[w3c-rdf w3c-tr-archive]
13
13
  end
14
14
 
15
15
  # @param code [String]
@@ -28,8 +28,8 @@ module RelatonW3c
28
28
  # @option opts [String] :output directory to output documents
29
29
  # @option opts [String] :format
30
30
  #
31
- def fetch_data(_source, opts)
32
- DataFetcher.fetch(**opts)
31
+ def fetch_data(source, opts)
32
+ DataFetcher.fetch(source, **opts)
33
33
  end
34
34
 
35
35
  # @param xml [String]
@@ -1,3 +1,3 @@
1
1
  module RelatonW3c
2
- VERSION = "1.12.0".freeze
2
+ VERSION = "1.12.3".freeze
3
3
  end