根据捕获的URI REF打印更宽和更窄的概念



我很难根据我的URIRef(即SPAQRL查询的输出(打印更宽和更窄的SKOS概念。我想根据捕获的URI REF(即生物质(打印更宽和更窄的概念。我正在解析的文件不包含Broader和Narrowers概念。我不知道在对它们运行查询之前是否需要手动将它们添加到文件中。

我已经看到类似的问题,如skos广义逆和狭义逆不起作用,但找不到解决方案。

import rdflib
g = rdflib.Graph()
result = g.parse("C://Users/support/Documents/Re.txt", format=("turtle"))
qres = g.query(
"""
prefix skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT  *
WHERE { ?s  skos:prefLabel  "Biomass"} 

""")
for row in qres: print(row)

查询的输出是

for row in qres: print(row)
(rdflib.term.URIRef('http://aims.fao.org/aos/agrovoc/c_926'),) 

我尝试过嵌套SELECT查询,但它不起作用。

我的查询

qres = g.query(
"""
prefix skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT *
WHERE { ?s  skos:broader  ?o . { 


SELECT  ?s
WHERE { ?s  skos:prefLabel  "Biomass" .}  

}     

""")

for row in qres: print(row)

如果你只是在为查询而挣扎,那么我认为你把它弄得过于复杂了

qres = g.query(
"""
prefix skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT * WHERE { 
?s  skos:broader  ?o ; skos:prefLabel  "Biomass" . }   

""")

最新更新