簡體   English   中英

指定類后,SPARQL查詢不推斷屬性

[英]SPARQL query not inferencing properties after class specified

我正在SPARQL上運行測試查詢以測試推理。 我的查詢如下:

    PREFIX eem: <http://purl.org/eem#>
    PREFIX ns: <http://purl.org/net/ns/>
    PREFIX sc_data: <http://purl.org/net/ns/sc_data/>
    PREFIX dbp: <http://dbpedia.org/resource/>
    PREFIX dbpprop: <http://dbpedia.org/property/>
    PREFIX ex: <http://www.example.org/rdf#>
    SELECT  ?roa
    WHERE {
    SERVICE <http://dbpedia.org/sparql>{
    ex:vaccine a dbp:Polio_vaccine.
    ex:vaccine dbpprop:routesOfAdministration ?roa.
}
    }

在snorql頁面嘗試時,此查詢沒有任何結果。 當我指定某種東西是小兒麻痹症疫苗時,它不應該自動繼承為疫苗指定的特性嗎? 我需要更改什么?

在原始查詢中, ex:vaccine是URI節點,是<http://www.example.org/rdf#vaccine>的縮寫。 這是非常不可能的DBpedia中包含有關它的任何信息。 盡管DBpedia端點可能(或可能不)包含從DBpedia數據中可以推斷出的信息,但它不會將SPARQL查詢視為部分斷言和部分查詢。

您的意思是說:“查找?roa的值,以使?roa是ex:vaccine的管理途徑,而ex:vaccine是dbp:Polio_vaccine的實例”。 ex:vaccine雖然是一個常數 ,所以有點像說:“找到10的因子,順便說一下,10是3和4的總和。” 但是,“ 10是3和4的和”並不在數據中,因此即使記錄了10的因數,也不會有任何匹配。最重要的是, dbp:Polio_vaccine是DBpedia不是類,因此不會有任何實例。

相反,您想詢問單個dbpedia:Polio_vaccinedbpprop:routesOfAdministation屬性的任何值。 您在這里需要的查詢是(我使用的是在公共端點http://dbpedia.org/sparql定義的前綴):

select ?routes where {
  dbpedia:Polio_vaccine dbpprop:routesOfAdministration ?routes
}

SPARQL結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM