2017-05-12 9 views
1

たとえば、多くのクラス、個体、プロパティを持つjena OntModelがあります。 特定の個人にいくつのdatatypePropertyとobjectPropertyが設定されているかを知りたい。私はそれはあなたがこの方法を使用することができます判断するDatatypePropertyのかOBJECTPROPERTYjenaのインスタンス(個人)のdatatypePropertyとobjectPropertyを取得する方法

static void statInstance(Individual ind, Node node) { 
    for (StmtIterator j = ind.listProperties(); j.hasNext();) { 
     Statement s = j.next(); 
     // how to judge if s is a datatypeProperty or objectProperty 
    } 
} 
+0

はSOへようこそ。既に試したコードを投稿すると、あなたを助ける人がいるかもしれません。 – Gary99

+0

@ Gary99ありがとう、私は自分のコードを更新しました – zhiqiu

答えて

0

ある場合を判断する方法をkonwいけないながら

私は個々の、ind.listProperties(与えられた以下のコードを、持っている)は、すべてのプロパティを一覧表示されますorg.apache.jena.rdf.model.RDFNode#カナス(クラス)

if (s.getPredicate().canAs(DatatypeProperty.class)) { 
    //... 
} else if (s.getPredicate().canAs(ObjectProperty.class)) { 
    //... 
} else { 
    //... 
} 

方法org.apache.jena.rdf.model番号のlistPropertiesは、指定された個人が対象であるすべての文を返します。

ので、あなたのアプローチのみ(owl2-short-guideの用語で "RのV" と "A1 PN A2")オブジェクト/データプロパティのアサーションを検索するために働く

関連する問題