2016-06-29 6 views
1

JSON-LDの場合、@typeはトップレベルだけでなく、contactPointプロパティにも表示されます。コンテキストがすでに提供されているのであれば、なぜ必要なのでしょうか?コンテキストの後にJSON-LDで型を指定する必要があるのはなぜですか?

<script type="application/ld+json"> 
    { "@context" : "http://schema.org", 
    "@type" : "Organization", 
    "url" : "http://www.your-company-site.com", 
    "contactPoint" : [ 
     { "@type" : "ContactPoint", 
     "telephone" : "+1-401-555-1212", 
     "contactType" : "customer service" 
     } 
    ] 
    } 
</script> 

は、パーサーはコンテキストと私たちは、組織で作業している最初の@typeラインから知っていない、とそう財産contactPointはそれにそのオブジェクトの種類を持っていることを意図していますか?それ以外の場合は、そのプロパティの名前をcontactに変更してから@typeを指定すると、そのプロパティを通知する必要がありますか?この例は私には重複しているようです。多分私はJSON-LDがここでどのように働いているかについて誤解しているかもしれません。

+0

あなたにとって冗長な部分は何ですか? 'contactPoint'プロパティの値が' ContactPoint'型であること(すなわち、なぜ '' @type ":" ContactPoint "'がその場合省略できなかったのか)? – unor

+0

はい。または、なぜ型が文脈から決定できないのか。 – Costa

答えて

2

Schema.org does not requireプロパティに値を設定できます。 の値がと表示されていますが、作成者はこれに従う必要はなく、単なる推奨事項です。

たとえば、contactPointプロパティの期待値は、ContactPointタイプのエンティティです。しかし、代わりに文字列またはURL値を使用することもできます(厳密にはThingアイテム、または他のタイプでも可能です)。

  • 値としていくつかのタイプのいずれかを期待する特性(例えば、itemOfferedがあるので、あなたは常に勧告に従うと予想されるタイプを使用している場合でも、それは、あなたが意味入力され、まだ必ずしも明らかではありませんProductまたはService
  • プロパティはSchema.orgの将来のバージョンでaddtionalの種類を期待することができ、そしてもはや財産の予想されるタイプがで削除される可能性がある1あなたは意味
  • 明確でないだろう期待してい将来のバージョンo f Schema.orgで公開されていますが、既に公開されている構造化データは、新しい期待タイプには意味がないかもしれません。
+0

Mmm ...このようなサウンドは、インターネットのウェブサイトやアプリで時間の経過とともに進化するように設計されています。それはいいね。 – Costa

関連する問題