图,RDFS推理器,模型,数据集和持久性:构造的顺序是什么?

时间:2018-01-16 21:25:29

标签: jena

我已经在MongoDB上开发了Dataset的实现,在SDB实现之后进行了模式化。 Dataset是未命名的(默认)Graph加上0或更多可选的名为Graph的基础数据载体。 Graph接口声明Iterator<Triple> find()的重要方法变体,这些变体通过追踪MongoDB集合中的数据在我的代码中具体实现:

        JenaMongoConnection mc = new JenaMongoConnection("mongodb://localhost:27017");
        JenaMongoStore ms = new JenaMongoStore(mc, "semantic");

        Dataset ds = JenaMongoDataset.create(ms, "semtest1");

最初的实验产生了一个Dataset,但是我没有得到那些非常理想的RDFS推理逻辑。这很可能是因为实际上没有RDFS推理器(或使用ModelFactory.createOntologyModel()似乎存在。我在MongoDB集成之前的其他实验使用ModelFactory.createOntologyModel()并且我以编程方式将材料添加到模型中,然后调用{{ 1}}产生可以传递给ARQ查询引擎的DatasetFactory.create(model)。毫不奇怪,RDFS Dataset机制被正确调用:

subClassOf

所以问题就变成了:如何有效地设置 mm = ModelFactory.createOntologyModel(); add(mm, "A", "Item"); add(mm, "B", "A"); add(mm, "C", "B"); Dataset ds = DatasetFactory.create(mm); // same interface as above QueryExecution qe = QueryExecutionFactory.create(query, ds) ; ResultSet rs = qe.execSelect() ; 提供程序以及可以使用RDFS推理器的自定义Dataset实现?目前,我正在欺骗&#34;从Graph获取(默认?)模型并使用RDFS推理器重新绘制并从中构建数据集:

Graph

简而言之,我从模型中获取 Graph g = new JenaMongoGraph(various args); Model model = ModelFactory.createModelForGraph(g); Model rdfsModel = ModelFactory.createRDFSModel(model); Dataset ds = DatasetFactory.create(rdfsModel); // proceed "as normal" from here ,而不是简单地从SDB正在进行的Dataset获取。这有效 - 但有更好的方法吗? Graph&#34;运行节目&#34;之间存在紧张关系。关于携带推理信息的Graphfind()

0 个答案:

没有答案