2017-08-21 10 views
2

:XMLスキーマでmodelReferenceは、異なるスキーマ間でマッピングするためにセマンティック注釈のために使用されます。LinkJSON Schemaのセマンティックアノテーション

私は同じ目的のためにJSON Schemaのためのセマンティック注釈を作成したいです。 JSON用のsawsdlのようなものはありますか?

そうでない場合は、idプロパティを使用できますか?私が知る限り、idプロパティはrelative( "$ id": "請求/住所")または絶対( "$ id": "#billingAddress")として使用できます。

私の場合、IDは、この例のようになります。
「$のID」:「オーダー/ hasBillingAddress /住所」

それとも例 「SemanticAnnotation」用のカスタムプロパティを作成することが可能です。「注文/ hasBillingAddress /住所 "?

私は仕様書を読みましたが、私が知る限り、どちらの方法も仕様書と矛盾しているようです。また、JSONスキーマバリデーターでも両方のオプションをチェックしましたが、これも問題はありませんでした。

答えて

1

JSONスキーマはまだセマンティックアノテーションをサポートしていませんが、an issue open for the ideaです。現時点では、誰も提案に取り組む時間はありませんが、特にJSON-LDと組み合わせて検討する価値のあるものです。問題にユースケースを自由に追加してください。

$idプロパティは、他の場所から参照できるようにURIを割り当てます。 "#billingAddress"フォームは、そのスキーマファイルに対してローカルなフラグメントURIを宣言しています( "#"はURIフラグメントシンタックスマーカーで、JSONスキーマ固有のものではありません)。

"請求/アドレス"フォームは、相対パスでURIを宣言しています。これは通常、元のファイル名とパスを対象とする参照が有効なままになるように、複数の論理スキーマを1つのファイルにまとめる場合にのみ行われます。非フラグメントの設定$id時間が$refの参照が解決されました。これはおそらくあなたが望むものではありません。

JSONスキーマのバリデータは理解できないキーワードを無視するので、最も簡単なことは独自の拡張キーワードを定義することだけかもしれません。それらは他のアプリケーションでは認識されないため、視聴者に依存していると思います。いくつかのバリデータープログラムは、カスタムキーワードのサポートを容易にします。

関連する問題