RelatonPlateau is a Ruby gem that implements the BibliographicItem model.
You can use it to retrieve metadata of Plateau Standards from GitHub repositori, and access such metadata through the BibliographicItem object.
Installation
Add this line to your application’s Gemfile:
gem 'relaton-plateau'
And then execute:
$ bundle
Or install it yourself as:
$ gem install relaton-plateau
Usage
Fetching
Fetching Technical Reports
require "relaton/plateau"
Relaton::Plateau::Bibliography.get("PLATEAU Technical Report #00")
[relaton-plateau] INFO: (PLATEAU Technical Report #00) Fetching ...
[relaton-plateau] INFO: (PLATEAU Technical Report #00) Found `PLATEAU Technical Report #00 1.0`
=> #<Relaton::Plateau::BibItem:0x00000001238cfc98
...
Fetching Handbooks unversioned
Relaton::Plateau::Bibliography.get("PLATEAU Handbook #00")
[relaton-plateau] INFO: (PLATEAU Handbook #00) Fetching ...
[relaton-plateau] INFO: (PLATEAU Handbook #00) Found `PLATEAU Handbook #00`
=> #<Relaton::Plateau::BibItem:0x00000001238c7598
...
Fetching Handbooks versioned
bib = Relaton::Plateau::Bibliography.get("PLATEAU Handbook #00 1.0")
[relaton-plateau] INFO: (PLATEAU Handbook #00 1.0) Fetching ...
[relaton-plateau] INFO: (PLATEAU Handbook #00 1.0) Found `PLATEAU Handbook #00 1.0`
=> #<Relaton::Plateau::BibItem:0x0000000104afbcc0
...
Serializing
XML
# Render bibitem
puts bib.to_xml
<bibitem id="PLATEAUHandbook#001.0" type="standard" schema-version="v1.2.9">
<fetched>2024-08-25</fetched>
<title type="main" format="text/plain" language="ja" script="Jpan">3D都市モデルの導入ガイダンス</title>
<title type="main" format="text/plain" language="en" script="Latn">Guidance on the Installation for 3D City Model</title>
<uri type="pdf">https://www.mlit.go.jp/plateau/file/libraries/doc/plateau_doc_0000_ver01.pdf</uri>
<docidentifier type="PLATEAU" primary="true">PLATEAU Handbook #00 1.0</docidentifier>
<docnumber>Handbook #00 1.0</docnumber>
<date type="published">
<on>2021-03-26</on>
</date>
<contributor>
<role type="publisher"/>
<organization>
<name language="ja" script="Jpan">国土交通省</name>
<name language="en" script="Latn">Japanese Ministry of Land, Infrastructure, Transport and Tourism</name>
<abbreviation>MLIT</abbreviation>
</organization>
</contributor>
<edition number="1.0">1.0</edition>
<abstract format="text/plain" language="ja" script="Jpan">地方自治体担当者や民間事業者等に向けた 3D都市モデル導入のためのガイダンス</abstract>
</bibitem>
# Render bibdata
puts bib.to_xml(bibdata: true)
<bibdata type="standard" schema-version="v1.2.9">
<fetched>2024-08-25</fetched>
<title type="main" format="text/plain" language="ja" script="Jpan">3D都市モデルの導入ガイダンス</title>
<title type="main" format="text/plain" language="en" script="Latn">Guidance on the Installation for 3D City Model</title>
<uri type="pdf">https://www.mlit.go.jp/plateau/file/libraries/doc/plateau_doc_0000_ver01.pdf</uri>
<docidentifier type="PLATEAU" primary="true">PLATEAU Handbook #00 1.</docidentifier>
<docnumber>Handbook #00 1.0</docnumber>
<date type="published">
<on>2021-03-26</on>
</date>
<contributor>
<role type="publisher"/>
<organization>
<name language="ja" script="Jpan">国土交通省</name>
<name language="en" script="Latn">Japanese Ministry of Land, Infrastructure, Transport and Tourism</name>
<abbreviation>MLIT</abbreviation>
</organization>
</contributor>
<edition number="1.0">1.0</edition>
<abstract format="text/plain" language="ja" script="Jpan">地方自治体担当者や民間事業者等に向けた 3D都市モデル導入のためのガイダンス</abstract>
<ext>
<doctype>handbook</doctype>
<structuredidentifier type="Handbook">
<agency>PLATEAU</agency>
<docnumber>00</docnumber>
<edition>1.0</edition>
</structuredidentifier>
<cover>
<image src="https://www.mlit.go.jp//plateau/uploads/2022/06/1@2x.jpg" mimetype="image/jpeg"/>
</cover>
<filesize>18381880</filesize>
</ext>
</bibdata>
YAML
puts bib.to_hash.to_yaml
---
schema-version: v1.2.9
id: PLATEAUHandbook#001.0
title:
- content: 3D
BibXML
puts bib.to_bibxml
<reference anchor="PLATEAU.Handbook.#00.1.0">
<front>
<title>3D
AsciiBib
puts bib.to_asciibib
[bibitem]
== {blank}
id:: PLATEAUHandbook#001.0
title::
title.type:: main
title.content:: 3D
Fetching data
Two datasets are available for fetching: platau-handbooks and plateau-technical-reports. The data is stored in the data directory. The format can be xml, 'yaml', or bibxml.
Relaton::Plateau::Fetcher.fetch("plateau-handbooks", output: "dir", format: "xml")
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/metanorma/relaton-plateau
License
The gem is available as open source under the terms of the MIT license.