如何使用Jekyll-RDF访问链接资源的属性



我正在将jekyll与jekyll-rdf扩展程序一起渲染一些页面,以获取RDF资源。我知道如何在模板中访问当前渲染资源的属性。但是现在,我想访问与当前渲染资源链接的资源的属性。所以说我想双跳。但是如何工作?

这是我的MWE

图:

@prefix ex: <http://example.org/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
ex:nabatz a foaf:Person ;
          foaf:nick "Nabatz" ;
          foaf:currentProject ex:project .
ex:project a foaf:Project ;
           foaf:name "A Project" .

模板:

---
---
<html>
 <body>
  <h1>{{page.rdf | rdf_property: "<http://xmlns.com/foaf/0.1/nick>"}}</h1>
  <dl>
   <dt>Current Project</dt>
   <dd>{{page.rdf | rdf_property: "<http://xmlns.com/foaf/0.1/currentProject>"}}</dd>
  </dl>
 </body>
</html>

输出:

<html>
 <body>
  <h1>Nabatz</h1>
  <dl>
   <dt>Current Project</dt>
   <dd>http://example.org/project</dd>
  </dl>
 </body>
</html>

我想要的:

<html>
 <body>
  <h1>Nabatz</h1>
  <dl>
   <dt>Current Project</dt>
   <dd>A Project</dd>
  </dl>
 </body>
</html>

有两个选择可以实现这一目标,具体取决于您想使用的链接资源。

选项1

仅链条 rdf_property过滤器:

{{page.rdf | rdf_property: "<http://xmlns.com/foaf/0.1/currentProject>" | rdf_property: "<http://xmlns.com/foaf/0.1/name>"}}

选项2

用链接资源节点分配一个变量:

{% assign node = pade.rdf | rdf_property: "<http://xmlns.com/foaf/0.1/currentProject>" %}
{{ node | rdf_property: "<http://xmlns.com/foaf/0.1/name>" }}

如果要输出链接资源的多个属性,则最好使用选项2,而选项1更紧凑。

最新更新