relaton-w3c 1.8.0 → 1.9.3
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/.github/workflows/rake.yml +1 -11
- data/.rubocop.yml +1 -1
- data/Gemfile +1 -1
- data/README.adoc +89 -62
- data/grammars/biblio.rng +1 -0
- data/grammars/isodoc.rng +2106 -0
- data/grammars/reqt.rng +194 -0
- data/lib/relaton_w3c/data_fethcer.rb +106 -0
- data/lib/relaton_w3c/data_parser.rb +205 -0
- data/lib/relaton_w3c/hash_converter.rb +1 -1
- data/lib/relaton_w3c/hit_collection.rb +8 -8
- data/lib/relaton_w3c/processor.rb +15 -2
- data/lib/relaton_w3c/scrapper.rb +17 -17
- data/lib/relaton_w3c/version.rb +1 -1
- data/lib/relaton_w3c/w3c_bibliographic_item.rb +1 -1
- data/lib/relaton_w3c/w3c_bibliography.rb +14 -6
- data/lib/relaton_w3c/workgroups.yaml +339 -0
- data/lib/relaton_w3c/xml_parser.rb +1 -1
- data/lib/relaton_w3c.rb +1 -0
- data/relaton_w3c.gemspec +6 -4
- metadata +66 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5e153b3ec55b3b7580684e3be7e740203fd6ab222c7bfc897829b175ba74855
|
4
|
+
data.tar.gz: 48d1c1dfb62b838d264bed6b3922eda7c5d74b76b34a3c16a0cf89cd843bd26c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b800789cabc1e5a73c3aa11b1ce73bb4ebd6bffd2c973f548d01b94568e2e679785a3daa17d80bedbc524795a79b068d88de5d31771dbd7b33450fae6b6052af
|
7
|
+
data.tar.gz: 35051594acea5120536e46e0e621539db7ba0c496f917669deac68d189e2dcdd9a79a63cf46d59b493921b7b8d923f09b4ecf089e86fee8229cdeb8ffdbe29a5
|
data/.github/workflows/rake.yml
CHANGED
@@ -16,19 +16,9 @@ jobs:
|
|
16
16
|
strategy:
|
17
17
|
fail-fast: false
|
18
18
|
matrix:
|
19
|
-
ruby: [ '
|
19
|
+
ruby: [ '3.0', '2.7', '2.6', '2.5' ]
|
20
20
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
21
|
experimental: [ false ]
|
22
|
-
include:
|
23
|
-
- ruby: '3.0'
|
24
|
-
os: 'ubuntu-latest'
|
25
|
-
experimental: true
|
26
|
-
- ruby: '3.0'
|
27
|
-
os: 'windows-latest'
|
28
|
-
experimental: true
|
29
|
-
- ruby: '3.0'
|
30
|
-
os: 'macos-latest'
|
31
|
-
experimental: true
|
32
22
|
steps:
|
33
23
|
- uses: actions/checkout@v2
|
34
24
|
with:
|
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
data/README.adoc
CHANGED
@@ -30,11 +30,10 @@ Or install it yourself as:
|
|
30
30
|
require 'relaton_w3c'
|
31
31
|
=> true
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
=> #<RelatonW3c::W3cBibliographicItem:0x007f93a58a0670
|
33
|
+
item = RelatonW3c::W3cBibliography.get "W3C REC-json-ld11-20200716"
|
34
|
+
[relaton-w3c] ("W3C REC-json-ld11-20200716") fetching...
|
35
|
+
[relaton-w3c] ("W3C REC-json-ld11-20200716") found JSON-LD 1.1
|
36
|
+
=> #<RelatonW3c::W3cBibliographicItem:0x00007fc4ea03c6c0
|
38
37
|
...
|
39
38
|
----
|
40
39
|
|
@@ -43,16 +42,51 @@ item = hits[0].fetch
|
|
43
42
|
[source,ruby]
|
44
43
|
----
|
45
44
|
item.to_xml
|
46
|
-
=> "<bibitem id="
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
45
|
+
=> "<bibitem id="W3CREC-json-ld11-20200716" type="standard">
|
46
|
+
<fetched>2021-11-20</fetched>
|
47
|
+
<title format="text/plain">JSON-LD 1.1</title>
|
48
|
+
<uri type="src">https://www.w3.org/TR/2020/REC-json-ld11-20200716/</uri>
|
49
|
+
<docidentifier type="W3C">W3C REC-json-ld11-20200716</docidentifier>
|
50
|
+
<docnumber>REC-json-ld11-20200716</docnumber>
|
51
|
+
<date type="published">
|
52
|
+
<on>2020-07-16</on>
|
53
|
+
</date>
|
54
|
+
<contributor>
|
55
|
+
<role type="editor"/>
|
56
|
+
<person>
|
57
|
+
<name>
|
58
|
+
<completename language="en" script="Latn">Dave Longley</completename>
|
59
|
+
</name>
|
60
|
+
</person>
|
61
|
+
</contributor>
|
62
|
+
<contributor>
|
63
|
+
<role type="editor"/>
|
64
|
+
<person>
|
65
|
+
<name>
|
66
|
+
<completename language="en" script="Latn">Gregg Kellogg</completename>
|
67
|
+
</name>
|
68
|
+
</person>
|
69
|
+
</contributor>
|
70
|
+
<contributor>
|
71
|
+
<role type="editor"/>
|
72
|
+
<person>
|
73
|
+
<name>
|
74
|
+
<completename language="en" script="Latn">Pierre-Antoine Champin</completename>
|
75
|
+
</name>
|
76
|
+
</person>
|
77
|
+
</contributor>
|
78
|
+
<language>en</language>
|
79
|
+
<script>Latn</script>
|
80
|
+
<relation type="obsoletes">
|
81
|
+
<bibitem>
|
82
|
+
<formattedref format="text/plain">W3C PR-json-ld11-20200507</formattedref>
|
83
|
+
</bibitem>
|
84
|
+
</relation>
|
85
|
+
<series>
|
86
|
+
<title format="text/plain">W3C REC</title>
|
87
|
+
<number>REC-json-ld11-20200716</number>
|
88
|
+
</series>
|
89
|
+
</bibitem>"
|
56
90
|
----
|
57
91
|
|
58
92
|
With argument `bibdata: true` it ouputs XML wrapped by `bibdata` element and adds flavour `ext` element.
|
@@ -61,58 +95,32 @@ With argument `bibdata: true` it ouputs XML wrapped by `bibdata` element and add
|
|
61
95
|
----
|
62
96
|
item.to_xml bibdata: true
|
63
97
|
=> "<bibdata type="standard">
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
=== Get document by title
|
79
|
-
[source,ruby]
|
80
|
-
----
|
81
|
-
RelatonW3c::W3cBibliography.get "W3C JSON-LD 1.1"
|
82
|
-
[relaton-w3c] ("W3C JSON-LD 1.1") fetching...
|
83
|
-
[relaton-w3c] ("W3C JSON-LD 1.1") found JSON-LD 1.1
|
84
|
-
=> #<RelatonW3c::W3cBibliographicItem:0x007f93b655bb48
|
85
|
-
...
|
98
|
+
<fetched>2021-11-20</fetched>
|
99
|
+
<title format="text/plain">JSON-LD 1.1</title>
|
100
|
+
<uri type="src">https://www.w3.org/TR/2020/REC-json-ld11-20200716/</uri>
|
101
|
+
<docidentifier type="W3C">W3C REC-json-ld11-20200716</docidentifier>
|
102
|
+
<docnumber>REC-json-ld11-20200716</docnumber>
|
103
|
+
...
|
104
|
+
<ext>
|
105
|
+
<doctype>recommendation</doctype>
|
106
|
+
<editorialgroup>
|
107
|
+
<technical-committee>JSON-LD Working Group</technical-committee>
|
108
|
+
</editorialgroup>
|
109
|
+
</ext>
|
110
|
+
</bibdata>"
|
86
111
|
----
|
87
112
|
|
88
|
-
===
|
89
|
-
[source,ruby]
|
90
|
-
----
|
91
|
-
RelatonW3c::W3cBibliography.get "W3C Candidate Recommendation JSON-LD 1.1"
|
92
|
-
[relaton-w3c] ("W3C Candidate Recommendation JSON-LD 1.1") fetching...
|
93
|
-
[relaton-w3c] ("W3C Candidate Recommendation JSON-LD 1.1") found JSON-LD 1.1
|
94
|
-
=> #<RelatonW3c::W3cBibliographicItem:0x007f9357199b90
|
95
|
-
...
|
96
|
-
----
|
113
|
+
=== Typed links
|
97
114
|
|
98
|
-
|
99
|
-
[source,ruby]
|
100
|
-
----
|
101
|
-
RelatonW3c::W3cBibliography.get "W3C CR JSON-LD 1.1"
|
102
|
-
[relaton-w3c] ("W3C CR JSON-LD 1.1") fetching...
|
103
|
-
[relaton-w3c] ("W3C CR JSON-LD 1.1") found JSON-LD 1.1
|
104
|
-
=> #<RelatonW3c::W3cBibliographicItem:0x007f93b6d37dd0
|
105
|
-
...
|
106
|
-
----
|
115
|
+
Each W3C document has `src` type link.
|
107
116
|
|
108
|
-
=== Get document by title, type, and date
|
109
117
|
[source,ruby]
|
110
118
|
----
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
119
|
+
item.link.first.type
|
120
|
+
=> "src"
|
121
|
+
|
122
|
+
item.link.first.content
|
123
|
+
=> #<Addressable::URI:0x75634 URI:https://www.w3.org/TR/2020/REC-json-ld11-20200716/>
|
116
124
|
----
|
117
125
|
|
118
126
|
=== Create bibliographic item from XML
|
@@ -136,11 +144,30 @@ bib_hash = RelatonW3c::HashConverter.hash_to_bib hash
|
|
136
144
|
[{:type=>"main", :content=>"JSON-LD 1.1", :language=>"en", :script=>"Latn", :format=>"text/plain"},
|
137
145
|
...
|
138
146
|
|
139
|
-
RelatonW3c::W3cBibliographicItem.new bib_hash
|
147
|
+
RelatonW3c::W3cBibliographicItem.new **bib_hash
|
140
148
|
=> #<RelatonW3c::W3cBibliographicItem:0x007f9381ec6a00
|
141
149
|
...
|
142
150
|
----
|
143
151
|
|
152
|
+
=== Fetch data
|
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.
|
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.
|
157
|
+
Arguments:
|
158
|
+
|
159
|
+
- `output` - folder to save documents (default './data').
|
160
|
+
- `format` - format in which the documents are saved. Possimle formats are: `yaml`, `xml`, `bibxml` (default `yaml`).
|
161
|
+
|
162
|
+
[source,ruby]
|
163
|
+
----
|
164
|
+
RelatonW3c::DataFetcher.fetch
|
165
|
+
Started at: 2021-11-19 13:32:05 +0100
|
166
|
+
Stopped at: 2021-11-19 13:34:40 +0100
|
167
|
+
Done in: 155 sec.
|
168
|
+
=> nil
|
169
|
+
----
|
170
|
+
|
144
171
|
== Development
|
145
172
|
|
146
173
|
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.
|