清空 TDB2 查询结果

Empty TDB2 Query Result

我对 Apache Jena 的命令行工具有疑问。我想为一个大海龟文件创建一个 tdb2 数据库。为此我使用了tdb2.loader命令如下:

tdb2.tdbloader --loc ~/indexer ~/indexer/test.ttl

我的 test.ttl 文件包含以下形式的条目:

@prefix bbase: <http://data.bibbase.org/ontology/#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix dblp:  <https://dblp.org/rdf/schema-2017-04-18#> 

<https://dblp.org/rec/conf/romoco/Siegwart13>
    a                              dblp:Publication ;
    owl:sameAs                     <http://dx.doi.org/10.1109/RoMoCo.2013.6614591> ;
    dblp:authoredBy                <https://dblp.org/pers/s/Siegwart:Roland> ;
    dblp:bibtexType                bbase:Inproceedings ;
    dblp:listedOnTocPage           <https://dblp.org/db/conf/romoco/romoco2013> ;
    dblp:pageNumbers               "98" ;
    dblp:primaryElectronicEdition  <https://doi.org/10.1109/RoMoCo.2013.6614591> ;
    dblp:doi                       "10.1109/RoMoCo.2013.6614591";
    dblp:publicationType           dblp:Inproceedings ;
    dblp:publishedAsPartOf         <https://dblp.org/rec/conf/romoco/2013> ;
    dblp:publishedInBook           "RoMoCo" ;
    dblp:title                     "Design and navigation of wheeled, running, swimming and flying robots." ;
    dblp:yearOfPublication         "2013" .
...

现在我的问题是,如果我使用 tdb2.tdbquery 命令查询输出(tdb2 文件),空的 table 将是结果。我的查询搜索具有 dblp:doi 属性 的所有实体,结果不应为空 table,如您在上面的示例中所见。我的查询文件如下所示:

PREFIX dblp:  <https://dblp.org/rdf/schema-2017-04-18#>

SELECT *
WHERE{
  ?s dblp:doi ?o .
}

我的 tdb2.query 命令如下所示:

./tdb2.tdbquery --loc=~/indexer/Data-0001 --query=~/indexer/query.rq

无论我在做什么,我的结果总是:

---------
| s | o |
=========
---------

如果我以与使用 tdb2.query 命令相同的方式直接使用 sparql 命令查询 .ttl 文件,我将得到一个合理的结果,其中包含一些条目。

不幸的是,无论是在 Jena 文档中还是在本论坛中,我都找不到我的问题的答案。有人可以给我一个答案或至少提示可能出了什么问题吗?

在此先感谢您的帮助!

您在查询中的 --loc 参数应该是您创建 TDB2 数据库的位置,即 ~/indexer