2011-12-08 9 views
2

Q1を使用して、異なる名前のリソースを作成する方法。イエナのフレームワークとJavaを使用して、私はリソースの配列を作成することができ、その理由は、CSVファイルを読み取り、各ラインのためのリソースを作成しています、二行はので、私は離れてTTOを必要とする関連再ことを前提とし、この操作を行います。その後、プログラミング(動的)リソースs1、リソースs2 ,,,

Resource single_process1 = createResource() 

を二行目のために:

Resource single_process2 = createRessource() 

あなたは数字1、2に気づく、私は2つのリソースが関連しているので、そう後で(リソース名の一部であるためにそれを追加します)、それを作成する必要があるので、私はそれらを結合する必要がありますこの結合されたプロセスが2つの単一のプロセス(リソース)で構成されていることを参照してください。リソースの配列は可能です、他のオプションはありますか?

Q2。 RDFを参照する方法:タイプやSiO:イエナ

答えて

1

まずオフで、唯一のStackOverflowに一度に一つの質問を投稿してください。このサイトの目的は、個々の質問に対する正確で質の高い回答を収集し、将来のユーザーがそれらの恩恵を受けられるようにすることです。したがって、各質問は別々の投稿にする必要があります。

質問を理解するのが少し難しいです。私は言い換えできる場合:

  • を使用すると、CSVファイルを処理中に
  • ファイル処理され、ファイルの各行には、1つのリソースとそのプロパティに対応し、あなたのイエナModelに対応するトリプルを追加します。単一Resourceがその後
  • 指定された行ごとのトリプルの対象となるために作成され、あなたは対象のリソースの二つは同じものを参照する必要があることを発見し(つまり、あなたのCSVファイルの2行からのデータが同じを参照してくださいそれは正確な要約だ場合は、実世界の実体)
  • は、あなたが唯一の対象リソース

を使用する2つのリソースからトリプルをマージしたい、それは確かにちょっと珍しいです...しかし、それはあなたのデータです!とにかく、あなたは合理的に簡単に一つに2つのリソースからの文をマージすることができます

Resource r0 = .... ; // the first subject resource 
Resource r1 = .... ; // the second subject resource 

// we discover that r0 and r1 refer to the same thing, so we 
// want to merge their properties ... 

List<Statement> r1Props = r1.listProperties().toList(); 

for (Statement s: r1Props) { 
    // add the property to r0, so <r1 P O> becomes <r0 P O> 
    r0.addProperty(s.getPredicate(), s.getObject()); 

    // remove the statement about r1 
    // once all of r1's triples are removed, r1 is no longer in the Model 
    s.remove(); 
} 

は私がわからないんだけど、このリソースの配列に関係しているものです。あなたはもう少し説明しなければなりません。

Q2に関しては、クラスcom.hp.hpl.jena.vocabulary.RDFSを使用してRDFS名前空間のURIを参照することができ、RDF,OWLなどの場合も同様です。独自のボキャブラリークラスを作成するには、Jena schemagenを参照してください。

関連する問題