java - 将 jena 模型转换为 jena tdb

标签 java query-optimization rdf jena

我用这个java代码在jena中创建了一个模型

    Model m = ModelFactory.createDefaultModel();
    Resource a1 = m.createResource("<http://Actor1>");
    Resource a2 = m.createResource("<http://Actor2>");
    Resource a3 = m.createResource("<http://Actor3>");
    Property p3 = m.createProperty("<http://MovieTitle>");

    Resource m1 = m.createResource("<http://Movie1>");
    m1.addProperty(p3, "<http://M1>");
    Resource m2 = m.createResource("<http://Movie2>");
    m2.addProperty(p3, "<http://M2>");
    Resource m3 = m.createResource("<http://Movie3>");
    m3.addProperty(p3, "<http://M3>");
    Resource m4 = m.createResource("<http://Movie4>");
    m4.addProperty(p3, "<http://M4>");

    Property p1 = m.createProperty("<http://dateOfbirth>");
    Property p2 = m.createProperty("<http://played>");

    m.add(a1,p1 , "1980");
    m.add(a2,p1 , "1981");
    m.add(a3,p1 , "1982");

    m.add(a1,p2 , m1);
    m.add(a1,p2 , m2);
    m.add(a1,p2 , m3);
    m.add(a1,p2 , m4);
    m.add(a2,p2 , m1);
    m.add(a2,p2 , m3);
    m.add(a3,p2 , m1);
    m.add(a3,p2 , m3);
    m.add(a3,p2 , m4);

现在我想将此模型转换为 jena tdb 以创建 stats.opt 文件,以优化在此模型上执行的查询。我知道 rdf 文件可以加载到 tdb 中并使用命令行创建 stats.opt 。但我想用我的代码来做。有办法做到吗?谢谢!

最佳答案

您可以使用 --> 在 jena 中创建 tdb

// First create an empty tdb 
Dataset tdb = TDBFactory.createDataset(path2NewTdb);

// Then get its Model
Model tdbModel = tdb.getDefaultModel();

// Then update tdbModel. For example use the code you wrote
// above or if you already have a model use tdbModel.add(anotherModel)
// After that make sure to close everything

tdbModel.close();
tdb.close();

关于java - 将 jena 模型转换为 jena tdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35253110/

相关文章:

query-optimization - RethinkDB-查找缺少字段的文档

mysql - 用于日志记录的数据库索引和查询优化

mysql - 需要优化 SQL 查询 - 执行需要花费大量时间

python - 强制 rdflib 定义命名空间

SPARQL CONTRUCT 带有 ORDER BY 和 GROUP BY 的有序列表

java - 从 Java 中的外部文件读取垃圾收集 (GC) 配置 | Spring Boot

java - 如何从 spark 应用程序的代码中监控/生成 CPU/RAM 利用率的汇总报告?

rdf - 在 Web 应用程序中实现语义搜索

Java TimerTask执行周期

java - Netbeans:构建后找不到库