Select Sparql只选择类的一个标签和注释

Select Sparql只选择类的一个标签和注释,select,uri,sparql,semantic-web,Select,Uri,Sparql,Semantic Web,我正在尝试选择一个标签和类的注释,但GroupBy没有按预期工作。下面的查询是select的一个示例 SELECT ?class ?label ?comment WHERE { {SELECT DISTINCT ?class WHERE { {?uri rdf:type ?class}UNION {?class rdf:type owl:Class} UNION {?class rdf:type rdfs:Class} }OFFSET 0 LIMIT 100} .optional{?cl

我正在尝试选择一个标签和类的注释,但GroupBy没有按预期工作。下面的查询是select的一个示例

SELECT ?class ?label ?comment WHERE
{

  {SELECT DISTINCT ?class WHERE { {?uri rdf:type ?class}UNION {?class rdf:type owl:Class} UNION {?class rdf:type rdfs:Class} }OFFSET 0 LIMIT 100}

.optional{?class rdfs:label ?label}

.optional{?class rdfs:comment ?comment}

}GROUP BY ?class
目标是让每个类uri都有一个标签和注释 但我得到的结果如下:

http://dbpedia.org/ontology/Activity    "attività"@it   
http://dbpedia.org/ontology/Activity    "活動"@ja

有什么想法吗?

您的查询实际上是非法的-它在外部选择中使用非聚合、非组键

如果您认为可能有多个标签或注释,则需要使用“示例”从组中选择一个(随机)项目

选择类别(样本(?labelX)作为标签)(样本(?commentX)作为注释),其中
{
选择不同的?类{
{?uri rdf:type?class}并集
{?类rdf:type owl:class}并集
{?类rdf:type rdfs:class}
}限制100
可选{类rdfs:label?labelX}
可选的{?类rdfs:comment?commentX}
}分组

谢谢。您的答案非常适合sparql 1.1。另一方面,查询在DBpedia Sparql端点上不起作用,因为它们不支持“SAMPLE”命令,而且Virtuoso也不支持所有Sparql 1.1。sparql 1.0是否有可能的替代解决方案?感谢您的协调。@AndyS此查询也是非法的,因为子选择项周围缺少大括号。@vaggeliskls这不是真的,Virtuoso 7.x支持SPARQL 1.1,因此也支持SAMPLE关键字。你们都是对的。这是我的错。我试过了。然而,当我测试的结果上的结果不是预期的。它提供一个uri,其中包含uri的所有标签和注释,而不是每个类的唯一标签和注释。如果我做错了什么,请告诉我。再次感谢