结构化数据>微数据和Json-LD>实体ID>片段标识符

待定

我想知道使用片段标识符格式引用实体是否更好/更合适-基本上是通过在名称之前插入一个哈希

[url] + # + [name] => http://example.com/page/#webPage

编辑:

在得到来自@Unor的慷慨回答之后,我添加了此编辑内容,以尝试限制查询范围并阐明我要解决的主要问题。我还删除了大部分原始问题(约95%)(事后看来),这有损于我:1.我的核心问题;2.对未来读者的好处。

简而言之,这是我的问题:

在微数据的itemid和json-ld的@id值的开头手动输入哈希的做法是否有效?

这是我的问题,更详细地表达:

我可以在微数据的itemid值和json-ld的@id值中插入HASH符号(#),以正确使用片段标识符来创建有效的结果URI吗?

因此,如果这是在网页上:

<div itemscope itemtype="http://www.schema.org/Person" itemid="#joe"></div>

或者,如果这也在网页上:

{"@context":"http://schema.org",
"@type":"Person",
"@id":"#Joe"}

我了解他们会读成这样的uri(假设消费者的结构与Google的结构化数据测试工具一样):

http://www.example.com/page#joe

那是uri:

  1. 有效的uri;

  2. 片段标识符(HASH)是否正确?

允许在请求URI时检索有关实体的描述是一个好习惯(请参阅语义Web的酷URI:1.在Web上。)。

通过使用哈希URI,您可以免费获得以下功能:

  • http://example.com/flower 代表关于花的文件
  • http://example.com/flower#this 代表花
  • →检索时http://example.com/flower#this,您将获得有关的文档

通过使用Slash URI,您必须自己实现重定向(状态码为303):

  • http://example.com/flower 代表关于花的文件
  • http://example.com/flower/this 代表花
  • →检索时http://example.com/flower/this,您将303重定向到有关的URI 请参阅示例

因此,在不了解您的后端的更多信息的情况下,我建议您使用哈希URI,因为它通常更易于设置。

(我不确定您对“网页实体”的确切含义是什么,只是为了确保:哈希URI应该用于“实际对象”,而不用于文档。)


编辑(针对您的更新问题):

是的,您可以通过仅指定片段组件(以开头)itemid@id示例)中提供哈希URI #

因此,在具有URL的文档上http://example.com/foobar,这四个语句生成相同的Hash URI(http://example.com/foobar#this):

<article itemscope itemtype="http://voc.example.net/Example" itemid="#this">
</article>

<article itemscope itemtype="http://voc.example.net/Example" itemid="http://example.com/foobar#this">
</article>

<script type="application/ld+json">
{
  "@context": "http://voc.example.net/",
  "@type": "Example",
  "@id": "#this" 
}
</script>

<script type="application/ld+json">
{
  "@context": "http://voc.example.net/",
  "@type": "Example",
  "@id": "http://example.com/foobar#this" 
}
</script>

(是的,您的示例URI有效;这是片段组件可能包含的字符。)

笔记:

  • 该片段区分大小写,因此您itemid="#joe""@id":"#Joe"解析为不同的URI(jvs J.)。
  • 当不指定绝对的哈希URI时,必须确保当前文档的URL是规范的。例如,尾部的斜杠很重要(/page/#joevs. /page#joe);查询组件很重要(该页面/page?foo=bar将创建Hash URI /page?foo=bar#joe,而不是/page#joe);主持人是否www.重要;URI方案很重要(httpvs. https);等等

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

架构SiteNavigationElement作为JSON-LD结构化数据

ASP C#中的结构化数据JSON ld

@id参考后面的JSON-LD的结构化数据测试工具–可以按预期工作吗?

从非结构化数据中提取名称实体

Google无法使用相同的URI ID在同一页面中正确合并微数据和json + ld

什么样的JSON-LD结构化数据可用于多段落,多图像博客文章?

结构化数据测试工具显示JSON-LD语法错误:“期望值,对象或数组”

如何在需要等待内容加载的动态页面上使用JSON-LD添加结构化数据?

JSON-LD和微数据在同一页面上?

混合使用JSON.LD CollectionPage和Schema.org的微数据“ hasPart”

使用标识符转置数据

带标识符的表数据导出

Symfony2表单-扁平实体的结构化数据

对象标识符和数据库中的记录ID有什么区别?

Cassandra和非结构化数据

Pyspark分组和结构化数据

微数据,RDFa或JSON-LD适当或最佳用法?

微数据还是JSON-LD?我很困惑

JSON-结构化数据

具有 lld、ld 和 d 类型标识符的 int 变量的 printf

查找维基数据标识符(属性和词素)

使用模型和片段标识符进行重定向

使用JSON数据的For Loop返回意外的标识符

反应解析具有多字标识符的 JSON 数据

结构化数据:将JSON与微数据混合会导致错误

如何嵌套JSON-LD或如何将微数据转换为JSON-LD?

从std :: thread :: id结构检索Windows线程标识符

读取非结构化数据熊猫

分离动态结构化数据