このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

ハイパースキーマ の検索結果:

ハイパーバリデーションに向けて

…え込んでいました。 ハイパースキーマについて再び考えよう、っと ハイパースキーマまでの道 それから紆余曲折、いろいろと変化がありましたが、ハイパーリンクを合理的に扱う技術的なピースは揃ったと感じています。当初は、JSONハイパースキーマ仕様を使おうとしていたのですが、JSONハイパースキーマは僕の要求に応えるものではありませんでした。結局は自前の仕様とあいなりました。可視化すれば分かりやすいハイパースキーマとは、ハイパーリンク構造とその制約を定義・記述するものです。Catyの…

データの部分構造とパート

「ハイパースキーマまでの道」に書いた予定に従って、JSON向けのシンプルセレクターの次はパートという概念を定義します。内容: プロパティ/項目からパートへ パートの例 パートのドメイン型とコドメイン型 パートの利用例 BNFによるパート定義の構文 パートに関する制約と代数構造 その他のこと プロパティ/項目からパートへパートとは、“オブジェクトのプロパティ”や“配列の項目”を拡張した概念です。最初にプロパティと項目について復習しておきます。xが、JavaScriptやJSON…

JSON向けのシンプルセレクター

まっとうなハイパースキーマがないことはシリアスな問題なんだよなー。わしゃ困るわ、フントに。ハイパースキーマに向けて; まずはセレクター。JSONデータが与えられたとき、その部分構造の集合を取り出す(セレクトする)式があると便利です(つうか、必要なんだけど、今)。CSSのセレクターやXPathのパターンのようなものです。もちろん、JSONPathをはじめとして既にいくつもの仕様&実装が存在します。しかし、どうもオーバースペックです。もっと単純なJSON向けのセレクターを定義する…

正月のあいだの宿題

…hiyama/20101230/1293682058)では: クリスマスにトポスを勉強しなかった人は正月にでも勉強したほうがいいのでしょうかね。 そして、「ハイパースキーマまでの道」(http://d.hatena.ne.jp/m-hiyama/20110102/1293951456)では: ともかく、セレクター式とパートをさっさと定義するべ、お正月のあいだに(って、いつまで?)。 次男は、あと「書初め」をすれば冬休みの宿題は終わるとか言ってるが、僕の宿題は終わるのだろうか?

ハイパースキーマまでの道

…でとうございます。「ハイパースキーマについて再び考えよう、っと」という次第で、年末年始も、ナントハナシにJSONハイパースキーマについて考えていました。ハイパースキーマが必要なのは、Webサービスの状態遷移をちゃんと記述するためです。目標から逆順に、必要なビルディングブロックをたどってみると: Webサービスの(クライアント側)状態遷移を記述するには、ハイパースキーマが必要である。 ハイパースキーマにはトリガー型とトリガー定義が必要である。 トリガー型の定義には、型コレクショ…

ハイパースキーマについて再び考えよう、っと

…JSONスキーマの「ハイパースキーマ」という仕様案はあるにはあるのですが、2010年4月の段階ではイマイチでした。 JSONだってハイパーメディア -- JSONハイパースキーマ仕様をなんとかしたい JSONスキーマ仕様は現在ドラフト第3版となり、仕様としての精度は上がってきてます。 A JSON Media Type for Describing the Structure and Meaning of JSON Documents 例えば、以前の minimumCanEq…

状態遷移指向Webサービス設計の課題:可視化したってダメみたい

…、“ハイパー型”が“ハイパースキーマ”で定義され、“ハイパーバリデータ”でチェックされないとやってられない。「ハイパー型システムが必要だなー、欲しいなー」と、僕は切実に思っています。「ハイパーリンクはホントウに難しい」より引用: ハイパーオブジェクトとトリガーという概念は、単なる雰囲気や比喩としてだけ語っていてはダメなんです。ソフトウェアにも人間にも明白に分かる記述が必要です。 おおよその枠組みは「Webサービスの設計: Webフローの図示法を再考する」で触れたようなモノでい…

ハイパーリンクはホントウに難しい

…の仕様であるJSONハイパースキーマを調べました。そのことは「JSONだってハイパーメディア -- JSONハイパースキーマ仕様をなんとかしたい」に書いてあります。上記の記事で書いたことは、要するに「ハイパーリンクを表すデータ」という型を、型システムに入れるという話です。reference<T> がT型データへの参照型です。実例を挙げると次のようですね。 /** hCardAdr型の定義 * microformats が定義している住所型 */ type hCardAdr =…

Webサービスの設計: ハイパーオブジェクトとトリガー

…ィア -- JSONハイパースキーマ仕様をなんとかしたい」も参照。)あえてトリガーと呼ぶ理由を述べておきます; 本来のハイパーリンクは、リソース間の関係を表すものです。3つ以上のリソースが関与する関係でもかまわないし、方向性を持たなくてもかまいません。しかし現実には、「2つのリソースの間の方向を持つ関係」をインライン方式(どちらかのリソースにリンク記述を埋め込む方式)で表すリンクしか使われていません。それと、form要素も仲間に入れると「二者間の関係」という解釈は苦しくなりま…

Webサービスを設計するための単純明快な方法

…生まれたのがJSONハイパースキーマ仕様です(うまくいくとは思えないが)。トリガー、アクション、バインディング状態を表す白いマルからリクエストの矢印を引くとき、矢印の根元に横棒を引きました。この横棒を僕はトリガーと呼んでいます。トリガーは、有り体に言ってハイパーオブジェクトのなかに含まれハイパーリンクのことです*2。同義語を増やすのは好ましくないのですが、単にリンクで「繋がっている」だけではなくて、「引き金を引く」、「キッカケを作る」という意味を持たせたかったのです。では、ト…

JSONだってハイパーメディア -- JSONハイパースキーマ仕様をなんとかしたい

JSONハイパースキーマという仕様があります。 http://tools.ietf.org/html/draft-zyp-json-schema-01#section-6 この仕様の動機や目的に、僕は強い共感をおぼえます。欲しかったんですよ! こういう機能。だけど、JSONハイパースキーマ仕様はダメです。どこがどうダメかを解説するのも建設的でないのでしません。このままでは、ちょっと使えそうにありません >JSONハイパースキーマ仕様。そこで、できるだけもとの仕様を尊重・保存し…

最近のJSONスキーマを解説します

…て、一番大きな変化はハイパースキーマ(hyper schema)と呼ばれる仕様が加わったことです。ハイパースキーマは、JSONデータをハイパーメディアと見なすための仕様です。個人的には欲しかった機能ですが、ちょっと「こりゃダメかも感」がただよっています。ハイパースキーマはいずれ話題にすることがあるかも知れませんが、今日の話は従来からあったコアスキーマ仕様に限定します。この記事では、現状のJSONコアスキーマ仕様に基づき、スキーマの書き方を解説します。なお、我々のCatyスキー…