在SPARQL中的构造函数中使用COUNT
我正在尝试编写一个旋转规则,该规则将计算传入引用的数量,并将该数量设置为属性值。例如,计算特定机器上发生的问题数量。因此,我需要计算类型为在SPARQL中的构造函数中使用COUNT,sparql,rdf,owl,triplestore,topbraid-composer,Sparql,Rdf,Owl,Triplestore,Topbraid Composer,我正在尝试编写一个旋转规则,该规则将计算传入引用的数量,并将该数量设置为属性值。例如,计算特定机器上发生的问题数量。因此,我需要计算类型为rdfs:occurrendon(域:问题,范围:机器)的传入引用的数量 提前谢谢你 仅允许,即您必须在WHERE子句中使用子SELECT查询: CONSTRUCT { ?machine rdfs:numberOfIssues ?n . } WHERE { { SELECT ?machine (COUNT(?r) AS ?n)
rdfs:occurrendon
(域:问题,范围:机器)的传入引用的数量
提前谢谢你 仅允许,即您必须在WHERE
子句中使用子SELECT
查询:
CONSTRUCT
{
?machine rdfs:numberOfIssues ?n .
}
WHERE
{ { SELECT ?machine (COUNT(?r) AS ?n)
WHERE
{ ?machine a owl:Machine .
?issue a owl:Issue ;
?r ?machine
}
GROUP BY ?machine
}
}
注意,对于您的域本体,您应该永远不要使用用户内置的名称空间/前缀(例如owl:
,rdfs:
,rdf:
,xsd:
,等等) 仅允许,即您必须在WHERE
子句中使用子SELECT
查询:
CONSTRUCT
{
?machine rdfs:numberOfIssues ?n .
}
WHERE
{ { SELECT ?machine (COUNT(?r) AS ?n)
WHERE
{ ?machine a owl:Machine .
?issue a owl:Issue ;
?r ?machine
}
GROUP BY ?machine
}
}
注意,对于您的域本体,您应该永远不要使用用户内置的名称空间/前缀(例如
owl:
,rdfs:
,rdf:
,xsd:
,等等) 我不明白你为什么在你自己的实体中使用rdfs和owl前缀。事实上,我不明白,我认为这会更容易阅读。我建议将你示例中的rdfs:
和owl:
前缀改为ex:
,我不明白你为什么在你自己的实体中使用rdfs和owl前缀。事实上,我不明白,我建议将示例中的rdfs:
和owl:
前缀更改为ex:
谢谢您的帮助和建议!谢谢你的帮助和建议!