我正在将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更紧凑。