relaton-w3c 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.adoc +29 -0
- data/lib/relaton_w3c/data_fethcer.rb +106 -0
- data/lib/relaton_w3c/data_parser.rb +205 -0
- data/lib/relaton_w3c/processor.rb +14 -1
- data/lib/relaton_w3c/scrapper.rb +10 -10
- data/lib/relaton_w3c/version.rb +1 -1
- data/lib/relaton_w3c/workgroups.yaml +339 -0
- data/lib/relaton_w3c.rb +1 -0
- data/relaton_w3c.gemspec +4 -0
- metadata +61 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea91306625ad2f0f53980c20651589cd04de493874cbc209a91bafaec46fa9a2
|
4
|
+
data.tar.gz: '04608d998f36b0fc01cfd2a284e422bdc24120e91ea2d8f2e1e4a3dea44189dc'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03ce95e1ed894df67208a6be15d61f36a8ba186553bf99f458244b07ba68eebe7c4d5a9ed7ff0d4739f05452f8a6ccd541c0462a760cd99bf9ce53bb61360220
|
7
|
+
data.tar.gz: edb1f2b02e369e0056291e7c55a2d0115cd2f09e8ad1896e027a4fbe9928494b304099bb0cd9ae4dd9a71a11395b0b98d6f1235e2346ba86a06f59d5aa0b50ec
|
data/Gemfile
CHANGED
data/README.adoc
CHANGED
@@ -115,6 +115,16 @@ RelatonW3c::W3cBibliography.get "W3C WD JSON-LD 1.1 2019-10-18"
|
|
115
115
|
...
|
116
116
|
----
|
117
117
|
|
118
|
+
=== Typed links
|
119
|
+
|
120
|
+
Each W3C document has `src` type link.
|
121
|
+
|
122
|
+
[source,ruby]
|
123
|
+
----
|
124
|
+
item.link
|
125
|
+
=> [#<RelatonBib::TypedUri:0x00007fc533ed4040 @content=#<Addressable::URI:0xcc22c URI:https://www.w3.org/TR/2020/REC-json-ld11-20200716/>, @type="src">]
|
126
|
+
----
|
127
|
+
|
118
128
|
=== Create bibliographic item from XML
|
119
129
|
[source,ruby]
|
120
130
|
----
|
@@ -141,6 +151,25 @@ RelatonW3c::W3cBibliographicItem.new bib_hash
|
|
141
151
|
...
|
142
152
|
----
|
143
153
|
|
154
|
+
=== Fetch data
|
155
|
+
|
156
|
+
There is a W3C dataset http://www.w3.org/2002/01/tr-automation/tr.rdf which can be converted into RelatonXML/BibXML/BibYAML formats.
|
157
|
+
|
158
|
+
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.
|
159
|
+
Arguments:
|
160
|
+
|
161
|
+
- `output` - folder to save documents (default './data').
|
162
|
+
- `format` - format in which the documents are saved. Possimle formats are: `yaml`, `xml`, `bibxml` (default `yaml`).
|
163
|
+
|
164
|
+
[source,ruby]
|
165
|
+
----
|
166
|
+
RelatonW3c::DataFetcher.fetch
|
167
|
+
Started at: 2021-11-19 13:32:05 +0100
|
168
|
+
Stopped at: 2021-11-19 13:34:40 +0100
|
169
|
+
Done in: 155 sec.
|
170
|
+
=> nil
|
171
|
+
----
|
172
|
+
|
144
173
|
== Development
|
145
174
|
|
146
175
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -0,0 +1,106 @@
|
|
1
|
+
require "rdf"
|
2
|
+
require "linkeddata"
|
3
|
+
require "sparql"
|
4
|
+
require "mechanize"
|
5
|
+
require "relaton_w3c/data_parser"
|
6
|
+
|
7
|
+
module RelatonW3c
|
8
|
+
class DataFetcher
|
9
|
+
USED_TYPES = %w[WD NOTE PER PR REC CR].freeze
|
10
|
+
|
11
|
+
attr_reader :data, :group_names
|
12
|
+
|
13
|
+
#
|
14
|
+
# Data fetcher initializer
|
15
|
+
#
|
16
|
+
# @param [String] output directory to save files
|
17
|
+
# @param [String] format format of output files (xml, yaml, bibxml)
|
18
|
+
#
|
19
|
+
def initialize(output, format)
|
20
|
+
@output = output
|
21
|
+
@format = format
|
22
|
+
@ext = format.sub(/^bib/, "")
|
23
|
+
dir = File.dirname(File.expand_path(__FILE__))
|
24
|
+
@group_names = YAML.load_file(File.join(dir , "workgroups.yaml"))
|
25
|
+
@data = RDF::Repository.load("http://www.w3.org/2002/01/tr-automation/tr.rdf")
|
26
|
+
@files = []
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# Initialize fetcher and run fetch
|
31
|
+
#
|
32
|
+
# @param [Strin] output directory to save files, default: "data"
|
33
|
+
# @param [Strin] format format of output files (xml, yaml, bibxml), default: yaml
|
34
|
+
#
|
35
|
+
def self.fetch(output: "data", format: "yaml")
|
36
|
+
t1 = Time.now
|
37
|
+
puts "Started at: #{t1}"
|
38
|
+
FileUtils.mkdir_p output unless Dir.exist? output
|
39
|
+
new(output, format).fetch
|
40
|
+
t2 = Time.now
|
41
|
+
puts "Stopped at: #{t2}"
|
42
|
+
puts "Done in: #{(t2 - t1).round} sec."
|
43
|
+
end
|
44
|
+
|
45
|
+
#
|
46
|
+
# Parse documents
|
47
|
+
#
|
48
|
+
def fetch
|
49
|
+
query.each { |sl| save_doc DataParser.parse(sl, self) }
|
50
|
+
end
|
51
|
+
|
52
|
+
#
|
53
|
+
# Query RDF source for documents
|
54
|
+
#
|
55
|
+
# @return [RDF::Query::Solutions] query results
|
56
|
+
#
|
57
|
+
def query # rubocop:disable Metrics/MethodLength
|
58
|
+
sse = SPARQL.parse(%(
|
59
|
+
PREFIX : <http://www.w3.org/2001/02pd/rec54#>
|
60
|
+
PREFIX dc: <http://purl.org/dc/elements/1.1/>
|
61
|
+
PREFIX doc: <http://www.w3.org/2000/10/swap/pim/doc#>
|
62
|
+
# PREFIX mat: <http://www.w3.org/2002/05/matrix/vocab#>
|
63
|
+
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
64
|
+
SELECT ?link ?title ?date
|
65
|
+
WHERE {
|
66
|
+
?link dc:title ?title ; dc:date ?date . # ; doc:versionOf ?version_of .
|
67
|
+
}
|
68
|
+
))
|
69
|
+
data.query sse
|
70
|
+
end
|
71
|
+
|
72
|
+
#
|
73
|
+
# Save document to file
|
74
|
+
#
|
75
|
+
# @param [RelatonW3c::W3cBibliographicItem, nil] bib bibliographic item
|
76
|
+
#
|
77
|
+
def save_doc(bib) # rubocop:disable Metrics/MethodLength
|
78
|
+
return unless bib
|
79
|
+
|
80
|
+
c = case @format
|
81
|
+
when "xml" then bib.to_xml(bibdata: true)
|
82
|
+
when "yaml" then bib.to_hash.to_yaml
|
83
|
+
else bib.send("to_#{@format}")
|
84
|
+
end
|
85
|
+
file = file_name(bib)
|
86
|
+
if @files.include? file
|
87
|
+
warn "File #{file} already exists. Document: #{bib.docnumber}"
|
88
|
+
else
|
89
|
+
@files << file
|
90
|
+
end
|
91
|
+
File.write file, c, encoding: "UTF-8"
|
92
|
+
end
|
93
|
+
|
94
|
+
#
|
95
|
+
# Generate file name
|
96
|
+
#
|
97
|
+
# @param [RelatonW3c::W3cBibliographicItem] bib bibliographic item
|
98
|
+
#
|
99
|
+
# @return [String] file name
|
100
|
+
#
|
101
|
+
def file_name(bib)
|
102
|
+
name = bib.docnumber.gsub(/[\s,:\/]/, "_").squeeze("_").upcase
|
103
|
+
File.join @output, "#{name}.#{@ext}"
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,205 @@
|
|
1
|
+
module RelatonW3c
|
2
|
+
class DataParser
|
3
|
+
#
|
4
|
+
# Document parser initalization
|
5
|
+
#
|
6
|
+
# @param [RDF::Query::Solution] sol entry from the SPARQL query
|
7
|
+
# @param [RelatonW3c::DataFetcher] fetcher data fetcher
|
8
|
+
#
|
9
|
+
def initialize(sol, fetcher)
|
10
|
+
@sol = sol
|
11
|
+
@fetcher = fetcher
|
12
|
+
end
|
13
|
+
|
14
|
+
#
|
15
|
+
# Initialize document parser and run it
|
16
|
+
#
|
17
|
+
# @param [RDF::Query::Solution] sol entry from the SPARQL query
|
18
|
+
# @param [RelatonW3c::DataFetcher] fetcher data fetcher
|
19
|
+
#
|
20
|
+
# @return [RelatonW3c:W3cBibliographicItem, nil] bibliographic item
|
21
|
+
#
|
22
|
+
def self.parse(sol, fetcher)
|
23
|
+
new(sol, fetcher).parse
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# Parse document
|
28
|
+
#
|
29
|
+
# @return [RelatonW3c:W3cBibliographicItem, nil] bibliographic item
|
30
|
+
#
|
31
|
+
def parse # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
32
|
+
return unless @fetcher.class::USED_TYPES.include? type
|
33
|
+
|
34
|
+
RelatonW3c::W3cBibliographicItem.new(
|
35
|
+
type: "standard",
|
36
|
+
doctype: parse_doctype,
|
37
|
+
fetched: Date.today.to_s,
|
38
|
+
language: ["en"],
|
39
|
+
script: ["Latn"],
|
40
|
+
title: parse_title,
|
41
|
+
link: parse_link,
|
42
|
+
docid: parse_docid,
|
43
|
+
docnumber: identifier(@sol.link.to_s),
|
44
|
+
series: parse_series,
|
45
|
+
date: parse_date,
|
46
|
+
relation: parse_relation,
|
47
|
+
contributor: parse_contrib,
|
48
|
+
editorialgroup: parse_editorialgroup,
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
#
|
53
|
+
# Parse title
|
54
|
+
#
|
55
|
+
# @return [RelatonBib::TypedTitleStringCollection] title
|
56
|
+
#
|
57
|
+
def parse_title
|
58
|
+
t = RelatonBib::TypedTitleString.new title: @sol.title.to_s
|
59
|
+
RelatonBib::TypedTitleStringCollection.new [t]
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# Parse link
|
64
|
+
#
|
65
|
+
# @return [Array<RelatonBib::TypedUri>] link
|
66
|
+
#
|
67
|
+
def parse_link
|
68
|
+
[RelatonBib::TypedUri.new(type: "src", content: @sol.link.to_s)]
|
69
|
+
end
|
70
|
+
|
71
|
+
#
|
72
|
+
# Parse docidentifier
|
73
|
+
#
|
74
|
+
# @return [Arra<RelatonBib::DocumentIdentifier>] docidentifier
|
75
|
+
#
|
76
|
+
def parse_docid
|
77
|
+
id = pub_id(@sol.link.to_s)
|
78
|
+
[RelatonBib::DocumentIdentifier.new(type: "W3C", id: id)]
|
79
|
+
end
|
80
|
+
|
81
|
+
#
|
82
|
+
# Generate PubID
|
83
|
+
#
|
84
|
+
# @param [String] url url
|
85
|
+
#
|
86
|
+
# @return [String] PubID
|
87
|
+
#
|
88
|
+
def pub_id(url)
|
89
|
+
"W3C #{identifier(url)}"
|
90
|
+
end
|
91
|
+
|
92
|
+
def identifier(url)
|
93
|
+
/.+\/(\w+(?:-[\w.]+)+(?:\/\w+)?)/.match(url)[1].to_s
|
94
|
+
end
|
95
|
+
|
96
|
+
#
|
97
|
+
# Parse series
|
98
|
+
#
|
99
|
+
# @return [Array<RelatonBib::Series>] series
|
100
|
+
#
|
101
|
+
def parse_series
|
102
|
+
title = RelatonBib::TypedTitleString.new content: "W3C #{type}"
|
103
|
+
[RelatonBib::Series.new(title: title, number: identifier(@sol.link.to_s))]
|
104
|
+
end
|
105
|
+
|
106
|
+
def type # rubocop:disable Metrics/MethodLength
|
107
|
+
@type ||= begin
|
108
|
+
sse = SPARQL.parse(%(
|
109
|
+
PREFIX : <http://www.w3.org/2001/02pd/rec54#>
|
110
|
+
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
111
|
+
SELECT ?type
|
112
|
+
WHERE {
|
113
|
+
{ <#{@sol.link}> rdf:type ?type }
|
114
|
+
}
|
115
|
+
))
|
116
|
+
tps = @fetcher.data.query(sse).map { |s| s.type.to_s.split("#").last }
|
117
|
+
tps.detect { |t| Scrapper::DOCTYPES.key?(t) }
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
#
|
122
|
+
# Parse doctype
|
123
|
+
#
|
124
|
+
# @return [Strinf] doctype
|
125
|
+
#
|
126
|
+
def parse_doctype
|
127
|
+
Scrapper::DOCTYPES[type]
|
128
|
+
end
|
129
|
+
|
130
|
+
def parse_date
|
131
|
+
[RelatonBib::BibliographicDate.new(type: "published", on: @sol.date.to_s)]
|
132
|
+
end
|
133
|
+
|
134
|
+
#
|
135
|
+
# Parse relation
|
136
|
+
#
|
137
|
+
# @return [Array<RelatonBib::DocumentRelation>] relation
|
138
|
+
#
|
139
|
+
def parse_relation # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
140
|
+
sse = SPARQL.parse(%(
|
141
|
+
PREFIX doc: <http://www.w3.org/2000/10/swap/pim/doc#>
|
142
|
+
SELECT ?obsoletes
|
143
|
+
WHERE {
|
144
|
+
VALUES ?p { doc:obsoletes }
|
145
|
+
{ <#{@sol.link}> ?p ?obsoletes }
|
146
|
+
}
|
147
|
+
))
|
148
|
+
@fetcher.data.query(sse).order_by(:obsoletes).map do |r|
|
149
|
+
tp, url = r.to_h.first
|
150
|
+
fr = RelatonBib::LocalizedString.new pub_id(url.to_s)
|
151
|
+
bib = W3cBibliographicItem.new formattedref: fr
|
152
|
+
RelatonBib::DocumentRelation.new(type: tp.to_s, bibitem: bib)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
#
|
157
|
+
# Parse contributor
|
158
|
+
#
|
159
|
+
# @return [Array<RelatonBib::ContributionInfo>] contributor
|
160
|
+
#
|
161
|
+
def parse_contrib # rubocop:disable Metrics/MethodLength
|
162
|
+
sse = SPARQL.parse(%(
|
163
|
+
PREFIX : <http://www.w3.org/2001/02pd/rec54#>
|
164
|
+
PREFIX contact: <http://www.w3.org/2000/10/swap/pim/contact#>
|
165
|
+
SELECT ?full_name
|
166
|
+
WHERE {
|
167
|
+
<#{@sol.link}> :editor/contact:fullName ?full_name
|
168
|
+
}
|
169
|
+
))
|
170
|
+
@fetcher.data.query(sse).order_by(:full_name).map do |ed|
|
171
|
+
cn = RelatonBib::LocalizedString.new(ed.full_name.to_s, "en", "Latn")
|
172
|
+
n = RelatonBib::FullName.new completename: cn
|
173
|
+
p = RelatonBib::Person.new name: n
|
174
|
+
RelatonBib::ContributionInfo.new entity: p, role: [type: "editor"]
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
#
|
179
|
+
# Parse editorialgroup
|
180
|
+
#
|
181
|
+
# @return [RelatonBib::EditorialGroup] editorialgroup
|
182
|
+
#
|
183
|
+
def parse_editorialgroup # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
184
|
+
sse = SPARQL.parse(%(
|
185
|
+
PREFIX org: <http://www.w3.org/2001/04/roadmap/org#>
|
186
|
+
PREFIX contact: <http://www.w3.org/2000/10/swap/pim/contact#>
|
187
|
+
SELECT ?home_page
|
188
|
+
WHERE {
|
189
|
+
<#{@sol.link}> org:deliveredBy/contact:homePage ?home_page
|
190
|
+
}
|
191
|
+
))
|
192
|
+
res = @fetcher.data.query(sse).order_by(:home_page)
|
193
|
+
tc = res.each_with_object([]) do |edg, obj|
|
194
|
+
wg = @fetcher.group_names[edg.home_page.to_s.sub(/\/$/, "")]
|
195
|
+
if wg
|
196
|
+
rwg = RelatonBib::WorkGroup.new name: wg["name"]
|
197
|
+
obj << RelatonBib::TechnicalCommittee.new(rwg)
|
198
|
+
else
|
199
|
+
warn "Working group name not found for #{edg.home_page}"
|
200
|
+
end
|
201
|
+
end
|
202
|
+
RelatonBib::EditorialGroup.new tc
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
@@ -4,11 +4,12 @@ module RelatonW3c
|
|
4
4
|
class Processor < Relaton::Processor
|
5
5
|
attr_reader :idtype
|
6
6
|
|
7
|
-
def initialize
|
7
|
+
def initialize # rubocop:disable Lint/MissingSuper
|
8
8
|
@short = :relaton_w3c
|
9
9
|
@prefix = "W3C"
|
10
10
|
@defaultprefix = %r{^W3C\s}
|
11
11
|
@idtype = "W3C"
|
12
|
+
@datasets = %w[w3c-rdf]
|
12
13
|
end
|
13
14
|
|
14
15
|
# @param code [String]
|
@@ -19,6 +20,18 @@ module RelatonW3c
|
|
19
20
|
::RelatonW3c::W3cBibliography.get(code, date, opts)
|
20
21
|
end
|
21
22
|
|
23
|
+
#
|
24
|
+
# Fetch all the documents from http://www.w3.org/2002/01/tr-automation/tr.rdf
|
25
|
+
#
|
26
|
+
# @param [String] _source source name
|
27
|
+
# @param [Hash] opts
|
28
|
+
# @option opts [String] :output directory to output documents
|
29
|
+
# @option opts [String] :format
|
30
|
+
#
|
31
|
+
def fetch_data(_source, opts)
|
32
|
+
DataFetcher.fetch(**opts)
|
33
|
+
end
|
34
|
+
|
22
35
|
# @param xml [String]
|
23
36
|
# @return [RelatonCalconnect::CcBibliographicItem]
|
24
37
|
def from_xml(xml)
|
data/lib/relaton_w3c/scrapper.rb
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
module RelatonW3c
|
2
2
|
class Scrapper
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
}.freeze
|
3
|
+
DOCTYPES = {
|
4
|
+
"CR" => "candidateRecommendation",
|
5
|
+
"NOTE" => "groupNote",
|
6
|
+
"PER" => "proposedEditedRecommendation",
|
7
|
+
"PR" => "proposedRecommendation",
|
8
|
+
"REC" => "recommendation",
|
9
|
+
"RET" => "retired",
|
10
|
+
"WD" => "workingDraft",
|
11
|
+
}.freeze
|
13
12
|
|
13
|
+
class << self
|
14
14
|
# @param hit [Hash]
|
15
15
|
# @return [RelatonW3c::W3cBibliographicItem]
|
16
16
|
def parse_page(hit) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
data/lib/relaton_w3c/version.rb
CHANGED
@@ -0,0 +1,339 @@
|
|
1
|
+
'https://www.w3.org/DOM/Group':
|
2
|
+
name: Web Hypertext Application Technology Working Group
|
3
|
+
abbrev: WHATWG
|
4
|
+
'https://www.w3.org/2002/mmi':
|
5
|
+
name: Multimodal Interaction Working Group
|
6
|
+
'https://www.w3.org/Math':
|
7
|
+
name: Math Working Group
|
8
|
+
'https://www.w3.org/html/wg':
|
9
|
+
name: HTML Working Group
|
10
|
+
abbrev: HTMLWG
|
11
|
+
'https://www.w3.org/groups/wg/htmlwg':
|
12
|
+
name: HTML Working Group
|
13
|
+
abbrev: HTMLWG
|
14
|
+
'https://www.w3.org/XML/EXI':
|
15
|
+
name: Efficient Extensible Interchange Working Group
|
16
|
+
abbrev: EXIWG
|
17
|
+
'https://www.w3.org/2007/OWL':
|
18
|
+
name: OWL Working Group
|
19
|
+
abbrev: OWLWG
|
20
|
+
'https://www.w3.org/2001/sw/BestPractices':
|
21
|
+
name: Semantic Web Best Practices and Deployment Working Group
|
22
|
+
abbrev: SWBPD
|
23
|
+
'https://www.w3.org/2000/xp/Group':
|
24
|
+
name: XML Protocol Working Group
|
25
|
+
'https://www.w3.org/2011/audio':
|
26
|
+
name: Audio Working Group
|
27
|
+
'https://www.w3.org/2001/12/URI':
|
28
|
+
name: URI Interest Group
|
29
|
+
'https://www.w3.org/2005/MWI/BPWG':
|
30
|
+
name: Mobile Web Best Practices Working Group
|
31
|
+
abbrev: BPWG
|
32
|
+
'https://www.w3.org/WAI/EO':
|
33
|
+
name: Education and Outreach Working Group
|
34
|
+
abbrev: EOWG
|
35
|
+
'https://www.w3.org/2001/sw/WebOnt':
|
36
|
+
name: Web-Ontology Working Group
|
37
|
+
'http://www.w3.org/MarkUp/Forms':
|
38
|
+
name: Forms Working Group
|
39
|
+
'https://www.w3.org/Style/CSS':
|
40
|
+
name: Cascading Style Sheets Working Group
|
41
|
+
abbrev: CSSWG
|
42
|
+
'https://www.w3.org/2001/tag':
|
43
|
+
name: Technical Architecture Group
|
44
|
+
abbrev: TAG
|
45
|
+
'https://www.w3.org/2002/ws/policy':
|
46
|
+
name: Web Services Policy Working Group
|
47
|
+
'https://www.w3.org/2008/xmlsec':
|
48
|
+
name: XML Security Working Group
|
49
|
+
'https://www.w3.org/2011/prov':
|
50
|
+
name: Provenance Working Group
|
51
|
+
'https://www.w3.org/2019/webapps':
|
52
|
+
name: Web Applications Working Group
|
53
|
+
'https://www.w3.org/WebPlatform/WG':
|
54
|
+
name: Web Applications Working Group
|
55
|
+
'https://www.w3.org/2008/webapps':
|
56
|
+
name: Web Applications Working Group
|
57
|
+
'https://www.w3.org/das':
|
58
|
+
name: Devices and Sensors Working Group
|
59
|
+
abbrev: DAS WG
|
60
|
+
'https://www.w3.org/2007/uwa':
|
61
|
+
name: Ubiquitous Web Applications Working Group
|
62
|
+
abbrev: UWA
|
63
|
+
'https://www.w3.org/Style/XSL':
|
64
|
+
name: Extensible Stylesheet Language Family
|
65
|
+
'https://www.w3.org/XML/Query':
|
66
|
+
name: XML Query Working Group
|
67
|
+
'https://www.w3.org/immersive-web':
|
68
|
+
name: Immersive Web Working Group
|
69
|
+
'https://www.w3.org/2002/ws/addr':
|
70
|
+
name: Web Services Addressing Working Group
|
71
|
+
'https://www.w3.org/WAI/GL':
|
72
|
+
name: Accessibility Guidelines Working Group
|
73
|
+
abbrev: AG WG
|
74
|
+
'https://www.w3.org/WAI/APA':
|
75
|
+
name: Accessible Platform Architectures
|
76
|
+
abbrev: APA WG
|
77
|
+
'https://www.w3.org/2011/rdf-wg':
|
78
|
+
name: RDF Working Group
|
79
|
+
'https://www.w3.org/Voice':
|
80
|
+
name: Voice Browser Working Group
|
81
|
+
'https://www.w3.org/webperf':
|
82
|
+
name: Web Performance Working Group
|
83
|
+
'https://www.w3.org/Graphics/SVG/WG':
|
84
|
+
name: SVG Working Group
|
85
|
+
'https://www.w3.org/International/core':
|
86
|
+
name: Internationalization Working Group
|
87
|
+
'https://www.w3.org/WebCommerce/IG':
|
88
|
+
name: Web Commerce Interest Group
|
89
|
+
abbrev: WCIG
|
90
|
+
'https://www.w3.org/AudioVideo/TT':
|
91
|
+
name: Timed Text Working Group
|
92
|
+
abbrev: TTWG
|
93
|
+
'https://www.w3.org/2002/ws/desc':
|
94
|
+
name: Web Services Description Working Group
|
95
|
+
'https://www.w3.org/2001/sw/RDFCore':
|
96
|
+
name: RDFCore Working Group
|
97
|
+
'https://www.w3.org/2002/ws/arch':
|
98
|
+
name: Web Services Architecture Working Group
|
99
|
+
'https://www.w3.org/2011/webappsec':
|
100
|
+
name: Web Application Security Working Group
|
101
|
+
'https://www.w3.org/Social/WG':
|
102
|
+
name: Social Web Working Group
|
103
|
+
'https://www.w3.org/XML/Core':
|
104
|
+
name: XML Core Working Group
|
105
|
+
'https://www.w3.org/2006/07/SWD':
|
106
|
+
name: Semantic Web Deployment Working Group
|
107
|
+
abbrew: SWD
|
108
|
+
'https://www.w3.org/WAI/PF':
|
109
|
+
name: Protocols and Formats Working Group
|
110
|
+
abbrev: PFWG
|
111
|
+
'https://www.w3.org/XML/Group/Binary':
|
112
|
+
name: XML Binary Characterization Working Group
|
113
|
+
'https://www.w3.org/2012/sysapps':
|
114
|
+
name: System Applications Working Group
|
115
|
+
'https://www.w3.org/2017/vc':
|
116
|
+
name: Verifiable Credentials Working Group
|
117
|
+
abbrev: VCWG
|
118
|
+
'https://www.w3.org/sw':
|
119
|
+
name: Service Workers Working Group
|
120
|
+
'https://www.w3.org/XML/SML':
|
121
|
+
name: Service Modeling Language
|
122
|
+
abbrev: SML WG
|
123
|
+
'https://www.w3.org/WoT/WG':
|
124
|
+
name: Web of Things Working Group
|
125
|
+
abbrev: WoT WG
|
126
|
+
'https://www.w3.org/2017/dxwg':
|
127
|
+
name: Dataset Exchange Working Group
|
128
|
+
abbrev: DXWG
|
129
|
+
'https://www.w3.org/groups/wg/webmachinelearning':
|
130
|
+
name: Web Machine Learning Working Group
|
131
|
+
'https://www.w3.org/2008/WebVideo/Annotations':
|
132
|
+
name: Media Annotations Working Group
|
133
|
+
abbrev: MAWG
|
134
|
+
'https://www.w3.org/2001/sw/DataAccess':
|
135
|
+
name: SPARQL Working Group
|
136
|
+
'https://www.w3.org/publishing/groups/publ-wg':
|
137
|
+
name: Audiobooks Working Group
|
138
|
+
'https://www.w3.org/2013/csvw':
|
139
|
+
name: CSV on the Web Working Group
|
140
|
+
'https://www.w3.org/AudioVideo':
|
141
|
+
name: Synchronized Multimedia Working Group
|
142
|
+
abbrev: SYMM WG
|
143
|
+
'https://www.w3.org/2001/sw/grddl-wg':
|
144
|
+
name: GRDDL Working Group
|
145
|
+
'https://www.w3.org/XML/Schema':
|
146
|
+
name: XML Schema Working Group
|
147
|
+
'https://www.w3.org/2012/ldp':
|
148
|
+
name: Linked Data Platform Working Group
|
149
|
+
abbrev: LDP WG
|
150
|
+
'https://www.w3.org/2006/appformats':
|
151
|
+
name: Web Application Formats Working Group
|
152
|
+
abbrev: WAF WG
|
153
|
+
'https://www.w3.org/2007/powder':
|
154
|
+
name: Protocol for Web Description Resources Working Group
|
155
|
+
abbrev: POWDER WG
|
156
|
+
'https://www.w3.org/2010/02/rdfa':
|
157
|
+
name: RDFa Working Group
|
158
|
+
'https://www.w3.org/2021/sdw':
|
159
|
+
name: Spatial Data on the Web Working Group
|
160
|
+
abbrev: SDW WG
|
161
|
+
'https://www.w3.org/groups/wg/webrtc':
|
162
|
+
name: Web Real-Time Communications Working Group
|
163
|
+
'https://www.w3.org/2001/di/Group':
|
164
|
+
name: Device Independence Working Group
|
165
|
+
abbrev: DIWG
|
166
|
+
'https://www.w3.org/2001/sw/interest':
|
167
|
+
name: Semantic Web Interest Group
|
168
|
+
abbrev: SWIG
|
169
|
+
'https://www.w3.org/2016/poe':
|
170
|
+
name: Permissions and Obligations Expression Working Group
|
171
|
+
abbrev: POE WG
|
172
|
+
'https://www.w3.org/WoT/IG':
|
173
|
+
name: WoT Interest Group
|
174
|
+
'https://www.w3.org/Payments/WG':
|
175
|
+
name: Web Payments Working Group
|
176
|
+
'https://www.w3.org/dpub/IG':
|
177
|
+
name: Digital Publishing Interest Group
|
178
|
+
'https://www.w3.org/2008/geolocation':
|
179
|
+
name: Geolocation Working Group
|
180
|
+
'https://www.w3.org/2005/MWI/DDWG':
|
181
|
+
name: Mobile Web Initiative Device Description Working Group
|
182
|
+
'https://www.w3.org/2005/rules/wg.html':
|
183
|
+
name: RIF Working Group
|
184
|
+
'https://www.w3.org/groups/wg/distributed-tracing':
|
185
|
+
name: Distributed Tracing Working Group
|
186
|
+
'https://www.w3.org/publishing/groups/epub-wg':
|
187
|
+
name: EPUB 3 Working Group
|
188
|
+
'https://www.w3.org/2010/POI':
|
189
|
+
name: Points of Interest Working Group
|
190
|
+
abbrev: POI WG
|
191
|
+
'https://www.w3.org/MarkUp':
|
192
|
+
name: XHTML2 Working Group
|
193
|
+
'https://www.w3.org/2011/gld':
|
194
|
+
name: Government Linked Data Working Group
|
195
|
+
abbrev: GLD WG
|
196
|
+
'https://www.w3.org/2014/secondscreen':
|
197
|
+
name: Second Screen Working Group
|
198
|
+
'https://www.w3.org/securepay':
|
199
|
+
name: Web Payment Security Interest Group
|
200
|
+
abbrev: WPSIG
|
201
|
+
'https://www.w3.org/2008/WebVideo/Fragments':
|
202
|
+
name: Media Fragments Working Group
|
203
|
+
'https://www.w3.org/2011/mbui':
|
204
|
+
name: Model-Based User Interfaces Working Group
|
205
|
+
abbrev: MBUI WG
|
206
|
+
'https://www.w3.org/International/its':
|
207
|
+
name: ITS Working Group
|
208
|
+
'https://www.w3.org/QA/WG':
|
209
|
+
name: Quality Assurance Working Group
|
210
|
+
abbrev: QAWG
|
211
|
+
'https://www.w3.org/P3P/Group/Specification':
|
212
|
+
name: P3P Specification Working Group
|
213
|
+
'https://www.w3.org/2011/webtv':
|
214
|
+
name: Media and Entertainment Interest Group
|
215
|
+
'https://www.w3.org/2001/sw/hcls':
|
216
|
+
name: Semantic Web Health Care and Life Sciences Interest Group
|
217
|
+
abbrev: HCLS IG
|
218
|
+
'https://www.w3.org/2002/ws/chor':
|
219
|
+
name: Web Services Choreography Working Group
|
220
|
+
'https://www.w3.org/2005/MWI/Tests':
|
221
|
+
name: Mobile Web Test Suites Working Group
|
222
|
+
'https://www.w3.org/XML/Group/Linking':
|
223
|
+
name: XML Linking Working Group
|
224
|
+
'https://www.w3.org/WAI/ARIA':
|
225
|
+
name: Accessible Rich Internet Applications Working Group
|
226
|
+
abbrev: ARIA WG
|
227
|
+
'https://www.w3.org/wasm':
|
228
|
+
name: WebAssembly Working Group
|
229
|
+
'https://www.w3.org/groups/wg/webediting':
|
230
|
+
name: Web Editing Working Group
|
231
|
+
'https://www.w3.org/2014/data-shapes':
|
232
|
+
name: RDF Data Shapes Working Group
|
233
|
+
'https://www.w3.org/Mobile/IG':
|
234
|
+
name: Web and Mobile Interest Group
|
235
|
+
'https://www.w3.org/2019/did-wg':
|
236
|
+
name: Decentralized Identifier Working Group
|
237
|
+
abbrev: DID WG
|
238
|
+
'https://www.w3.org/egov/IG':
|
239
|
+
name: eGovernment Interest Group
|
240
|
+
'https://www.w3.org/WAI/ER':
|
241
|
+
name: Evaluation and Repair Tools Working Group
|
242
|
+
abbrev: ERT WG
|
243
|
+
'https://www.w3.org/2002/ws/soapjms':
|
244
|
+
name: SOAP-JMS Binding Working Group
|
245
|
+
'https://www.w3.org/media-wg':
|
246
|
+
name: Media Working Group
|
247
|
+
'https://www.w3.org/2018/json-ld-wg':
|
248
|
+
name: JSON-LD Working Group
|
249
|
+
'https://www.w3.org/2020/gpu':
|
250
|
+
name: GPU for the Web Working Group
|
251
|
+
'https://www.w3.org/Fonts/WG':
|
252
|
+
name: Web Fonts Working Group
|
253
|
+
'https://www.w3.org/groups/wg/auto':
|
254
|
+
name: Automotive Working Group
|
255
|
+
'https://www.w3.org/2001/sw/rdb2rdf':
|
256
|
+
name: RDB2RDF Working Group
|
257
|
+
'https://www.w3.org/2006/WSC':
|
258
|
+
name: Web Security Context Working Group
|
259
|
+
'https://www.w3.org/Graphics/WebCGM/WG':
|
260
|
+
name: WebCGM Working Group
|
261
|
+
'https://www.w3.org/XML/Processing':
|
262
|
+
name: XML Processing Model Working Group
|
263
|
+
'https://www.w3.org/testing/browser':
|
264
|
+
name: Browser Testing and Tools Working Group
|
265
|
+
'https://www.w3.org/2004/CDF':
|
266
|
+
name: Compound Document Formats Working Group
|
267
|
+
abbrev: CDF WG
|
268
|
+
'https://www.w3.org/2012/webcrypto':
|
269
|
+
name: Web Cryptography Working Group
|
270
|
+
'https://www.w3.org/2002/ws/ra':
|
271
|
+
name: Web Services Resource Access Working Group
|
272
|
+
'https://www.w3.org/2010/webevents':
|
273
|
+
name: Web Events Working Group
|
274
|
+
'https://www.w3.org/WAI/UA':
|
275
|
+
name: User Agent Accessibility Guidelines Working Group
|
276
|
+
abbrev: UAWG
|
277
|
+
'https://www.w3.org/groups/wg/pointer-events':
|
278
|
+
name: Pointer Events Working Group
|
279
|
+
'https://www.w3.org/International/multilingualweb/lt':
|
280
|
+
name: MultilingualWeb-LT Working Group
|
281
|
+
'https://www.w3.org/2017/sdwig':
|
282
|
+
name: Spatial Data on the Web Interest Group
|
283
|
+
abbrev: SDWIG
|
284
|
+
'https://www.w3.org/Privacy':
|
285
|
+
name: Privacy Interest Group
|
286
|
+
abbrev: PING
|
287
|
+
'https://www.w3.org/Mobile/CCPP/Group':
|
288
|
+
name: Composite Capability/Preference Profiles Working Group
|
289
|
+
abbrev: CC/PP WG
|
290
|
+
'https://www.w3.org/2008/MW4D':
|
291
|
+
name: MW4D Interest Group
|
292
|
+
abbrev: MW4D IG
|
293
|
+
'https://www.w3.org/2011/tracking-protection':
|
294
|
+
name: Tracking Protection Working Group
|
295
|
+
'https://www.w3.org/annotation':
|
296
|
+
name: Annotation Working Group
|
297
|
+
'https://www.w3.org/WAI/AU':
|
298
|
+
name: Authoring Tool Accessibility Guidelines Working Group
|
299
|
+
abbrev: ATAG WG
|
300
|
+
'https://www.w3.org/MarkUp/CoordGroup':
|
301
|
+
name: Hypertext Coordination Group
|
302
|
+
abbrev: HCG
|
303
|
+
'https://www.w3.org/2021/miniapps':
|
304
|
+
name: MiniApps Working Group
|
305
|
+
'https://www.w3.org/webauthn':
|
306
|
+
name: Web Authentication Working Group
|
307
|
+
abbrev: WebAuthn WG
|
308
|
+
'https://www.w3.org/2002/ws/sawsdl':
|
309
|
+
name: Semantic Annotations for WSDL Working Group
|
310
|
+
abbrev: SAWSDL WG
|
311
|
+
'https://www.w3.org/2010/web-notifications':
|
312
|
+
name: Web Notification Working Group
|
313
|
+
'https://www.w3.org/2006/webapi':
|
314
|
+
name: Web API Working Group
|
315
|
+
'https://www.w3.org/webtransport':
|
316
|
+
name: WebTransport Working Group
|
317
|
+
'https://www.w3.org/WAI/RD':
|
318
|
+
name: Research and Development Working Group
|
319
|
+
abbrev: RDWG
|
320
|
+
'https://www.w3.org/XML/XPPL':
|
321
|
+
name: XML Print and Page Layout Working Group
|
322
|
+
abbrev: XPPL WG
|
323
|
+
'https://www.w3.org/2007/xmlsec':
|
324
|
+
name: XML Security Specifications Maintenance Working Group
|
325
|
+
'https://www.w3.org/2013/dwbp':
|
326
|
+
name: Data on the Web Best Practices Working Group
|
327
|
+
abbrev: DWBP WG
|
328
|
+
'https://www.w3.org/2012/nfc':
|
329
|
+
name: Near Field Communications Working Group
|
330
|
+
abbrev: NFC WG
|
331
|
+
'https://www.w3.org/2002/ws/databinding':
|
332
|
+
name: XML Schema Patterns for Databinding Working Group
|
333
|
+
'https://www.w3.org/2018/chinese-web-ig':
|
334
|
+
name: Chinese Web Interest Group
|
335
|
+
'https://www.w3.org/2016/tvcontrol':
|
336
|
+
name: TV Control Working Group
|
337
|
+
'https://www.w3.org/WAI/IndieUI':
|
338
|
+
name: Independent User Interface Working Group
|
339
|
+
abbrev: Indie UI WG
|
data/lib/relaton_w3c.rb
CHANGED
data/relaton_w3c.gemspec
CHANGED
@@ -37,5 +37,9 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_development_dependency "vcr"
|
38
38
|
spec.add_development_dependency "webmock"
|
39
39
|
|
40
|
+
spec.add_dependency "linkeddata", "~> 3.1.0"
|
41
|
+
spec.add_dependency "mechanize", "~> 2.8.0"
|
42
|
+
spec.add_dependency "rdf", "~> 3.1.0"
|
40
43
|
spec.add_dependency "relaton-bib", ">= 1.9.0"
|
44
|
+
spec.add_dependency "sparql", "~> 3.1.0"
|
41
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-w3c
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: equivalent-xml
|
@@ -80,6 +80,48 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: linkeddata
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.1.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.1.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: mechanize
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.8.0
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.8.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rdf
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 3.1.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 3.1.0
|
83
125
|
- !ruby/object:Gem::Dependency
|
84
126
|
name: relaton-bib
|
85
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +136,20 @@ dependencies:
|
|
94
136
|
- - ">="
|
95
137
|
- !ruby/object:Gem::Version
|
96
138
|
version: 1.9.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: sparql
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 3.1.0
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 3.1.0
|
97
153
|
description: 'RelatonIso: retrieve W3C Standards for bibliographic using the IsoBibliographicItem
|
98
154
|
model'
|
99
155
|
email:
|
@@ -117,6 +173,8 @@ files:
|
|
117
173
|
- grammars/basicdoc.rng
|
118
174
|
- grammars/biblio.rng
|
119
175
|
- lib/relaton_w3c.rb
|
176
|
+
- lib/relaton_w3c/data_fethcer.rb
|
177
|
+
- lib/relaton_w3c/data_parser.rb
|
120
178
|
- lib/relaton_w3c/hash_converter.rb
|
121
179
|
- lib/relaton_w3c/hit.rb
|
122
180
|
- lib/relaton_w3c/hit_collection.rb
|
@@ -125,6 +183,7 @@ files:
|
|
125
183
|
- lib/relaton_w3c/version.rb
|
126
184
|
- lib/relaton_w3c/w3c_bibliographic_item.rb
|
127
185
|
- lib/relaton_w3c/w3c_bibliography.rb
|
186
|
+
- lib/relaton_w3c/workgroups.yaml
|
128
187
|
- lib/relaton_w3c/xml_parser.rb
|
129
188
|
- relaton_w3c.gemspec
|
130
189
|
homepage: https://github.com/relaton/relaton-wc3
|