1

有没有办法通过 prefLabel(视觉图)搜索 SKOS 概念?另外,prefLabels 是否显示在结果中?

4

1 回答 1

0

在 GraphDB 8.3 之前的所有版本中,更改返回结果的唯一方法是编辑打包为 JAR 文件中的资源文件的 SPARQL 查询。

  1. 制作发行版的副本
  2. 在分发版 lib/workbench/WEB-INF/lib/graphdb-framework-graph-explore-.jar 中找到 JAR 文件
  3. 找到资源文件 ./graph-explore-queries/describeResource.sparql
  4. 修改查询并替换rdfs:label为另一个谓词:

    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX sesame: <http://www.openrdf.org/schema/sesame#>
    PREFIX rank: <http://www.ontotext.com/owlim/RDFRank#>
    
    SELECT ?type ?label ?rank ?langPriority {{from}} {
        {
            BIND ({{nodeiri}} as ?iri)
           {
               ?iri sesame:directType ?type.
           }
           UNION {
                ?iri rdfs:label ?label.
                BIND(LANG(?label) AS ?langLabel)
                BIND( {{langMatches}} AS ?langPriority)
            }
            UNION {
                ?iri rank:hasRDFRank ?rank
            }
        }
    } 
    ORDER BY ?type ?langPriority
    
    1. 重新打包 JAR 文件并测试结果。
于 2017-07-25T07:06:41.547 回答