Rdf 如何使类标签显示为类的列名?
SPARQLRdf 如何使类标签显示为类的列名?,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执行此操作,它返回其
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)不选择绑定到东西的变量(简单)。这个问题还有别的原因吗?