java - 使用 Model.setNsPrefix() 定义前缀后不能使用带前缀的 URI?

标签 java rdf jena semantic-web

我不明白为什么下面的代码会这样。我正在尝试使用 Jena 解析 DCAT 文档,虽然使用完全限定的 URI 不会破坏交易,但我认为在尝试访问语句之前设置 URI 前缀将允许我使用速记符号。

例如,我设置了 dcat 前缀,但我无法使用 dcat:distribution 这样搜索模型。相反,我必须使用完全限定的 URI。这是预期的还是我做错了什么?

        dcatModel = RDFDataMgr.loadModel(URI);

        dcatModel.setNsPrefix("dcat", "http://www.w3.org/ns/dcat#");
        dcatModel.setNsPrefix("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
        dcatModel.setNsPrefix("dct", "http://purl.org/dc/terms/");
        String uri = "http://catalog.data.gov/dataset/consumer-complaint-database";
        Resource dataSetResource = dcatModel.getResource(uri);

        String propString = "http://www.w3.org/ns/dcat#distribution";
        //String propString = "dcat:distribution";
        Property searchProperty = dcatModel.createProperty(propString);
        StmtIterator i = dataSetResource.listProperties(searchProperty);

最佳答案

设置前缀不会启用速记符号。

关于java - 使用 Model.setNsPrefix() 定义前缀后不能使用带前缀的 URI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31551246/

相关文章:

java - HHMM 格式的时间

java - 使用 eclipse 和 file/filereader/bufferedreader 找不到文件...

java - 将 CPP 应用程序移植到 Android

java - graphStream 或 Apache Jena

Jena 在尝试转换为 OntClass 时抛出 ConversionException

java - JETT支持多个IF语句吗?

java - 从给定的 RDF(.ttl) 文件中查找 RDF 映射并获取 JSON 格式的输出

c# - 使用哪个,XMP 还是 RDF?

javascript - 如何使用 javascript 中的模板生成 RDF/XML?

playframework - 将 Jena 添加到 Play Framework 2.0