我想使用JSON ld设置 schema.org元数据。例如,以下链接使用ghost,它具有“application/ld+json”元数据。http://blog.ghost.org/distributed-team-tools/
我想为我的Rails应用程序实现类似的功能。我应该如何实现它。是否有一些gem来实现这一点等。
谢谢你,谢谢
我想使用JSON ld设置 schema.org元数据。例如,以下链接使用ghost,它具有“application/ld+json”元数据。http://blog.ghost.org/distributed-team-tools/
我想为我的Rails应用程序实现类似的功能。我应该如何实现它。是否有一些gem来实现这一点等。
谢谢你,谢谢
3条答案
按热度按时间mzsu5hc01#
有一个JSON-LD gem(http://rubygems.org/gems/json-ld),但它可能不是您要找的特定对象。请注意,JSON-LD的要点是它只是JSON,在本例中使用schema.org上下文来解释值。假设您的数据在ActiveRecord模型中,您将需要一种方法来确保记录属性对应于适当的schema.org属性。如果是这种情况,然后,只需将模型序列化为JSON(#to_json)即可完成大部分工作。剩下的就是将
@context
、@id
和@type
字段添加到JSON中。例如,假设你有一个User模型,它被序列化为如下内容:
字符串
作为http://schema.org/Person的“name”和“email”属性,您只需添加
@context
和@type
即可,如下所示:型
假设您正在构建一个RESTful应用程序,最好为每个对象给予一个
@id
,它对应于此人的资源URL。这可能类似于以下内容:型
现在,如果您将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/上测试它。
cetgtptt2#
字符串
我没有使用
:javascript
过滤器http://haml.info/docs/yardoc/file.REFERENCE.html#filters,而是使用了%script
标记,它允许我通过使用attribute method
(将类型定义为application/ld+json
)来定义其type
,http://haml.info/docs/yardoc/file.REFERENCE.html#attribute-methods:plain
过滤器,它不解析过滤后的文本。这对于没有HTML标记的大块文本很有用,当你http://haml.info/docs/yardoc/file.REFERENCE.html#plain-filterqncylg1j3#
如果你使用Rails 7+,请使用this gem。它可以很容易地将json+ld结构模式包含到Rails应用程序中。
PS:我是作者