我正在尝试使用Schema.org在JSON-LD中编码与网站相关的语义信息。 该网站非常基本:它包含主页,包含图像列表的图库页面和图像详细信息页面。
阅读Schema.org网站上的不同示例,并查看“入门”部分,了解每个页面中必须提供哪些信息并不容易。
为了澄清这个问题,我可以通过在阅读Schema.org文档后推断出所需的信息,提供我正在尝试创建的代码片段。
在具体问题列表下方:
ImageGallery
或ImageObject
)?主页
{ "@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"
}
}
GALLERY PAGE
{ "@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."
},
.....
]
}
答案 0 :(得分:1)
主页中提供的信息是否需要在所有其他页面中重复?
使用Microdata和RDFa语法,您通常会标记页面上可用的内容。虽然JSON-LD的语法与它们不同(因为它不是标记,即它与现有标记分离),但没有理由以不同的方式处理它。
如果您在主页,图库页面和详细信息页面上有关于某个图像的内容,您可以(并且在我看来应该)在每个页面上提供有关它的结构化数据。
这样做的一个原因是消费者不一定会解析整个网站:
理想情况下,无论何处相关,都要提供结构化数据(或在您网站上其他地方提供的参考结构化数据)。
在这种情况下,如何编码附加信息(如何声明页面是
ImageGallery
或ImageObject
)?
区分文档的类型(在网页的情况下,WebPage
或其中一个子类型)和本文档中描述的事物的类型是有意义的。
因此ImageGallery
(WebPage
的子类型)代表页面,而ImageObject
代表可能属于此页面的图像。
如果可能(但通常不是),您应该提供将所有提供的节点放在关系中的属性。例如,hasPart
/ isPartOf
,mainEntity
/ mainEntityOfPage
,或者author
等属性
如何匹配(在图像详细信息页面中)带有URI的图像,以便将图像中的东西语义链接到现实世界中(例如使用dbpedia.org/resource/URI)?
Schema.org的sameAs
property可用于此目的。但您当然也可以使用其他词汇表中的属性,例如owl:sameAs
。