Rdf 如何使类标签显示为类的列名?

Rdf 如何使类标签显示为类的列名?,rdf,sparql,Rdf,Sparql,SPARQL SELECT ?c0 ?l0 WHERE { ?c0 rdf:type <XXXX>. OPTIONAL { ?c0 rdfs:label ?l0. } } 选择?c0?l0 哪里 { ?c0 rdf:类型。 可选的 { ?c0 rdfs:标签?l0。 } } 显示两列c0和l0。是否可以只显示一列c0,但将?l0的内容作为?c0的标题?结果看起来像select?co as…如果我理解正确,您可以使用coalesce执行此操作,它返回其

SPARQL

SELECT ?c0 ?l0
WHERE 
{ 
  ?c0 rdf:type <XXXX>.
  OPTIONAL
  {
    ?c0 rdfs:label ?l0.
  }
}
选择?c0?l0
哪里
{ 
?c0 rdf:类型。
可选的
{
?c0 rdfs:标签?l0。
}
}

显示两列
c0
l0
。是否可以只显示一列
c0
,但将
?l0
的内容作为
?c0
的标题?结果看起来像select?co as…

如果我理解正确,您可以使用coalesce执行此操作,它返回其第一个非错误绑定参数。首先,这里有一些数据,其中有一个类:dog带有标签“dog”,还有一个类:cat没有标签:

@前缀rdfs:。
@前缀:。
:dog a rdfs:Class;
rdfs:标签为“狗”。
:类别a rdfs:类别。
以下是查询和结果:

前缀rdfs:
选择(合并(?标签,?类别)作为co),其中{
?a级rdfs:a级
可选的{
?类别rdfs:标签?标签
}
}
----------------------------
|公司|
============================
|  |
|“狗”|
----------------------------

如果
?l0有许多值,该怎么办?按照您编写查询的方式,每个
?c0
可能至少有一个不同的
?l0
值。可能是相关的。
select?co{x a.可选的{x rdfs:label?co}
有什么问题吗?听起来你只是想(i)为标签使用不同的变量(简单)和(ii)不选择绑定到东西的变量(简单)。这个问题还有别的原因吗?