我使用Jena API创建了一个模型:
public static void main(String[] args) {
Model model = ModelFactory.createDefaultModel();
Resource alice = ResourceFactory.createResource("http://example.org/alice");
Resource bob = ResourceFactory.createResource("http://example.org/bob");
Resource charlie = ResourceFactory.createResource("http://example.org/charlie");
model.add (alice, RDF.type, FOAF.Person);
model.add (alice, FOAF.name, "Alice");
model.add (alice, FOAF.mbox, ResourceFactory.createResource("mailto:alice@example.org"));
model.add (alice, FOAF.knows, bob);
model.add (alice, FOAF.knows, charlie);
model.write(System.out, "RDF/XML-ABBREV");
}此程序的输出为:
<rdf:RDF xmlns:rdf="w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:j.0="xmlns.com/foaf/0.1/">
<j.0:Person rdf:about="example.org/alice">
<j.0:knows rdf:resource="example.org/charlie"/>
<j.0:knows rdf:resource="example.org/bob"/>
<j.0:mbox rdf:resource="mailto:alice@example.org"/>
<j.0:name>Alice</j.0:name>
</j.0:Person>
</rdf:RDF>现在如何获取链接到某个资源的资源列表?
爱丽丝认识鲍勃和查利。爱丽丝,鲍勃和查莉是资源,爱丽丝知道另外两个资源。现在如何得到名字鲍勃,查利
发布于 2013-03-22 07:45:28
Jena的Java API文档显示there is a method就是为了实现这一点:
NodeIterator listObjectsOfProperty(Resource s, Property p)这在您的示例中应该是有效的:
NodeIterator friends = model.listObjectsOfProperty(alice, FOAF.knows);然后,您可以迭代friends以对每个朋友(或熟人)执行某些操作。
https://stackoverflow.com/questions/15557778
复制相似问题