获取我的披萨名称的SPARQL查询

时间:2013-02-24 15:01:19

标签: rdf sparql owl protege topbraid-composer

我只是SPARQL的初学者,可以编写一些基本的查询。我有一个披萨本体,其中有一个披萨的属性如下:

rdf:subClassOf NamedPizza

hasTopping only (MozzarellaTopping
              or PeperoniSausageTopping
              or TomatoTopping)

hasTopping some MozzarellaTopping

hasTopping some PeperoniSausageTopping

hasTopping some TomatoTopping

我写了以下查询,但没有结果。

SELECT * WHERE
{
  ?pizza rdfs:subClassof [
    owl:onProperty :hasTopping;
    owl:someValuesFrom :MozzarellaTopping ] .
  ?pizza rdfs:subClassof [
    owl:onProperty :hasTopping;
    owl:someValuesFrom :PeperonSausageTopping ] .
  ?pizza rdfs:subClassof [
    owl:onProperty :hasTopping;
    owl:someValuesFrom :TomatoTopping ] .
}

获取此披萨名称的SPARQL查询是什么?

我正在使用Protege 4.2以及TopBraid来运行SPARQL查询

2 个答案:

答案 0 :(得分:4)

在您的SPARQL查询中,您编写rdfs:subClassof而不是rdfs:subClassOf('o'而不是'O')。资本化很重要,因为前缀表示法只是URI的缩写,而在URI中,不同的字符(如小写而不是大写)会产生不同的URI。

答案 1 :(得分:2)

将查询向下剪切直到它产生某些东西,然后查看为什么删除的部分与数据不匹配。