首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Jena API中,如何使用Jena规则计算一个类中有多少个个体?

在Jena API中,如何使用Jena规则计算一个类中有多少个个体?
EN

Stack Overflow用户
提问于 2018-06-21 22:47:02
回答 1查看 259关注 0票数 0

我想要得到一个类的多少个个体。例如,对于Person类,有A、B、C。我尝试使用以下规则对其进行计数:

代码语言:javascript
复制
[r3: (?p rdf:type hv:Person),(?classx1 hv:hasvalue ?n),addOne(?n,?new)
-> drop(1),(?class1 hv:hasvalue ?new)
]

但是,它是在闭环中触发的,因为(?class1 hv:hasvalue ?new)每次都会改变。我不喜欢介绍SPARQL。

EN

回答 1

Stack Overflow用户

发布于 2018-06-22 17:41:55

我用来计算个体的方法是:

代码语言:javascript
复制
OntModel model;

Resource individual = model.getResource("http://www.w3.org/2002/07/owl#NamedIndividual"));
Property property = model.getProperty("http://www.w3.org/1999/02/22-rdf-syntax-ns#type");

ResIterator iterator = infModel.listResourcesWithProperty(property, individual) ;

int count = Iterators.size(iterator);

最后一行是可能的,因为Guava Library

它可以改进,但仍然是一种解决方案。

更多信息和更正请在评论中查看。感谢@ssz。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50971423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档