SPARQL查询,用于从许多图中的一个图中识别谓词

SPARQL查询,用于从许多图中的一个图中识别谓词,sparql,rdflib,Sparql,Rdflib,通过将许多本体组合在一起,我创建了一个本体 我想使用SPARQL从组本体中识别一个本体中的所有中间术语关系 以下方法只会产生一个pyparsing错误 如果删除sudo:前缀,此查询将返回所有三元组。您可以检查该关系是否以名称空间开头,并带有CONTAINS 你也可以试试STRSTARTS 看@大角星离我们很近 以下几点对我有用。必须使用STR将?v声明为字符串。建议使用语法 qres = g.query( """ SELECT DISTINCT ?v WHERE { ?s

通过将许多本体组合在一起,我创建了一个本体

我想使用SPARQL从组本体中识别一个本体中的所有中间术语关系

以下方法只会产生一个pyparsing错误


如果删除sudo:前缀,此查询将返回所有三元组。

您可以检查该关系是否以名称空间开头,并带有CONTAINS

你也可以试试STRSTARTS

@大角星离我们很近

以下几点对我有用。必须使用STR将?v声明为字符串。建议使用语法

qres = g.query(
""" SELECT DISTINCT ?v
    WHERE {
      ?s ?v ?o . 
      FILTER CONTAINS(STR(?v), "sudo")
   }""")
对于QRE中的行:
打印行

这将返回一个空列表。
SELECT ?v
WHERE {
  ?s ?v ?o.
  FILTER CONTAINS(?v, "http://purl.url/sudo/ontology#")
}
qres = g.query(
""" SELECT DISTINCT ?v
    WHERE {
      ?s ?v ?o . 
      FILTER CONTAINS(STR(?v), "sudo")
   }""")