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

时间:2018-03-29 15:42:00

标签: jekyll jekyll-extensions

我使用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 个答案:

答案 0 :(得分:0)

有两种方法可以实现这一目标,具体取决于您想要对链接资源做什么。

选项1

只需链接{{page.rdf | rdf_property: "<http://xmlns.com/foaf/0.1/currentProject>" | rdf_property: "<http://xmlns.com/foaf/0.1/name>"}} 过滤器:

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

选项2

使用链接的资源节点分配变量:

p.multi_line(xs=[toy_df.index.values]*numlines,
             ys=[toy_df[name].values for name in toy_df],
             line_color=mypalette,
             line_width=5,
             line_alpha=[1,0,1]) # hides second line

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