GraphDB中针对保存图运行RDF Rank插件报错:无法仅计算个体排名
GraphDB RDF Rank 筛选个体时报错的解决方法
问题场景
尝试仅针对数据库中的NamedIndividual计算RDF Rank,操作步骤如下:
- 在「Explore -> Visual graph」中执行以下CONSTRUCT查询,生成仅包含个体的图:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> CONSTRUCT {?individual ?a ?z} WHERE { ?individual rdf:type owl:NamedIndividual . ?individual ?a ?z . ?z rdf:type owl:NamedIndividual . }
- 将该图保存为「已保存图」,并复制其URL
- 在「Setup -> RDF Rank」的「Included」输入框中粘贴该URL,点击「Compute Full」后触发错误:
错误:所选过滤器未返回任何语句(原英文:ERROR Selected filter does not return any statements.)
问题原因
保存图的URL是GraphDB用于可视化展示的内部链接,并非RDF Rank插件可解析的筛选条件(插件仅支持SPARQL查询或图IRI作为筛选规则),因此无法从中获取需要处理的三元组,导致报错。
解决方法
直接在「Setup -> RDF Rank」的「Included」输入框中填入SPARQL查询,明确指定要纳入计算的三元组:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT ?s ?p ?o WHERE { ?s rdf:type owl:NamedIndividual . ?s ?p ?o . ?o rdf:type owl:NamedIndividual . }
填写完成后点击「Compute Full」即可正常计算仅包含个体的RDF Rank值。
内容的提问来源于stack exchange,提问作者fabmeyer
相关产品推荐
相关产品推荐

