Sta*_*ars 9 ruby metadata schema.org ruby-on-rails-4 json-ld
我想使用json ld设置schema.org元数据.例如,以下链接使用ghost并且它具有"application/ld + json"元数据. http://blog.ghost.org/distributed-team-tools/
我想为我的rails应用程序实现类似的功能.我应该如何实现它.这样做是否有一些宝石
谢谢!
有一个JSON-LD gem(http://rubygems.org/gems/json-ld),但它可能不是你想要的.请注意,JSON-LD的重点在于它只是JSON,在这种情况下使用schema.org上下文来解释值.假设您的数据在ActiveRecord模型中,您需要一种方法来确保记录属性对应于相应的schema.org属性.如果是这种情况,那么只需将您的模型序列化为JSON(#to_json)就可以获得最大的收益.剩下的是在增加@context
,@id
和@type
字段的JSON.
例如,假设您有一个用户模型,其序列化为如下所示:
{
"name": "Harry",
"email": "Harry@example.org"
}
Run Code Online (Sandbox Code Playgroud)
由于两个"名"和"电子邮件"属性http://schema.org/Person,你可以得到中途有通过简单地添加@context
和@type
如下:
{
"@context": "http://schema.org/",
"@type": "Person",
"name": "Harry",
"email": "Harry@example.org"
}
Run Code Online (Sandbox Code Playgroud)
假设您正在构建一个RESTful应用程序,最好给每个对象一个@id
,这对应于此人的资源URL.这可能如下所示:
{
"@context": "http://schema.org/",
"@id": "http://example.com/people/harry",
"@type": "Person",
"name": "Harry",
"email": "Harry@example.org"
}
Run Code Online (Sandbox Code Playgroud)
现在,如果您将http://example.com/people/harry检索为JSON(或JSON-LD),则可以返回该表示.
关于JSON-LD的另一个问题是它是"关联数据",因此包含对其他资源的引用对于允许它们的发现非常有用,就像你在HTML中所做的那样.schema.org文档包含大量示例,说明如何为它们定义的大多数类型生成不同类型的标记,包括JSON-LD.见http://schema.org/Person的一个例子,或http://schema.org/docs/full.html其完整的类型层次.
当您想要从其他来源(通常是某些RDF格式)生成此数据或解释您收到的数据时,JSON-LD gem会派上用场.您可以在http://json-ld.org/playground上进行试验.
您也可以使用带有type ="application/ld + json"的脚本标记在HTML中包含JSON-LD.如果您想了解数据的外观,可以在Google结构化数据测试工具或http://linter.structured-data.org/上进行测试.
归档时间: |
|
查看次数: |
3528 次 |
最近记录: |