SPARQL-编写查询以获取引用DBpedia本体的URI

SPARQL-编写查询以获取引用DBpedia本体的URI,sparql,dbpedia,Sparql,Dbpedia,我当前的查询如下所示: SELECT DISTINCT ?pred WHERE { ?pred a rdf:Property } ORDER BY ?pred 它返回像and这样的谓词。我如何修改我的查询以获得仅带有前缀的结果?@AKSW在评论中提供了一种可能的解决方案,它确实可以满足您的需要- SELECT ?pred WHERE { VALUES ?type {owl:ObjectProperty owl:DatatypeProperty } ?pred a ?type

我当前的查询如下所示:

SELECT DISTINCT ?pred WHERE {
  ?pred a rdf:Property
}
ORDER BY ?pred

它返回像and这样的谓词。我如何修改我的查询以获得仅带有前缀的结果?

@AKSW在评论中提供了一种可能的解决方案,它确实可以满足您的需要-

SELECT ?pred 
WHERE
 { VALUES ?type {owl:ObjectProperty owl:DatatypeProperty } 
   ?pred a ?type
 }
ORDER BY ?pred
SELECT ?pred 
WHERE
 { 
   ?pred a rdf:Property
   FILTER ( REGEX ( STR (?pred), "http://dbpedia.org/ontology/", "i" ) )
 }
ORDER BY ?pred 
也就是说,你的问题在某种程度上是具体的,上面没有回答,所以这可能是你想要的-

SELECT ?pred 
WHERE
 { VALUES ?type {owl:ObjectProperty owl:DatatypeProperty } 
   ?pred a ?type
 }
ORDER BY ?pred
SELECT ?pred 
WHERE
 { 
   ?pred a rdf:Property
   FILTER ( REGEX ( STR (?pred), "http://dbpedia.org/ontology/", "i" ) )
 }
ORDER BY ?pred 

@AKSW在评论中提供了一个可能的解决方案,它确实可以满足您的需求-

SELECT ?pred 
WHERE
 { VALUES ?type {owl:ObjectProperty owl:DatatypeProperty } 
   ?pred a ?type
 }
ORDER BY ?pred
SELECT ?pred 
WHERE
 { 
   ?pred a rdf:Property
   FILTER ( REGEX ( STR (?pred), "http://dbpedia.org/ontology/", "i" ) )
 }
ORDER BY ?pred 
也就是说,你的问题在某种程度上是具体的,上面没有回答,所以这可能是你想要的-

SELECT ?pred 
WHERE
 { VALUES ?type {owl:ObjectProperty owl:DatatypeProperty } 
   ?pred a ?type
 }
ORDER BY ?pred
SELECT ?pred 
WHERE
 { 
   ?pred a rdf:Property
   FILTER ( REGEX ( STR (?pred), "http://dbpedia.org/ontology/", "i" ) )
 }
ORDER BY ?pred 

选择?pred WHERE{VALUES?type{owl:ObjectProperty owl:DatatypeProperty}?pred a?type}ORDER BY?pred此查询返回e。Ghttp://www.wikidata.org/entity/P102s 今天昨天不是这样的。@StanislavKralin哦,好的。有一段时间没有接触DBpedia,也不知道他们加载了Wikidata模式。Thank.SELECT?pred WHERE{VALUES?type{owl:ObjectProperty owl:DatatypeProperty}?pred a?type}ORDER BY?pred此查询返回e。Ghttp://www.wikidata.org/entity/P102s 今天昨天不是这样的。@StanislavKralin哦,好的。有一段时间没有接触DBpedia,也不知道他们加载了Wikidata模式。谢谢。我甚至会选择函数来进行名称空间比较——我知道一些三元组存储可能会使用它进行更有效的字符串检查,可能没有一个会这样做。关于我的建议,这将涵盖所有基于映射的属性,即具有http://dbpedia.org/ontology/As 在2018年11月10日,人们还可以尝试选择DISTINCT?pred{pred a rdf:Property。?pred rdfs:isDefinedBy}或甚至从{pred a rdf:Property}中选择DISTINCT?pred@StanislavKralin现在有新版本了吗?为什么会有这些变化?顺便说一下,这些查询不需要使用DISTINCT。最后一个查询确实返回所有属性,因此我们必须应用名称空间filter@AKSW,第二个查询可能是@StanislavKralin,我知道,在第一个查询中,您有默认图形的并集http://dbpedia.org 图呢http://dbpedia.org/resource/classes -这就是重复出现的原因。显然,这只适用于Web UI—在客户端中,默认图形不是默认定义的。我甚至会选择函数来进行名称空间比较—一些三元组存储可能会使用更有效的字符串检查—我知道,可能没有一个会这样做。关于我的建议,这将涵盖所有基于映射的属性,即具有http://dbpedia.org/ontology/As 在2018年11月10日,人们还可以尝试选择DISTINCT?pred{pred a rdf:Property。?pred rdfs:isDefinedBy}或甚至从{pred a rdf:Property}中选择DISTINCT?pred@StanislavKralin现在有新版本了吗?为什么会有这些变化?顺便说一下,这些查询不需要使用DISTINCT。最后一个查询确实返回所有属性,因此我们必须应用名称空间filter@AKSW,第二个查询可能是@StanislavKralin,我知道,在第一个查询中,您有默认图形的并集http://dbpedia.org 图呢http://dbpedia.org/resource/classes -这就是重复出现的原因。显然,这只适用于Web UI—在客户机中,默认图形不是默认定义的。