在 Jena 中使用紧凑的 URI
Using a compact URI in Jena
我正在使用 Jena 阅读 ontology,到目前为止它运行良好。不幸的是,我无法弄清楚如何使用我在模型中定义的紧凑型 uris。我已经使用模型的 setNSPrefix(String prefix, String uri)
方法定义了前缀。当我尝试使用前缀检索语句时,我什么也得不到。此外,当我成功检索到一个语句时,它包含完整的 uri 而不是我定义的紧凑的 uri。它甚至会为 xsd uri http://www.w3.org/2001/XMLSchema#
例如,我正在使用 uri http://www.example.com#
,我将前缀映射定义为 ex
,我的语句是 http://www.example.com#father http://www.example.com#parentOf http://www.example.com#child
,其中 father 是主语,parentOf是谓词,child是宾语。如果我尝试使用 ex:father
检索它,我得不到任何结果,当我确实取回语句时,主语、谓语和宾语的完整 uri 就在那里。当我执行 model.write(OutputStream)
时,我已经看到它使用前缀而不是 uri,但这对我来说并不是特别有用。我可以像我一直尝试做的那样使用前缀代替 uri,还是 Jena 不会为我提供这种东西?
When I try to retrieve statements using the prefix, I get nothing.
你不能这样做,例如,
model.getResource("ex:foo")`
你必须做
model.getResource("http://example.org/foo");
当然,您可以通过
使它更简单
String EX = "http://example.org/";
model.getResource(EX+"foo");
前缀实际上只是为了使序列化更易于读写。
我正在使用 Jena 阅读 ontology,到目前为止它运行良好。不幸的是,我无法弄清楚如何使用我在模型中定义的紧凑型 uris。我已经使用模型的 setNSPrefix(String prefix, String uri)
方法定义了前缀。当我尝试使用前缀检索语句时,我什么也得不到。此外,当我成功检索到一个语句时,它包含完整的 uri 而不是我定义的紧凑的 uri。它甚至会为 xsd uri http://www.w3.org/2001/XMLSchema#
例如,我正在使用 uri http://www.example.com#
,我将前缀映射定义为 ex
,我的语句是 http://www.example.com#father http://www.example.com#parentOf http://www.example.com#child
,其中 father 是主语,parentOf是谓词,child是宾语。如果我尝试使用 ex:father
检索它,我得不到任何结果,当我确实取回语句时,主语、谓语和宾语的完整 uri 就在那里。当我执行 model.write(OutputStream)
时,我已经看到它使用前缀而不是 uri,但这对我来说并不是特别有用。我可以像我一直尝试做的那样使用前缀代替 uri,还是 Jena 不会为我提供这种东西?
When I try to retrieve statements using the prefix, I get nothing.
你不能这样做,例如,
model.getResource("ex:foo")`
你必须做
model.getResource("http://example.org/foo");
当然,您可以通过
使它更简单String EX = "http://example.org/";
model.getResource(EX+"foo");
前缀实际上只是为了使序列化更易于读写。