【问题标题】:Why fuseki web UI does not show my dataset?为什么 fuseki web UI 不显示我的数据集?
【发布时间】:2018-11-20 08:17:49
【问题描述】:

我已经配置了一个 assembler.ttl 并用它启动了一个 fuseki 服务器。配置文件是这样的:

@prefix fuseki:  <http://jena.apache.org/fuseki#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix :        <#> .

<#entities> rdf:type fuseki:Service ;
    fuseki:name                       "entities" ;
    fuseki:serviceQuery               "sparql" ;
    fuseki:serviceQuery               "query" ;
    fuseki:serviceUpdate              "update" ;
    fuseki:serviceUpload              "upload" ;   # Non-SPARQL upload service
    fuseki:serviceReadWriteGraphStore "data" ;     # SPARQL Graph store protocol (read and write)
    fuseki:serviceReadGraphStore      "get" ;      # SPARQL Graph store protocol (read only)
    fuseki:dataset                   <#dataset> ;
.

<#dataset> rdf:type      tdb:DatasetTDB ;
    tdb:location "/opt/someDir/entities" ;
    ja:context [ ja:cxtName "arq:queryTimeout" ;  ja:cxtValue "1000" ] ;

当我使用 Web UI 显示数据集时,它不包含数据集。并且创建一个新的数据集似乎没有问题。添加的数据集位于 $FUSEKI_BASE/run/datasets。有什么办法可以让 fuseki Web UI 识别我的数据集并允许我对其进行上传等操作吗?

【问题讨论】:

    标签: rdf jena fuseki


    【解决方案1】:

    问题是你的默认图表是空的。所以很明显在 Web GUI 上有一个空的数据库。

    此 config.ttl 应该为您提供一个默认的图形结构作为您的 TDB 文件。

    @prefix :      <http://base/#> .
    @prefix tdb:   <http://jena.hpl.hp.com/2008/tdb#> .
    @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    @prefix ja:    <http://jena.hpl.hp.com/2005/11/Assembler#> .
    @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
    @prefix fuseki: <http://jena.apache.org/fuseki#> .
    
    :service_tdb_all  a                   fuseki:Service ;
            rdfs:label                    "MyDataset" ;
            fuseki:dataset                :dataset ;
            fuseki:name                   "MyDataset" ;
            fuseki:serviceQuery           "query" , "sparql" ;
            fuseki:serviceReadGraphStore  "get" ;
            fuseki:serviceReadWriteGraphStore
                    "data" ;
            fuseki:serviceUpdate          "update" ;
            fuseki:serviceUpload          "upload" .
    
    :dataset a ja:RDFDataset ;
        ja:defaultGraph <#tdbGraph>;
    .
    
    <#tdbGraph> rdf:type tdb:GraphTDB ;
        tdb:dataset :tdb_dataset_readwrite 
    .
    
    :tdb_dataset_readwrite  a             tdb:DatasetTDB ;
        tdb:location  "$FUSEKI_BASE/run/datasets"
    .
    

    您可能需要编辑 tdb:location:service_tdb_all 以适合您的需求。

    【讨论】:

    • 它给了我这个异常:org.apache.jena.sparql.ARQException: 找到两个匹配项:var ?root -> base/#dataset, base/#tdb_dataset_readwrite
    • 您是否检查过您的路径不对应于两个数据集?
    • 如果问题是空的,是“ tdb:unionDefaultGraph true ;”打算(查询所有图的并集)?
    猜你喜欢
    • 2019-01-07
    • 2017-09-26
    • 1970-01-01
    • 2016-03-07
    • 2015-07-03
    • 2010-10-14
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多