1

ベクトルを提供することにより、OWL を使用してプログラムでオントロジーを生成したいと考えています。私の目標は、生成された OWL ファイルを Protégé で開き、Jena を利用できるようにすることです。

入力ベクトル
渡したいベクトル:
[[layer, network layer, data link layer, physical layer], [network, computer network], [data link], [ontology, ontology extraction]].


予想される出力

出力には、次のツリー状の階層構造が必要です。

layer
  -network layer
  -data link layer
  -physical layer
network
  -computer network
ontology
  -ontology extraction
data link

network layerが下などの階層構造layerは非常に重要です。

これは、生成したいファイルの例です。

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <owl:Class rdf:about="#network"/>
  <owl:Class rdf:about="#ontology"/>
  <owl:Class rdf:about="#physical_layer">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#layer"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#data_link_layer">
    <rdfs:subClassOf rdf:resource="#layer"/>
  </owl:Class>
  <owl:Class rdf:about="#network_layer">
    <rdfs:subClassOf rdf:resource="#layer"/>
  </owl:Class>
  <owl:Class rdf:about="#computer_network">
    <rdfs:subClassOf rdf:resource="#network"/>
  </owl:Class>
  <owl:Class rdf:about="#ontology_extraction">
    <rdfs:subClassOf rdf:resource="#ontology"/>
  </owl:Class>
</rdf:RDF>
4

1 に答える 1

5

あなたの質問はあまり明確ではないので (上記のコメントを参照)、プログラムでクラス階層を作成したいと推測します。Jena を使用してこれを行うためのアウトライン コードは次のようになります。

OntModel m = ... your model ... ;
NS = "http://your.domain/example#";

// define the various classes

OntClass layer = m.createClass( NS + "Layer" );
layer.setLabel( "layer", "en" );

OntClass networkLayer = m.createClass( NS + "NetworkLayer" );
layer.setLabel( "network layer", "en" );
// ...

// create the class hierarchy

layer.addSubClass( networkLayer );
// ...

// save the file
FileWriter out = null;
try {
    out = new FileWriter( "./test.owl" );
    m.write( out, "RDF/XML-ABBREV" );
}
finally {
    if (out != null) {
        try {out.close()) ) catch (IOException ignore) {}
    }
}
于 2013-07-04T07:38:32.967 に答える