新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴
[Calendar/When/Ruby/1.実行環境/4.railsデモ/Web_Service] (前:Query|次:2.APIの使用例) (English)

Web_Service

http://hosi.org:3000/ は Ruby on Rails で実装していますので、HTML以外の形式の情報も扱うことができます。

HTML形式にくらべて過剰なタグ付けをしない分だけ高速です。

なお URL http://hosi.org/tp/... は hosi.org:3000 に転送されますので 3000 というポート指定は省略できます。

(以下の例は人間が読みやすいように、実際の Response を適当に改行しています。)

Linked Data 系

時間参照系(TemporalReferenceSystem)のオブジェクトは「リソース辞書」の各ページのリソース識別子欄からのリンクを参考にしてください。

以下は、日時(TemporalPosition)オブジェクトを to_jsonld_hash メソッドでハッシュ化したものを指定の形式で応答するものです。

Turtle

下記に例を示します。

Request

 http://hosi.org/tp/2014-12-25.ttl

Response

 @prefix Week: <http://hosi.org/When/Coordinates/Common::Week::> .
 @prefix day: <http://hosi.org/When/CalendarNote/Christian/Notes::day::> .
 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix ts: <http://hosi.org/ts#> .
 @prefix xsd: <http://www.w3.org/2001/XMLSchema> .
 
 <http://hosi.org/tp/2014-12> rdfs:member <http://hosi.org/tp/2014-12-25> .
 
 <http://hosi.org/tp/2014-12-25> a <http://hosi.org/ts/When/TM/CalDate>;
    day:Christmas "christmas(0)";
    day:Easter "easter(249)";
    day:Week Week:Thursday;
    ts:coordinate "25";
    ts:frame <http://hosi.org/When/CalendarTypes/Gregorian>;
    ts:sdn 2457017 .

RDF/XML

下記に例を示します。

Request

 http://hosi.org/tp/2014-12-25.rdf

Response

 <?xml version='1.0' encoding='utf-8' ?>
 <rdf:RDF xmlns:Week='http://hosi.org/When/Coordinates/Common::Week::'
          xmlns:day='http://hosi.org/When/CalendarNote/Christian/Notes::day::'
          xmlns:ns0='http://hosi.org/ts/When/TM/'
          xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
          xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
          xmlns:ts='http://hosi.org/ts#'
          xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
   <rdf:Description rdf:about='http://hosi.org/tp/2014-12'>
     <rdfs:member>
       <ns0:CalDate rdf:about='http://hosi.org/tp/2014-12-25'>
         <day:Christmas>christmas(0)</day:Christmas>
         <day:Easter>easter(249)</day:Easter>
         <day:Week rdf:resource='http://hosi.org/When/Coordinates/Common::Week::Thursday' />
         <ts:coordinate>25</ts:coordinate>
         <ts:frame rdf:resource='http://hosi.org/When/CalendarTypes/Gregorian' />
         <ts:sdn rdf:datatype='http://www.w3.org/2001/XMLSchema#integer'>2457017</ts:sdn>
       </ns0:CalDate>
     </rdfs:member>
   </rdf:Description>
 
 </rdf:RDF>

N-Triples

下記に例を示します。

Request

 http://hosi.org/tp/2014-12-25.nt

Response

 <http://hosi.org/tp/2014-12-25> <http://hosi.org/When/CalendarNote/Christian/Notes::day::Christmas> "christmas(0)" .
 <http://hosi.org/tp/2014-12-25> <http://hosi.org/When/CalendarNote/Christian/Notes::day::Easter> "easter(249)" .
 <http://hosi.org/tp/2014-12-25> <http://hosi.org/When/CalendarNote/Christian/Notes::day::Week> <http://hosi.org/When/Coordinates/Common::Week::Thursday> .
 <http://hosi.org/tp/2014-12-25> <http://hosi.org/ts#coordinate> "25" .
 <http://hosi.org/tp/2014-12-25> <http://hosi.org/ts#frame> <http://hosi.org/When/CalendarTypes/Gregorian> .
 <http://hosi.org/tp/2014-12-25> <http://hosi.org/ts#sdn> "2457017"^^<http://www.w3.org/2001/XMLSchema#integer> .
 <http://hosi.org/tp/2014-12-25> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://hosi.org/ts/When/TM/CalDate> .
 <http://hosi.org/tp/2014-12> <http://www.w3.org/2000/01/rdf-schema#member> <http://hosi.org/tp/2014-12-25> .

Notation3

下記に例を示します。

Request

 http://hosi.org/tp/2014-12-25.n3

Response

 @prefix Week: <http://hosi.org/When/Coordinates/Common::Week::> .
 @prefix day: <http://hosi.org/When/CalendarNote/Christian/Notes::day::> .
 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix ts: <http://hosi.org/ts#> .
 @prefix xsd: <http://www.w3.org/2001/XMLSchema> .
 
 <http://hosi.org/tp/2014-12> rdfs:member <http://hosi.org/tp/2014-12-25> .
 
 <http://hosi.org/tp/2014-12-25> a <http://hosi.org/ts/When/TM/CalDate>;
    day:Christmas "christmas(0)";
    day:Easter "easter(249)";
    day:Week Week:Thursday;
    ts:coordinate "25";
    ts:frame <http://hosi.org/When/CalendarTypes/Gregorian>;
    ts:sdn 2457017 .

JSON-LD

下記に例を示します。

Request

 http://hosi.org/tp/2014-12-25.jsonld

Response

 {"@context":{
    "xsd":"http://www.w3.org/2001/XMLSchema",
    "rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "rdfs":"http://www.w3.org/2000/01/rdf-schema#",
    "owl":"http://www.w3.org/2002/07/owl#",
    "dc":"http://purl.org/dc/elements/1.1/",
    "dcq":"http://purl.org/dc/terms/",
    "dct":"http://purl.org/dc/dcmitype/",
    "ts":"http://hosi.org/ts#",
    "Week":"http://hosi.org/When/Coordinates/Common::Week::",
    "day":"http://hosi.org/When/CalendarNote/Christian/Notes::day::"
  },
  "@graph":[
    {"rdf:type":{"@id":"http://hosi.org/ts/When/TM/CalDate"},
     "@id":"http://hosi.org/tp/2014-12-25",
     "ts:sdn":2457017,
     "ts:frame":{"@id":"http://hosi.org/When/CalendarTypes/Gregorian"},
     "ts:coordinate":"25",
     "@reverse":{"rdfs:member":{"@id":"http://hosi.org/tp/2014-12"}},
     "day:Week":{"@id":"Week:Thursday"},
     "day:Easter":"easter(249)",
     "day:Christmas":"christmas(0)"
    }]
  }

Linked Data 系以外

JSON

指定の日時オブジェクトを to_h メソッドでハッシュ化したものをJSON形式で応答します。

下記に例を示します。

Request

 http://hosi.org:3000/Date/2013-06-07.json

または

 http://hosi.org/tp/2013-06-07.json

Response

 {"frame":"http://hosi.org/When/CalendarTypes/Gregorian",
  "precision":0,
  "sdn":2456451,
  "calendar":["http://hosi.org/When/CalendarTypes/Gregorian"],
  "notes":[[{"note":"Month","value":"6月"}],[]],
  "clock":"Asia/Tokyo+09:00",
  "clk_time":[2456451,0,0,0],
  "dynamical":1370530867.184082,
  "universal":1370530800.0,
  "cal_date":[2013,6,7]}

XML

HTMLの場合と同様に、日時オブジェクトを cookie で設定した暦に変換した結果をXML 形式で応答します。

下記に例を示します。

Request

 http://hosi.org:3000/Date/-4712-1-1.xml

または

 http://hosi.org/tp/-4712-1-1.xml

Response

 <xml xmlns:gml="http://www.opengis.net/gml">
   <gml:CalDate>
     <gml:TemporalPosition.frame>http://hosi.org/When/CalendarTypes/Civil?reform_date=1582-10-15</gml:TemporalPosition.frame>
     <gml:calDate>-4712</gml:calDate>
     <gml:calDate>2</gml:calDate>
     <gml:calDate>8</gml:calDate>
   </gml:CalDate>
   <gml:CalDate>
     <gml:TemporalPosition.frame>http://hosi.org/When/CalendarTypes/Gregorian</gml:TemporalPosition.frame>
     <gml:calDate>-4712</gml:calDate>
     <gml:calDate>1</gml:calDate>
     <gml:calDate>1</gml:calDate>
   </gml:CalDate>
   <gml:CalDate>
    <gml:TemporalPosition.frame>http://hosi.org/When/CalendarTypes/Julian</gml:TemporalPosition.frame>
    <gml:calDate>-4712</gml:calDate>
    <gml:calDate>2</gml:calDate>
    <gml:calDate>8</gml:calDate>
   </gml:CalDate>
  (..snip..)
 </xml>