[英]How to use SPARQL to query a ttl file?
我正在嘗試學習SPARQL,為此我需要對本地ttl文件執行查詢。 我已經對此進行了研究,每個響應都說要使用rdflib
,然后rdflib
運行查詢。
這是我正在使用的示例ttl文件
# filename: ex002.ttl
@prefix ab: <http://learningsparql.com/ns/addressbook#> .
ab:richard ab:homeTel "(229) 276-5135" .
ab:richard ab:email "richard49@hotmail.com" .
ab:cindy ab:homeTel "(245) 646-5488" .
ab:cindy ab:email "cindym@gmail.com" .
ab:craig ab:homeTel "(194) 966-1505" .
ab:craig ab:email "craigellis@yahoo.com" .
ab:craig ab:email "c.ellis@usairwaysgroup.com" .
現在應該正常工作的python代碼如下
filename = "C:/DataStuff/SemanticOntology/LearningSPARQLExamples/ex002.ttl"
import rdflib
g = rdflib.Graph()
result = g.parse(filename, format='ttl')
print(result)
query = """
SELECT * WHERE {
?s ?p ?o .
}
"""
g.query(query)
for stmt in g:
print(stmt)
不幸的是,每當它到達g.query(query)
我就會收到ModuleNotFoundError: No module named 'rdfextras'
好的沒問題。 因此,我去conda-forge進行安裝,它說當前渠道不提供該軟件包。
好吧,很奇怪 因此,我進行了一些研究,發現https://github.com/RDFLib/rdfextras ,它說它已停產,並且rdflib
>=4
不再需要它。 所以我檢查了rdflib
版本,它是4.2.2
。 因此很明顯有問題,因為它不需要rdfextras
。
所以兩個問題-
rdflib >=4
版本rdflib >=4
, rdflib >=4
? 提前致謝。
我很抱歉-我剛到家並重新運行了查詢,現在它似乎正在運行。 我不知道從現在到大約2小時前發生了什么變化
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.