@id
是什么。来自apple.com的示例。 @id
实际代表什么。任何帮助都会很棒吗?<script type="application/ld+json">
{
"@context": "http://schema.org",
"@id": "http://www.apple.com/#organization",
"@type": "Organization",
"url": "http://www.apple.com/",
"logo": "https://www.apple.com/ac/structured-data/images/knowledge_graph_logo.png?201608191052",
"contactPoint": [
{
"@type": "ContactPoint",
"telephone": "+1-800-692-7753",
"contactType": "sales",
"areaServed": [ "US" ]
}
],
"sameAs": [
"http://www.wikidata.org/entity/Q312",
"https://www.youtube.com/user/Apple",
"https://www.linkedin.com/company/apple"
]
}
#1 楼
使用@id
关键字可以为节点提供URI。此URI标识节点。请参阅JSON-LD规范中的节点标识符。
(Microdata中的等效项是
itemid
属性,而RDFa Lite中的等效项是resource
属性。)为什么标识符有用?
您可以引用节点而不是重复该节点(请参见我的示例)。
其他作者可以(在外部站点上)做同样的事情:当他们使用您指定的URI时,很明显他们在谈论同一件事。
消费者可以了解到不同的节点在谈论同一件事。
它也是链接数据和语义网的核心概念之一。如果您对此有所关注,则可能需要使用区分实际事物和有关事物的页面的URI(请参阅我的解释)。
这是Apple在示例中所做的。 URI
http://www.apple.com/#organization
代表实际的组织,而不是有关该组织的页面(并且不是该页面的一部分)。这是一个哈希网址,是区分事物和事物页面的一种流行方法。如果您想在JSON-LD中说您喜欢Apple,则可以使用http://www.apple.com/#organization
来识别Apple。如果您改用http://www.apple.com/
,则它将是您喜欢的Apple主页。#2 楼
从Google Developers-数据类型-Local Business中的本地业务属性部分中读取以下链接,您可以:[...] ID应该是稳定的,并且会随着时间的推移而不变。 Google搜索将网址视为不透明的字符串,并且不一定是有效链接。如果公司有多个地点,请确保每个地点的@id都是唯一的。
@id适用于几乎所有对象
我希望我的回答帮助您:)
评论
试图理解您的最后一段,所以页面应该具有相同的'@id'和'url'值?我当时在想,如果我们提供“ url”,那么我们就可以拥有基于哈希的ID。这有助于使情况保持一致。
– Ethan Collins
19年5月5日在22:16
@EthanCollins:最好同时提供(@id和url),是的。对于页面,它们通常具有与值相同的URI;对于其他项目,它们通常将具有不同的URI作为值(事物的@id,有关事物的页面的url)。 -为了确保我们在同一页面上:使用基于哈希的ID,是指在链接数据的上下文中的哈希URL,而不是在单页应用程序/基于JavaScript的网站的上下文中,对吗?
–未成年
19年6月6日在14:11
感谢您的澄清。我还要看看您在答案中分享的其他有用链接,现在更加清楚了。 (回答您的最后一个查询,是的,我想表示哈希URI)。
– Ethan Collins
19年6月6日在16:57