web-dev-qa-db-ja.com

人のリストのためにJSON-LDを書く方法は?

私は、その人のメインページを開くそれぞれのリンクを持つ人のリストを含むページを持っています。

各リンクには、独自の構造化データが必要です。

私はJSON-LDを使用していますが、 例はMicrodata形式です 。 JSON-LD形式で作成するには、各URLの完全なスクリプトを作成する必要がありますか?

1つのURLのスクリプトは

  <script type="application/ld+json">
  {
  "@context": "http://schema.org",
  "@type": "Person",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Seattle",
    "addressRegion": "WA",
    "postalCode": "98052",
    "streetAddress": "20341 Whitworth Institute 405 N. Whitworth"
  },
  "colleague": [
    "http://www.xyz.edu/students/alicejones.html",
    "http://www.xyz.edu/students/bobsmith.html"
  ],
  "email": "mailto:[email protected]",
  "image": "janedoe.jpg",
  "jobTitle": "Professor",
  "name": "Jane Doe",
  "telephone": "(425) 123-4567",
  "url": "http://www.janedoe.com"
}
</script>

1ページに15人のリストがあるとします。これらの15個のスクリプトを別々に記述する必要がありますか、それともJSON-LDを記述する他の方法がありますか?

2
Siraj Alam

いくつかのオプションがあります:

  • トップレベルのアイテムとして
    (他の2つのオプションが使用できない場合にのみこれを使用します)
  • プロパティの値として
    (最適なオプションですが、Schema.orgがあなたのケースに適したタイプ/プロパティを提供する必要があります)
  • ItemListとして
    (2番目に優れたオプション。グループ化することが理にかなっていることが必要です)

トップレベルのアイテムとして

Personアイテムを最上位アイテムとして提供する(つまり、他のタイプのプロパティの値としてネストしない)場合は、 複数のscript要素を使用するか、@graphで1つのscript要素を使用します

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Person"
}
</script>

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Person"
}
</script>
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@graph": 
  [
    {
       "@type": "Person"
    },
    {
       "@type": "Person"
    }
  ]
}
</script>

プロパティの値として

Personアイテムを他のタイプのプロパティの値として提供する場合は、 値としての配列 を使用します。

例: Organization があり、 Person プロパティで使用されているemployeesを参照したい場合:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "employee":
  [
    {
      "@type": "Person"
    },
    {
      "@type": "Person"
    }
  ]
}
</script>

リストとして

Personアイテムをリストとして提供する場合は、 ItemList type を使用できます。

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "ItemList",
  "itemListElement": [
    {
      "@type": "Person"
    },
    {
      "@type": "Person"
    }
  ]
}
</script>
3
unor

リストにプロパティBreadcrumbListを適用できます。このようなもの:

{
 "@context": "http://schema.org",
 "@type": "BreadcrumbList", 
 "name": "Name of the list",
 "description": "Description of the list",
 "itemListElement":
 [
  {
   "@type": "ListItem",
   "position": 1,
   "item":
   {
    "@type": "Person",
    "@id": "https://example.com/person1",
    "name": "name of person1"
    }
  },
  {
   "@type": "ListItem",
  "position": 2,
  "item":
   {
     "@type": "Person",
    "@id": "https://example.com/person2",
     "name": "name of person2"
   }
  }
 ]
}
0
nikant25