jena 不在 owl-imports 上使用 LocationMapper

jena doesn't use LocationMapper on owl-imports

我有一个带有 owl-imports 子句的 ttl 文件,例如

@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> 

<http://test/data.ttl>
  a       owl:Ontology ;
  owl:imports <file:///Users/tht/workspace/jenatest/test_course.ttl> ;
  owl:versionInfo "tht testing owl:imports"^^xsd:string .

当 test_course.ttl 文件存在时,FileManager.get().readModel 加载模型,导入另一个 ttl 并且 sparql 查询工作正常。但是,如果我删除文件并使用 FileManager.get().setLocationMapper().addAltEntry() 重定向到另一个现有文件,则该模型不是我所期望的,并且 sparql 查询 return 没有结果。

所以 owl-imports 工作正常,但似乎 jena 在导入时没有使用 LocationMapper?还是我的映射 uris 不正确?我正在使用类似

的东西
mapper.addAltEntry("file:///Users/tht/workspace/jenatest/test_course.ttl",
"file:///Users/tht/workspace/jenatest/test_course.redirected.ttl")

OntModel 有自己的 FileManager 用于处理 owl:imports。

这和 LocationMapper 是通过 OntModel 的 DocumentManager 访问的:

model.getDocumentManager().addAltEntry(..., ...)

和其他 API 调用。