4

我只是 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 查询

4

2 回答 2

4

In your SPARQL query you write rdfs:subClassof instead of rdfs:subClassOf ('o' instead of 'O'). Capitalisation matters, because the prefix notation is just shorthand for URIs and in URIs different characters (like lowercase instead of uppercase) make a different URI.

于 2013-03-04T22:02:29.833 回答
2

减少查询直到它产生一些东西,然后查看为什么您删除的部分与数据不匹配。

于 2013-02-24T17:48:46.713 回答