我正在尝试使用Schema.org在JSON-LD中编码与网站相关的语义信息。
该网站非常基础:它包含主页,包含图像列表的画廊页面和图像详细信息页面。

从Schema.org网站上阅读不同的示例,并同时查看“入门”部分,很难理解每个页面中必须提供哪些信息。

为了澄清这个问题,我可以通过阅读Schema.org文档后推导出所需的信息来提供我要创建的代码片段。

在特定问题列表下方:


主页中提供的信息是否需要在所有其他页面中重复?在这种情况下,附加信息应如何编码(如何声明页面是ImageGalleryImageObject)?
如何将图像与URI匹配(在图像详细信息页面中)以在语义上将图像中的事物链接到现实世界中的事物(例如使用dbpedia.org/resource/URI)?




主页

{ "@context":"http://schema.org",

   "@type":"WebSite",
   "name":"Site name abc",
   "alternateName":"ABC",
   "description":"description",
   "keywords":"keywords",
   "inLanguage":"en",
   "url":"http://www.thewebsiteurl.com",
   "potentialAction":{
     "@type":"SearchAction",
     "target":"http://www.thewebsiteurl.com/find/{search_term_string}",
     "query-input":"required name=search_term_string"
   }
}


画廊页面

{  "@context":"http://schema.org",
   "@type":"ImageGallery",
   "description":"description",
   "keywords":"keywords",
   "associatedMedia":[
   {
       "@type":"ImageObject",
       "contentUrl": "http://...../image1URL.jpg",
   },
   {
           "@type":"ImageObject",
       "contentUrl": "http://...../image2URL.jpg",
   },
   .....
   ]
}


图像详细页面

{
  "@context": "http://schema.org",
  "@type": "ImageObject",
  "author":{
    "@type": "Person",
    "name":"abc"
  },
  "contentLocation":{
      "@type": "Place",
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": "[latitude]",
        "longitude": "[longitude]"
      },
      "name": "Place name"
  },
  "copyrightHolder":{
      "@type": "Organization",
      "email": "info@example.mail",
      "url" : "http://www.thewebsiteurl.com"
  },
  "contentUrl": "http://...../image1URL.jpg",
  "datePublished": "[date]",
  "description": "description",
  "keywords":"keywords",
  "name": "Image name",
  "exifData":[
  {
    "@type": "PropertyValue",
    "name": "Exposure Time",
    "value": "1/10 sec."
  },
  .....
  ]
}

最佳答案

主页中提供的信息是否需要在所有其他页面中重复?


使用语法Microdata和RDFa,通常可以标记页面上的可用内容。尽管JSON-LD的语法与它们不同(因为它没有标记,即,它与现有标记分离),但没有理由以不同的方式处理它。

如果您在主页,图库页面和详细信息页面上有关于特定图像的内容,则可以(并且我认为应该)在每个页面上提供有关该图像的结构化数据。

造成这种情况的原因之一是,消费者不一定会解析您的整个网站:


消费者可能会找到一个页面,寻找结构化数据,然后又消失了,而没有寻找网站的另一个页面。
消费者可能会找到一个页面,寻找结构化数据,对更多数据感兴趣,并遵循结构化数据中指定的链接(例如,作为属性值给出的URI)。


因此,理想情况下,只要有相关信息,就可以提供结构化数据(或参考网站其他位置提供的结构化数据)。


在这种情况下,附加信息应如何编码(如何声明页面是ImageGalleryImageObject)?


区分文档的类型(对于网页是WebPage或其子类型之一)和本文档中描述的事物的类型是有意义的。

因此,ImageGallery(这是WebPage的子类型)代表页面,而ImageObject代表可能是该页面一部分的图像。

如果可能(但通常不是),则应提供将所有提供的节点关联起来的属性。例如,使用hasPart / isPartOfmainEntity / mainEntityOfPage,或者使用author等属性。


如何将图像与URI匹配(在图像详细信息页面中)以在语义上将图像中的事物链接到现实世界中的事物(例如使用dbpedia.org/resource/URI)?


Schema.org的sameAs property可以用于此目的。但是您当然也可以使用其他词汇表中的属性,例如owl:sameAs

08-25 10:47
查看更多