如何使用 Jekyll-RDF 访问链接资源的 属性
How to Access a Property of a Linked Resource with Jekyll-RDF
我使用带有 Jekyll-RDF 扩展的 Jekyll 为 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 更紧凑。
我使用带有 Jekyll-RDF 扩展的 Jekyll 为 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 更紧凑。