如何将类标签显示为类的列名称?
问题描述:
的SPARQL如何将类标签显示为类的列名称?
SELECT ?c0 ?l0
WHERE
{
?c0 rdf:type <XXXX>.
OPTIONAL
{
?c0 rdfs:label ?l0.
}
}
示出了两列c0
和l0
。任何方式只显示一列c0
,但?l0
的内容作为?c0
的标题?其结果会是什么样子选择?Co为 ...
答
如果我理解正确的话,你可以用聚结,它返回它的第一个非误差界争论做到这一点。首先,这里的一些数据,其中有一类:狗与标签“狗”,和一类:猫它没有标签:
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix : <http://example.org/> .
:dog a rdfs:Class ;
rdfs:label "Dog" .
:cat a rdfs:Class .
下面是查询和结果:
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select (coalesce(?label,?class) as ?co) where {
?class a rdfs:Class
optional {
?class rdfs:label ?label
}
}
----------------------------
| co |
============================
| <http://example.org/cat> |
| "Dog" |
----------------------------
如果'?l0'有很多值会发生什么?您编写查询的方式,每个'?c0'可能至少有一个不同的'?l0'值。 – 2014-09-30 07:01:49
可能相关[answers.semanticweb.com上的问题](http://answers.semanticweb.com/questions/15445/how-to-set-the-label-of-a-column-nameheader-as-in-sparql )。 – 2014-09-30 07:26:28
'select?co {?x a。可选{?x rdfs:label?co}}'?这听起来像你只是想(i)为标签使用不同的变量(简单)和(ii)不选择绑定到事物(易)的变量。这个问题还有别的吗? –
2014-09-30 11:39:32