0

JCRを使用して区切り(CSV)ファイルに保存されているデータにアクセスする方法を探しているリファレンスガイドとフォーラムを読みましたが、まだ解決策が見つかりませんでした。メタデータだけでなく、基になるデータにもアクセスできることを読みましたが、方法がわかりません。

Modeshapeフォーラムの「初心者向けガイド」を見て、区切り文字のテキストシーケンサーも使用するように構成を変更しました。次に、フォーラムにあるものと同じコードを使用して、csvファイルをリポジトリに追加しました。

を使用してリポジトリにクエリを実行するとselect * from [nt:file]、コンテンツは取得されず、nt:fileメタデータのみが取得されます。とをクエリする[jcr:content]と同じようになります[jcr:data]

だから私の質問は、CSVファイルがリポジトリにあるときにデータをクエリするにはどうすればよいですか?

4

1 に答える 1

1

シーケンスが成功したと仮定すると、出力の構造はここで定義されているものと同様になります。

このコンテンツをクエリするには、次のようにJCR_SQL2クエリを作成して実行することが1つの可能性です。

String expr = "SELECT * FROM [text:column] WHERE [text:data] LIKE 'somestring'";
Query query = session.getWorkspace().getQueryManager().createQuery(expr, Query.JCR_SQL2);    
QueryResult result = query.execute(); 
RowIterator iter = result.getRows();
while (iter.hasNext()) {
     //your code
}

クエリは必要なものなら何でもかまいません。詳細については、ModeShapeのドキュメントを参照してください。

注:この回答は、もともとModeShapeのフォーラムで同じ質問への回答として投稿されました。

于 2012-05-07T13:21:17.550 に答える