我想要得到一个类的多少个个体。例如,对于Person类,有A、B、C。我尝试使用以下规则对其进行计数:
[r3: (?p rdf:type hv:Person),(?classx1 hv:hasvalue ?n),addOne(?n,?new)
-> drop(1),(?class1 hv:hasvalue ?new)
]但是,它是在闭环中触发的,因为(?class1 hv:hasvalue ?new)每次都会改变。我不喜欢介绍SPARQL。
发布于 2018-06-22 17:41:55
我用来计算个体的方法是:
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。
https://stackoverflow.com/questions/50971423
复制相似问题