2013-03-21 128 views
1

我創建使用耶拿的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:[email protected]")); 
    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:[email protected]"/> 
     <j.0:name>Alice</j.0:name> 
    </j.0:Person> 
</rdf:RDF> 

!如何獲得與某一資源的資源列表?

例如:Alice知道Bob和Charlie。愛麗絲,鮑勃和查理是資源,愛麗絲知道其他兩種資源。現在如何得到名字[鮑勃,查理]?

+0

的輸出是: <的rdf:RDF 的xmlns:RDF = 「http://www.w3.org/1999/02/22-rdf-syntax-ns#」 的xmlns:J.0 =」 http://xmlns.com/foaf/0.1/「> 愛麗絲 user2057437 2013-03-21 20:48:58

+0

請包括在問題,而不是referrin輸出g發表評論。 – 2013-03-21 23:31:53

回答

3

耶拿的Java API文檔顯示只爲there is a method

NodeIterator listObjectsOfProperty(Resource s, Property p) 

這應該在你的榜樣工作:

NodeIterator friends = model.listObjectsOfProperty(alice, FOAF.knows); 

然後,您可以遍歷friends做一些與每位朋友(或熟人)。