when_exe 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +333 -212
- data/bin/make_ttl.rb +37 -0
- data/bin/make_ttl.rb.config +9 -0
- data/lib/when_exe.rb +923 -925
- data/lib/when_exe/calendarnote.rb +9 -5
- data/lib/when_exe/coordinates.rb +2437 -2446
- data/lib/when_exe/inspect.rb +1480 -1408
- data/lib/when_exe/linkeddata.rb +574 -0
- data/lib/when_exe/locales/akt.rb +177 -176
- data/lib/when_exe/locales/locale.rb +751 -751
- data/lib/when_exe/mini_application.rb +307 -307
- data/lib/when_exe/parts/resource.rb +1115 -1103
- data/lib/when_exe/region/chinese/epochs.rb +6 -5
- data/lib/when_exe/region/christian.rb +831 -829
- data/lib/when_exe/region/japanese.rb +93 -93
- data/lib/when_exe/region/japanese/notes.rb +1510 -1495
- data/lib/when_exe/region/japanese/residues.rb +13 -13
- data/lib/when_exe/tmposition.rb +2307 -2273
- data/lib/when_exe/tmreference.rb +1744 -1734
- data/lib/when_exe/version.rb +2 -2
- data/link_to_online_documents +1 -1
- data/test/scripts/3.ext.rb +6 -6
- data/test/scripts/3.rb +6 -6
- data/test/test.rb +76 -75
- data/test/test/icalendar.rb +883 -879
- data/test/test/linkeddata.rb +224 -0
- data/test/test/region/m17n.rb +193 -193
- data/when_exe.gemspec +3 -2
- metadata +13 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21ef2902a6f6e66f6b217b300ec63d0cfe4b3ec1
|
4
|
+
data.tar.gz: e132d01708f7eaac9e2246faeec19b5843551422
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1622bb678b6adfce5e1c54a91889ede8bb675fa3add66a01eba031910bbc3f11e45c2cbb5c4b24ac46bd22a9d3984d30f621f6e5c1e67d5430ca7d7cd4b142c3
|
7
|
+
data.tar.gz: 09f2ceda494e0e731593468051147ec22845827847a0f35f75ab9ca8b3969a6ea3154d8b5becc01ff80e302a30649b29a424cd34b86d804a2646a3b807f0dd36
|
data/README.md
CHANGED
@@ -1,212 +1,333 @@
|
|
1
|
-
when_exe - A multicultural and multilingualized calendar library
|
2
|
-
================================================================
|
3
|
-
|
4
|
-
[![Gem Version](https://badge.fury.io/rb/when_exe.svg)](http://badge.fury.io/rb/when_exe)
|
5
|
-
|
6
|
-
[when_exe](http://rubygems.org/gems/when_exe) is a multicultural and multilingualized calendar library based on [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601), [ISO 19108](http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=26013), [RFC 5545(iCalendar)](http://tools.ietf.org/html/rfc5545) and [RFC6350](http://tools.ietf.org/html/rfc6350).
|
7
|
-
|
8
|
-
[<img alt='Architecture' title='display this figure at actual size' src='https://raw.githubusercontent.com/suchowan/when_exe/f7bb8b51259f0c1653c6c37b3ce20bd2a6ab7914/architecture.png' width='637' height='408'/>](https://raw.githubusercontent.com/suchowan/when_exe/f7bb8b51259f0c1653c6c37b3ce20bd2a6ab7914/architecture.png)
|
9
|
-
|
10
|
-
Installation
|
11
|
-
------------
|
12
|
-
|
13
|
-
The when_exe gem can be installed by running:
|
14
|
-
|
15
|
-
gem install when_exe
|
16
|
-
|
17
|
-
|
18
|
-
Web Server
|
19
|
-
----------
|
20
|
-
|
21
|
-
Web server for when_exe demonstration is available on [hosi.org](http://hosi.org).
|
22
|
-
|
23
|
-
You can see examples of [When.exe Standard Representation](http://www.asahi-net.or.jp/~dd6t-sg/when_rdoc/when_en.html#label-8) and Reference System IRI at the top-left corner of Date frame.
|
24
|
-
|
25
|
-
Preferences are changeable on [hosi.org/cookies](http://hosi.org/cookies).
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
Available
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
p gregorian_date.
|
71
|
-
p gregorian_date.
|
72
|
-
p
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
p
|
79
|
-
p
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
p
|
87
|
-
p
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
p gregorian_date
|
98
|
-
p gregorian_date.
|
99
|
-
p gregorian_date.
|
100
|
-
p gregorian_date.
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
p
|
106
|
-
p
|
107
|
-
p
|
108
|
-
p
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
p
|
114
|
-
p
|
115
|
-
p
|
116
|
-
p
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
#
|
148
|
-
# "
|
149
|
-
# "
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
1
|
+
when_exe - A multicultural and multilingualized calendar library
|
2
|
+
================================================================
|
3
|
+
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/when_exe.svg)](http://badge.fury.io/rb/when_exe)
|
5
|
+
|
6
|
+
[when_exe](http://rubygems.org/gems/when_exe) is a multicultural and multilingualized calendar library based on [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601), [ISO 19108](http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=26013), [RFC 5545(iCalendar)](http://tools.ietf.org/html/rfc5545) and [RFC6350](http://tools.ietf.org/html/rfc6350). JSON-LD format for TemporalPosition and TemporalReferenceSystem are available.
|
7
|
+
|
8
|
+
[<img alt='Architecture' title='display this figure at actual size' src='https://raw.githubusercontent.com/suchowan/when_exe/f7bb8b51259f0c1653c6c37b3ce20bd2a6ab7914/architecture.png' width='637' height='408'/>](https://raw.githubusercontent.com/suchowan/when_exe/f7bb8b51259f0c1653c6c37b3ce20bd2a6ab7914/architecture.png)
|
9
|
+
|
10
|
+
Installation
|
11
|
+
------------
|
12
|
+
|
13
|
+
The when_exe gem can be installed by running:
|
14
|
+
|
15
|
+
gem install when_exe
|
16
|
+
|
17
|
+
|
18
|
+
Web Server
|
19
|
+
----------
|
20
|
+
|
21
|
+
Web server for when_exe demonstration is available on [hosi.org](http://hosi.org) ( or mirror site [hosi-org.herokuapp.com](http://hosi-org.herokuapp.com) ).
|
22
|
+
|
23
|
+
You can see examples of [When.exe Standard Representation](http://www.asahi-net.or.jp/~dd6t-sg/when_rdoc/when_en.html#label-8) and Reference System IRI at the top-left corner of Date frame.
|
24
|
+
|
25
|
+
Preferences are changeable on [hosi.org/cookies](http://hosi.org/cookies).
|
26
|
+
|
27
|
+
SPARQL endpoint is [hosi.org/japan/sparql](http://hosi.org/japan/sparql).
|
28
|
+
|
29
|
+
|
30
|
+
Documentation
|
31
|
+
-------------
|
32
|
+
|
33
|
+
API documentation for when_exe is available on [RubyDoc.info](http://rubydoc.info/gems/when_exe) or [here](http://www2u.biglobe.ne.jp/~suchowan/when_exe/frames.html).
|
34
|
+
|
35
|
+
Available calendars and clocks are defined as subclasses of TM_Calendar and TM_Clock or using definition tables in [CalendarTypes namespace](http://rubydoc.info/gems/when_exe/When/CalendarTypes).
|
36
|
+
|
37
|
+
Available calendar eras are defined using definition tables in [CalendarEra namespace](http://rubydoc.info/gems/when_exe/When/TM/CalendarEra).
|
38
|
+
|
39
|
+
Whole TemporalReferenceSystem resources are listed in the [Resource Dictionary](http://www2u.biglobe.ne.jp/~suchowan/ResourceDictionary.html).
|
40
|
+
|
41
|
+
For further detail, please refer to the [when_exe Wiki](http://www2u.biglobe.ne.jp/~suchowan/when_exe_wiki.html) pages.
|
42
|
+
|
43
|
+
|
44
|
+
License
|
45
|
+
-------
|
46
|
+
|
47
|
+
This beta version's license is limited. Please see [LICENSE.txt](https://github.com/suchowan/when_exe/blob/master/LICENSE.txt) for details.
|
48
|
+
|
49
|
+
Data sets [TemporalPositionDataSet](http://hosi.org/tp.rdf) and [TemporalReferenceSystemDataSet](http://hosi.org/When.rdf) should be used according to [CC-BY-ND](http://creativecommons.org/licenses/by-nd/4.0/) license.
|
50
|
+
|
51
|
+
|
52
|
+
Source Code
|
53
|
+
-----------
|
54
|
+
|
55
|
+
Source code for when_exe is available on [GitHub](https://github.com/suchowan/when_exe).
|
56
|
+
|
57
|
+
|
58
|
+
Example Usage
|
59
|
+
-------------
|
60
|
+
|
61
|
+
require 'when_exe'
|
62
|
+
# include When
|
63
|
+
|
64
|
+
# When::TM::CalDate ---------------------------
|
65
|
+
|
66
|
+
gregorian_date = When.tm_pos(2014, 8, 1)
|
67
|
+
p gregorian_date #=> 2014-08-01
|
68
|
+
p When.when?('2014-08-01') #=> 2014-08-01, the same date
|
69
|
+
p gregorian_date.to_i #=> 2456871, Julian Day Number(Integer)
|
70
|
+
p gregorian_date.to_f #=> 2456871.0, at noon for UTC
|
71
|
+
p gregorian_date.class #=> When::TM::CalDate
|
72
|
+
p gregorian_date.frame.iri #=> "http://hosi.org/When/CalendarTypes/Gregorian"
|
73
|
+
puts gregorian_date.name(When::MONTH).class #=> When::BasicTypes::M17n
|
74
|
+
puts gregorian_date.name(When::MONTH).iri #=> http://hosi.org/When/BasicTypes/M17n/Calendar::Month::August
|
75
|
+
puts gregorian_date.name(When::MONTH) / 'en' #=> August
|
76
|
+
puts gregorian_date.name(When::MONTH) / 'fr' #=> août
|
77
|
+
puts gregorian_date.name(When::MONTH) / 'ar' #=> اغسطس
|
78
|
+
p gregorian_date.easter #=> 2014-04-20
|
79
|
+
p gregorian_date.is?('Easter') #=> false
|
80
|
+
p When.tm_pos(2014, 4, 20).is?('Easter') #=> true
|
81
|
+
|
82
|
+
islamic_date = When::TabularIslamic ^ gregorian_date
|
83
|
+
p islamic_date #=> 1435-10-04
|
84
|
+
p When.tm_pos(1435, 10, 4, :frame=>'TabularIslamic')
|
85
|
+
#=> 1435-10-04, the same date
|
86
|
+
p When.when?('1435-10-4^TabularIslamic') #=> 1435-10-04, the same date
|
87
|
+
p islamic_date.frame.iri #=> "http://hosi.org/When/CalendarTypes/TabularIslamic"
|
88
|
+
puts islamic_date.name(When::MONTH) / 'en' #=> Shawwal
|
89
|
+
puts islamic_date.name(When::MONTH) / 'ar' #=> شوال
|
90
|
+
|
91
|
+
# When::TM::DateAndTime ------------------------
|
92
|
+
|
93
|
+
gregorian_date = When.tm_pos(2014, 8, 1, 9, 0, 0, :clock=>'+09:00')
|
94
|
+
p gregorian_date #=> 2014-08-01T09:00:00+09:00
|
95
|
+
p When.when?('2014-08-01T09:00:00+09:00') #=> 2014-08-01T09:00:00+09:00, the same date
|
96
|
+
p gregorian_date.to_i #=> 2456871, Julian Day Number(Integer)
|
97
|
+
p gregorian_date.to_f #=> 2456870.5 at 09:00:00 of Timezone +09:00
|
98
|
+
p gregorian_date.class #=> When::TM::DateAndTime
|
99
|
+
p gregorian_date.frame.iri #=> "http://hosi.org/When/CalendarTypes/Gregorian"
|
100
|
+
p gregorian_date.clk_time.class #=> When::TM::ClockTime
|
101
|
+
p gregorian_date.clk_time.frame.iri #=> "http://hosi.org/When/TM/Clock?label=+09:00"
|
102
|
+
|
103
|
+
gregorian_date = When.tm_pos(2014, 8, 1, 9, 0, 0, :clock=>'+09:00',
|
104
|
+
:long=>'139.413012E', :lat=>'35.412222N')
|
105
|
+
p gregorian_date #=> 2014-08-01T09:00:00+09:00
|
106
|
+
p gregorian_date.location.iri #=> "http://hosi.org/When/Coordinates/Spatial?long=139.413012E&lat=35.412222N&alt=0"
|
107
|
+
p gregorian_date.sunrise.floor(When::MINUTE) #=> 2014-08-01T04:48+09:00
|
108
|
+
p gregorian_date.sunset.floor(When::MINUTE) #=> 2014-08-01T18:46+09:00
|
109
|
+
|
110
|
+
darian_date = When::Darian ^ gregorian_date
|
111
|
+
p darian_date #=> 0216-13-23T15:12:11MTC
|
112
|
+
p darian_date.to_i #=> 49974, Serial Day Number(Integer)
|
113
|
+
p darian_date.to_f #=> 49974.13346485421
|
114
|
+
p darian_date.frame.iri #=> "http://hosi.org/When/CalendarTypes/Darian"
|
115
|
+
p darian_date.clk_time.frame.iri #=> "http://hosi.org/When/CalendarTypes/MTC"
|
116
|
+
p darian_date.time_standard.iri #=> "http://hosi.org/When/TimeStandard/MartianTimeCoordinated?location=(_l:long=0&datum=Mars)"
|
117
|
+
|
118
|
+
# When::TM::CalendarEra ------------------------
|
119
|
+
|
120
|
+
babylonian_date = When.tm_pos('NebuchadnezzarII', 1, 1, 1)
|
121
|
+
p babylonian_date #=> NebuchadnezzarII01(-603).01.01
|
122
|
+
p When.when?('NebuchadnezzarII1.1.1') #=> NebuchadnezzarII01(-603).01.01, the same date
|
123
|
+
p babylonian_date.to_i #=> 1500904, Julian Day Number(Integer)
|
124
|
+
p When.era('NebuchadnezzarII') #=> [_e:AncientOrient::Neo-Babylonian::NebuchadnezzarII]
|
125
|
+
p When.era('NebuchadnezzarII')[0] ^ 1500904 #=> NebuchadnezzarII01(-603).01.01, the same date
|
126
|
+
p babylonian_date.to_f #=> 1500904.0, at noon for UTC
|
127
|
+
p babylonian_date.frame.iri #=> "http://hosi.org/When/CalendarTypes/BabylonianPD"
|
128
|
+
p babylonian_date.calendar_era.iri #=> "http://hosi.org/When/TM/CalendarEra/AncientOrient::Neo-Babylonian::NebuchadnezzarII"
|
129
|
+
|
130
|
+
babylonian_date = When.when?('NebuchadnezzarII1.1.1T18:13:00',
|
131
|
+
:clock=>'+03:00?long=45&lat=32&border=Sunset')
|
132
|
+
4.times do
|
133
|
+
p [babylonian_date, babylonian_date.to_i] #=>
|
134
|
+
# [NebuchadnezzarII01(-603).01.01T:18:13:00+03:00, 1500904]
|
135
|
+
# [NebuchadnezzarII01(-603).01.01T:18:14:00+03:00, 1500904]
|
136
|
+
# [NebuchadnezzarII01(-603).01.02T*18:15:00+03:00, 1500905]
|
137
|
+
# [NebuchadnezzarII01(-603).01.02T*18:16:00+03:00, 1500905]
|
138
|
+
babylonian_date += When::PT1M
|
139
|
+
end
|
140
|
+
|
141
|
+
# Web service ----------------------------------
|
142
|
+
# retrieve JSON, JSON-LD, Turtle response from http://hosi.org:3000 (when_exe demonstration web server)
|
143
|
+
# (Notation3, RDF/XML, N-Triples and XML formats are also available.)
|
144
|
+
require 'open-uri'
|
145
|
+
open('http://hosi.org:3000/Date/2014-04-20.json') do |json|
|
146
|
+
puts json.read #=> newlines and blanks are inserted for readability.
|
147
|
+
# {"frame" : "http://hosi.org/When/CalendarTypes/Gregorian",
|
148
|
+
# "precision": 0,
|
149
|
+
# "location" : "http://hosi.org/When/Coordinates/Spatial?long=139.4441E&lat=35.3916N&alt=0.0",
|
150
|
+
# "sdn" : 2456768,
|
151
|
+
# "calendar" : ["http://hosi.org/When/CalendarTypes/Gregorian"],
|
152
|
+
# "notes" : [[{"note":"Month","value":"April"}],
|
153
|
+
# [{"note":"Week","value":"Sunday(6)"}]],
|
154
|
+
# "clock" : "Asia/Tokyo+09:00",
|
155
|
+
# "clk_time" : [2456768,0,0,0],
|
156
|
+
# "dynamical": 1397919667.184082,
|
157
|
+
# "universal": 1397919600.0,
|
158
|
+
# "cal_date" : [2014,4,20]}
|
159
|
+
end
|
160
|
+
|
161
|
+
open('http://hosi.org/tp/2014-04-20.json') do |json| # redirected from http://hosi.org to http://hosi.org:3000
|
162
|
+
puts json.read #=> newlines and blanks are inserted for readability.
|
163
|
+
# {"frame" : "http://hosi.org/When/CalendarTypes/Gregorian",
|
164
|
+
# "precision": 0,
|
165
|
+
# "sdn" : 2456768,
|
166
|
+
# "calendar" : ["http://hosi.org/When/CalendarTypes/Gregorian"],
|
167
|
+
# "notes" : [[{"note":"Month","value":"April"}],
|
168
|
+
# [{"note":"Week","value":"Sunday(6)"}]],
|
169
|
+
# "cal_date" : [2014,4,20]}
|
170
|
+
end
|
171
|
+
|
172
|
+
open('http://hosi.org/tp/2014-04-20.jsonld') do |jsonld| # redirected from http://hosi.org to http://hosi.org:3000
|
173
|
+
puts jsonld.read #=> newlines and blanks are inserted for readability.
|
174
|
+
# {"@context":
|
175
|
+
# {"xsd" :"http://www.w3.org/2001/XMLSchema",
|
176
|
+
# "rdf" :"http://www.w3.org/1999/02/22-rdf-syntax-ns#",
|
177
|
+
# "rdfs":"http://www.w3.org/2000/01/rdf-schema#",
|
178
|
+
# "owl" :"http://www.w3.org/2002/07/owl#",
|
179
|
+
# "dc" :"http://purl.org/dc/elements/1.1/",
|
180
|
+
# "dcq" :"http://purl.org/dc/terms/",
|
181
|
+
# "dct" :"http://purl.org/dc/dcmitype/",
|
182
|
+
# "ts" :"http://hosi.org/ts#",
|
183
|
+
# "Week":"http://hosi.org/When/Coordinates/Common::Week::",
|
184
|
+
# "day" :"http://hosi.org/When/CalendarNote/Christian/Notes::day::"},
|
185
|
+
# "@graph":[{
|
186
|
+
# "rdf:type" : {"@id":"http://hosi.org/ts/When/TM/CalDate"},
|
187
|
+
# "@id" : "http://hosi.org/tp/2014-04-20",
|
188
|
+
# "ts:sdn" : 2456768,
|
189
|
+
# "ts:frame" : {"@id":"http://hosi.org/When/CalendarTypes/Gregorian"},
|
190
|
+
# "ts:coordinate": "20",
|
191
|
+
# "@reverse" : {"rdfs:member":{"@id":"http://hosi.org/tp/2014-04"}},
|
192
|
+
# "day:Week" : {"@id":"Week:Sunday"},
|
193
|
+
# "day:Easter" : "easter(0)",
|
194
|
+
# "day:Christmas": "christmas(-249)"
|
195
|
+
# }]
|
196
|
+
# }
|
197
|
+
end
|
198
|
+
|
199
|
+
open('http://hosi.org/tp/2014-04-20.ttl') do |ttl| # redirected from http://hosi.org to http://hosi.org:3000
|
200
|
+
puts ttl.read
|
201
|
+
# @prefix Week: <http://hosi.org/When/Coordinates/Common::Week::> .
|
202
|
+
# @prefix day: <http://hosi.org/When/CalendarNote/Christian/Notes::day::> .
|
203
|
+
# @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
204
|
+
# @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
205
|
+
# @prefix ts: <http://hosi.org/ts#> .
|
206
|
+
# @prefix xsd: <http://www.w3.org/2001/XMLSchema> .
|
207
|
+
#
|
208
|
+
# <http://hosi.org/tp/2014-04> rdfs:member <http://hosi.org/tp/2014-04-20> .
|
209
|
+
#
|
210
|
+
# <http://hosi.org/tp/2014-04-20> a <http://hosi.org/ts/When/TM/CalDate>;
|
211
|
+
# day:Christmas "christmas(-249)";
|
212
|
+
# day:Easter "easter(0)";
|
213
|
+
# day:Week Week:Sunday;
|
214
|
+
# ts:coordinate "20";
|
215
|
+
# ts:frame <http://hosi.org/When/CalendarTypes/Gregorian>;
|
216
|
+
# ts:sdn 2456768 .
|
217
|
+
end
|
218
|
+
|
219
|
+
open('http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge.ttl') do |ttl| # redirected from http://hosi.org to http://hosi.org:3000
|
220
|
+
puts ttl.read
|
221
|
+
# @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
222
|
+
# @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
223
|
+
# @prefix ts: <http://hosi.org/ts#> .
|
224
|
+
# @prefix xsd: <http://www.w3.org/2001/XMLSchema> .
|
225
|
+
#
|
226
|
+
# <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge> a <http://hosi.org/ts/When/TM/OrdinalReferenceSystem>;
|
227
|
+
# rdfs:member <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::冥王代>,
|
228
|
+
# <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::始生代>,
|
229
|
+
# <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::原生代>,
|
230
|
+
# <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::顕生代> .
|
231
|
+
#
|
232
|
+
# <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::冥王代> a <http://hosi.org/ts/When/TM/OrdinalEra>;
|
233
|
+
# ts:begin "-4600000000";
|
234
|
+
# ts:end "-4000000000";
|
235
|
+
# ts:label <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::冥王代::冥王代> .
|
236
|
+
#
|
237
|
+
# <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::原生代> a <http://hosi.org/ts/When/TM/OrdinalEra>;
|
238
|
+
# ts:begin "-2500000000";
|
239
|
+
# ts:end "-542000000";
|
240
|
+
# ts:label <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::原生代::原生代>;
|
241
|
+
# rdfs:member <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::原生代::前期>,
|
242
|
+
# <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::原生代::中期>,
|
243
|
+
# <http://hosi.org/When/TM/OrdinalReferenceSystem/GeologicalAge::原生代::後期> .
|
244
|
+
# <..snip..>
|
245
|
+
end
|
246
|
+
|
247
|
+
#
|
248
|
+
# SPARQL endpoint ------------------------------
|
249
|
+
# https://rubygems.org/gems/sparql is required for this section's operations.
|
250
|
+
# Please install sparql before operation.
|
251
|
+
|
252
|
+
require 'sparql'
|
253
|
+
PREFIXES = When::Parts::Resource.namespace_prefixes(
|
254
|
+
'_co:Common', '_co:Common?V=0618', '_m:Calendar', '_m:Japanese', '_n:Japanese/Notes')
|
255
|
+
|
256
|
+
client = SPARQL::Client.new("http://hosi.org/japan/sparql")
|
257
|
+
|
258
|
+
client.query(PREFIXES.keys.map {|key|
|
259
|
+
"PREFIX #{key}: <#{PREFIXES[key].last}> "}.join("\n") +
|
260
|
+
%(
|
261
|
+
SELECT DISTINCT ?s
|
262
|
+
WHERE {
|
263
|
+
?s ts:coordinate "10" .
|
264
|
+
?s DayNote:廿四節気 SolarTerm:清明 .
|
265
|
+
?s DayNote:干支 Stem-Branch:壬戌 .
|
266
|
+
}
|
267
|
+
)).each do |solution|
|
268
|
+
p solution[:s].to_s #=>
|
269
|
+
#=> "http://hosi.org/tp/0689-03-10%5E%5EJapanese"
|
270
|
+
#=> "http://hosi.org/tp/1490-03-10%5E%5EJapanese"
|
271
|
+
end
|
272
|
+
|
273
|
+
#
|
274
|
+
# TZInfo ---------------------------------------
|
275
|
+
# https://rubygems.org/gems/tzinfo is required for this section's operations.
|
276
|
+
# Please install tzinfo before operation.
|
277
|
+
|
278
|
+
gregorian_date = When.tm_pos(2014, 8, 1, 9, 0, 0, :tz=>'Asia/Tokyo')
|
279
|
+
p gregorian_date #=> 2014-08-01T09:00:00+09:00
|
280
|
+
p gregorian_date.location.iri #=> "http://hosi.org/When/Coordinates/Spatial?long=139.4441E&lat=35.3916N&label=Asia/Tokyo"
|
281
|
+
p gregorian_date.sunrise.floor(When::MINUTE) #=> 2014-08-01T04:48+09:00
|
282
|
+
p gregorian_date.sunset.floor(When::MINUTE) #=> 2014-08-01T18:45+09:00
|
283
|
+
|
284
|
+
jst = When.tm_pos(1997, 4, 6, 15, 30, 00, :tz=>'Asia/Tokyo')
|
285
|
+
p jst #=> 1997-04-06T15:30:00+09:00
|
286
|
+
est = When.Clock('America/New_York') ^ jst
|
287
|
+
p est #=> 1997-04-06T01:30:00-05:00
|
288
|
+
jst = When.tm_pos(1997, 4, 6, 16, 30, 00, :tz=>'Asia/Tokyo')
|
289
|
+
p jst #=> 1997-04-06T16:30:00+09:00
|
290
|
+
edt = When.Clock('America/New_York') ^ jst
|
291
|
+
p edt #=> 1997-04-06T03:30:00-04:00
|
292
|
+
|
293
|
+
p When.when?('TZID=America/New_York:1997-10-26T01:30') #=> 1997-10-26T01:30-04:00
|
294
|
+
p When.when?('TZID=America/New_York:1997-10-26T01=30') #=> 1997-10-26T01:30-05:00, '=' indicates "leap hour"
|
295
|
+
p When.when?('TZID=America/New_York:1997-10-26T02:30') #=> 1997-10-26T02:30-05:00
|
296
|
+
p When.when?('TZID=America/New_York:1997-10-26T03:30') #=> 1997-10-26T03:30-05:00
|
297
|
+
|
298
|
+
# Google Calendar ------------------------------
|
299
|
+
# https://github.com/suchowan/gcalapi is required for this section's operations.
|
300
|
+
# Please install gcalapi before operation.
|
301
|
+
# Please replace xxxxxxxx and ******** to valid id/password pair and access Google Calendar.
|
302
|
+
|
303
|
+
service = GoogleCalendar::Service.new('xxxxxxxx@gmail.com', '********')
|
304
|
+
feed = "http://www.google.com/calendar/feeds/%s__%s%%40holiday.calendar.google.com/public/full" %
|
305
|
+
['japanese', 'ja']
|
306
|
+
gcal = GoogleCalendar::Calendar::new(service, feed)
|
307
|
+
gcal.enum_for({'start-min'=>'2014-01-01', 'start-max'=>'2015-01-01',
|
308
|
+
'orderby'=>'starttime', 'sortorder'=>'a'
|
309
|
+
}).each do |range|
|
310
|
+
puts '%s - %s' % [range, range.events[0].summary] #=>
|
311
|
+
# 2014-01-01T00:00:00.00+09:00...2014-01-02T00:00:00.00+09:00 - 元日
|
312
|
+
# 2014-01-02T00:00:00.00+09:00...2014-01-03T00:00:00.00+09:00 - 銀行休業日
|
313
|
+
# 2014-01-03T00:00:00.00+09:00...2014-01-04T00:00:00.00+09:00 - 銀行休業日
|
314
|
+
# 2014-01-13T00:00:00.00+09:00...2014-01-14T00:00:00.00+09:00 - 成人の日
|
315
|
+
# 2014-02-11T00:00:00.00+09:00...2014-02-12T00:00:00.00+09:00 - 建国記念の日
|
316
|
+
# 2014-03-21T00:00:00.00+09:00...2014-03-22T00:00:00.00+09:00 - 春分の日
|
317
|
+
# 2014-04-29T00:00:00.00+09:00...2014-04-30T00:00:00.00+09:00 - 昭和の日
|
318
|
+
# 2014-05-03T00:00:00.00+09:00...2014-05-04T00:00:00.00+09:00 - 憲法記念日
|
319
|
+
# 2014-05-04T00:00:00.00+09:00...2014-05-05T00:00:00.00+09:00 - みどりの日
|
320
|
+
# 2014-05-05T00:00:00.00+09:00...2014-05-06T00:00:00.00+09:00 - こどもの日
|
321
|
+
# 2014-05-06T00:00:00.00+09:00...2014-05-07T00:00:00.00+09:00 - みどりの日 振替休日
|
322
|
+
# 2014-07-21T00:00:00.00+09:00...2014-07-22T00:00:00.00+09:00 - 海の日
|
323
|
+
# 2014-09-15T00:00:00.00+09:00...2014-09-16T00:00:00.00+09:00 - 敬老の日
|
324
|
+
# 2014-09-23T00:00:00.00+09:00...2014-09-24T00:00:00.00+09:00 - 秋分の日
|
325
|
+
# 2014-10-13T00:00:00.00+09:00...2014-10-14T00:00:00.00+09:00 - 体育の日
|
326
|
+
# 2014-11-03T00:00:00.00+09:00...2014-11-04T00:00:00.00+09:00 - 文化の日
|
327
|
+
# 2014-11-23T00:00:00.00+09:00...2014-11-24T00:00:00.00+09:00 - 勤労感謝の日
|
328
|
+
# 2014-11-24T00:00:00.00+09:00...2014-11-25T00:00:00.00+09:00 - 勤労感謝の日 振替休日
|
329
|
+
# 2014-12-23T00:00:00.00+09:00...2014-12-24T00:00:00.00+09:00 - 天皇誕生日
|
330
|
+
# 2014-12-25T00:00:00.00+09:00...2014-12-26T00:00:00.00+09:00 - クリスマス
|
331
|
+
# 2014-12-31T00:00:00.00+09:00...2015-01-01T00:00:00.00+09:00 - 大晦日
|
332
|
+
end
|
333
|
+
|