2012-05-07 9 views
0

JCRを使用して区切られた(CSV)ファイルに格納されたデータにアクセスする方法を探しているリファレンスガイドとフォーラムを読んだが、解決策はまだ見つかりませんでした。私は基礎となるデータとメタデータにアクセスすることが可能であることを読んだことがあります。Modeshapeを使用して区切られたテキストコンテンツをクエリする方法はありますか?

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

select * from [nt:file]を使用してレポをクエリすると、コンテンツは取得されません。nt:fileメタデータのみです。 [jcr:content][jcr:data]を照会すると同じ結果になります。

私の質問は、CSVファイルのデータがリポジトリに入ったらそれをどのようにクエリするのですか?

答えて

1

シーケンシングが成功したと仮定すると、出力の構造はhereを定義しているものと類似しているべきです。このコンテンツを照会する

、一つの可能​​性はとても似&は、JCR_SQL2クエリを実行構築することです:

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's documentationをご覧ください。

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

関連する問題