Java 解析.rdfs文件的步骤

Java 解析.rdfs文件的步骤,java,jena,ontology,rdfs,Java,Jena,Ontology,Rdfs,下面是我的.rdfs文件。如果我的输入是XXXX,我需要得到YYYY。我该怎么做呢 <rdfs:Class rdf:about="&kb;XXXX" rdfs:label="XXXX"> <rdfs:subClassOf rdf:resource="&kb;YYYY"/> </rdfs:Class> 每次需要访问三元组时,绝对不需要搜索整个模型。尝试: String kb = "..."; // whatever &

下面是我的.rdfs文件。如果我的输入是XXXX,我需要得到YYYY。我该怎么做呢

<rdfs:Class rdf:about="&kb;XXXX"
     rdfs:label="XXXX">
    <rdfs:subClassOf rdf:resource="&kb;YYYY"/>
</rdfs:Class>

每次需要访问三元组时,绝对不需要搜索整个
模型。尝试:

String kb = "..."; // whatever &kb; expands to
Resource subj = model.getResource( kb + "XXXX" );
Resource super = subj.getProperty( RDFS.subClassOf )
                     .getResource();
使用本体API更容易:

OntModel m = ModelFactory.createOntologyModel( OntModelSpec.RDFS_MEM );
m.read( ... your file: or http: URL here );
OntClass x = m.getOntClass( NS + "XXX" );
OntClass y = x.getSuperClass();

这看起来像是普通的XML文件,所以不要重新发明轮子,只需使用XML解析器即可?Voo:RDF和RDF有一些不可预测的XML序列化,因此常规的XML工具并不总是适合。然而,OP实际上是在Jena解析数据结构之后遍历数据结构(这就是
StmtIterator
etc的来源)。
OntModel m = ModelFactory.createOntologyModel( OntModelSpec.RDFS_MEM );
m.read( ... your file: or http: URL here );
OntClass x = m.getOntClass( NS + "XXX" );
OntClass y = x.getSuperClass();