启用插件后GeoSPARQL插件属性不一致

问题描述 投票:0回答:1
使用自定义设置(geohash 算法和精度 10)在我的存储库上启用 GeoSPARQL 插件后,通过 GeoSPARQL 查询和 {repo-dir}./storage/GeoSPARQL/v3/config.properties 文件中描述的属性不一致与属性的定义。

该存储库称为

scalability_10K。创建存储库并完成数据加载后,我配置 GeoSPARQL 插件并使用以下 2 个 SPARQL 语句启用它:

: PREFIX : <http://www.ontotext.com/plugins/geosparql#> INSERT DATA { [] :ignoreErrors "true" . }; INSERT DATA { [] :enabled "true" . }; INSERT DATA { [] :prefixTree "geohash"; :precision "10" . }; INSERT DATA { [] :maxBufferedDocs "5000" . }; INSERT DATA { [] :ramBufferSizeMB "512.0" . };
: PREFIX : <http://www.ontotext.com/plugins/geosparql#>
 INSERT DATA { [] :enabled "true" . }

整个过程是通过Java执行的,启用GeoSPARQL插件后,我收到以下输出,这基本上证实了一切都按预期进行:

10:15:53.811 [main] INFO com.ontotext.plugin.GeoSPARQL - >>>>>>>> GeoSPARQL: Initializing Lucene indexer... 10:15:53.953 [main] INFO com.ontotext.plugin.GeoSPARQL - >>>>>>>> GeoSPARQL: Lucene indexer initialized! 10:15:53.954 [main] INFO com.ontotext.plugin.GeoSPARQL - >>>>>>>> GeoSPARQL: Initializing indexing process... 10:15:56.129 [main] INFO com.ontotext.plugin.GeoSPARQL - >>>>>>>> GeoSPARQL: Indexing completed!
根据我正在使用的GraphDB Free v9.11.1和最新的v10.3的相关在线文档,为了检查当前的插件配置,我们应该使用以下查询:

PREFIX geosparql: <http://www.ontotext.com/plugins/geosparql#> SELECT DISTINCT * WHERE { [] geosparql:currentPrefixTree ?tree; geosparql:currentPrecision ?precision; }
在我的例子中返回以下结果:

Current GeoSPARQL plugin configuration

同样,{repo-dir}./storage/GeoSPARQL/v3/config.properties 文件的内容为:

#GeoSPARQL configuration #Fri Oct 13 10:15:56 EEST 2023 precision=10 prefixtree=GEOHASH ramBufferSizeMB=512.0 prefixtree.current=QUAD precision.current=11 enabled=true ignoreErrors=true maxBufferedDocs=5000
基本上,这里的问题是 

prefixtree.current / geoSparql:currentPrefixTree precision.current / geoSparql:currentPrecision:

    实际上保存
  1. 上次构建索引的值(根据文档GeoSPARQL支持),因为在上面的示例中,自定义配置似乎存储在prefixtree / geoSparql:prefixTree precision / geoSparql中:精度
  2. 当新会话(假设 GraphDB 重新启动后)针对此存储库运行 GeoSPARQL 查询(据称该存储库已启用自定义设置的 GeoSPARQL 插件)时,用户如何确定使用的空间索引是 GEOHASH-10 空间而不是QUAD-11(默认)。
提前谢谢您。

泰奥菲洛斯·约安尼迪斯

期望 {repo-dir}./storage/GeoSPARQL/v3/config.properties 会有:

precision=11 prefixtree=QUAD prefixtree.current=GEOHASH precision.current=10
我得到了这个:

precision=10 prefixtree=GEOHASH prefixtree.current=QUAD precision.current=11
    
configuration graphdb geosparql
1个回答
0
投票
在您的配置中,您可以添加参数 currentPrefixTree 和 currentPrecision。您收到

prefixtree.current=QUAD precision.current=11
因为这些是默认值。
例如:

PREFIX geoSparql: <http://www.ontotext.com/plugins/geosparql#> INSERT DATA { [] geoSparql:currentPrefixTree "geohash" . } INSERT DATA { [] geoSparql:currentPrecision "11" . }
currentPrefixTree和currentPrecision参数指的是最后建立的索引的值。另一方面, prefixTree 和 precision 指的是索引构建期间使用的树的实现,在重建之前存储值。

© www.soinside.com 2019 - 2024. All rights reserved.