2012-04-02 6 views
0

私はこのowl-fileを持っています。 #indeliversは#ipInDeliversのサブクラスです。私が知りたいのは、このクラスにある#isPartOfMibDefリソース(この場合は#IP-MIB)を見つける方法です。Apache Jenaでのowl-superclassからのアクセス制限

<owl:ObjectProperty rdf:about="#isPartOfMibDef"/> 

<owl:ObjectProperty rdf:about="#hasSyntax"/> 

<owl:Class rdf:about="#Counter32"> 
    <rdfs:subClassOf rdf:resource="#SYNTAX"/> 
</owl:Class> 

<owl:Class rdf:about="&owl;Thing"/> 

<owl:Class rdf:about="#mibObjects"> 
    <rdfs:subClassOf rdf:resource="&owl;Thing"/> 
</owl:Class> 

<owl:Class rdf:about="#IP-MIB"> 
    <rdfs:subClassOf rdf:resource="#mibDefs"/> 
</owl:Class> 

<owl:Class rdf:about="#ipInDelivers"> 
    <owl:equivalentClass> 
     <owl:Class> 
      <owl:intersectionOf rdf:parseType="Collection"> 
       <owl:Restriction> 
        <owl:onProperty rdf:resource="#hasSyntax"/> 
        <owl:allValuesFrom rdf:resource="#Counter32"/> 
       </owl:Restriction> 
       <owl:Restriction> 
        <owl:onProperty rdf:resource="#isPartOfMibDef"/> 
        <owl:allValuesFrom rdf:resource="#IP-MIB"/> 
       </owl:Restriction> 
      </owl:intersectionOf> 
     </owl:Class> 
    </owl:equivalentClass> 
    <rdfs:subClassOf rdf:resource="#mibObjects"/> 
</owl:Class> 

<owl:Class rdf:about="#aliases"> 
    <rdfs:subClassOf rdf:resource="&owl;Thing"/> 
</owl:Class> 

<owl:Class rdf:about="#indelivers"> 
    <rdfs:subClassOf rdf:resource="#aliases"/> 
    <rdfs:subClassOf rdf:resource="#ipInDelivers"/> 
</owl:Class> 

私がこれまで持っているコードは、このです:

String NS = "http://namespace.com/owl#"; 
InputStream is = FileManager.get().open(this.owlPath); 
OntModel ontology = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF,null); 
    ontology.read(is,""); 

Reasoner reason = ReasonerRegistry.getOWLMicroReasoner(); 
InfModel info = ModelFactory.createInfModel(reason,ontology); 

OntClass alias = this.ontology.getOntClass(NS+"indelivers"); 
OntClass superClass = alias.getSuperClass(); 

は、私がスーパークラスで最もGET-とリストの機能にアクセスしようとしましたが、私はどこでも#isPartOfMibDefを見つけるように見えることはできません

答えて

0

あなたの名前空間には、次のようになります。

String NS = "http://namespace.com/owl#"; 
+0

はい、私は知っています、それは単にOPのタイプミスでした。 – andersem

0

これは私のために働きました。私のowlクラス "session"には交差点がありません。

OntClass cl1 = model.getOntClass(nsPrefix + "session"); 
    OntClass cl = cl1.getSuperClass(); 
    for (StmtIterator i = model.listStatements(cl, null, (RDFNode) null); i.hasNext();) { 
     Statement stmt = i.nextStatement(); 
     logger.info(" - " + PrintUtil.print(stmt)); 
    } 
関連する問題