「Data model」カテゴリーアーカイブ

CBOR diagnostic utilities

CBORの記述の診断の正確性を確認するツールが存在する。
https://github.com/cabo/cbor-diag

私自身はCBORのユーザではまだないのであるが、本ツールを使うと、JSON schemaのチェックに利用することもできる。
本ツールの機能として、JSON schemaをCBORに変換する、もしくはその逆返還をすることができるため、その際のエラーの有無によりJSON schemaの修正を実施することができる。

https://github.com/cabo/cbor-diag

ネットワークトポロジを表現する方法: 隣接行列

ネットワークの構造を示すものがネットワークトポロジであるが、これを数式化できれば、コンピュータで扱いやすくなる。その数式化の手法として、ここでは隣接行列、ラプラシアン行列、そしてTotal Accessibility Matrixというものが存在する。以下、そのそれぞれについて簡単に説明する。

1. 隣接行列

n個のノードを持つネットワークGは、n x nの隣接行列Aで表され、その要素Ai;j (1 <= i; j <= n)は、以下のように表される。

Ai;j = 1 ( i link to j) OR 0 (otherwise)

隣接行列があれば、例えば、ノード iの持つリンク数の合計はすべてのj値に対するAi;jの値の総和にて表される。

2. ラプラシアン行列

次元ベクトルから隣接行列を減算することで、ラプラシアン行列Lを作成することができる。
ラプラシアン行列が手に入ると、例えば、その固有値を導出し、その値が0となる固有値の個数をカウントすることで、分割で切るネットワーク数を知ることができる。

3. Total Accessibility Matrix

ネットワークにおける各ノードに対するアクセシビリティを算出するためのパラメータがTotal Accessibility Matrix。この値が高いほど、アクセシビリティが高いノードとなる。

RELAX NGというXMLスキーマ言語

XMLの構文を定義するものには、W3CのXML schemaが存在するが、このほかにも、時期を同じくしてOASISが策定したRELAX NG (リラクシングと読む)が存在する。これは、XMLに準拠したスキーマと、XMLに準拠しないスキーマ(RELAX NG Compact schema)を定義しており、特に後者は短縮構文といわれている。俺はW3CのXML schemaに既に慣れているので特にXML schemaに文句はないが、そうでなければ、このRELAX NG Compact schemaはよいかもしれない。

https://ja.wikipedia.org/wiki/RELAX_NG