0

我已通读参考指南和论坛,寻找使用 JCR 获取存储在分隔 (CSV) 文件中的数据的方法,但尚未找到解决方案。我已经读过可以访问基础数据以及元数据,我只是不知道如何。

我查看了 Modeshape 论坛上的“初学者指南”并修改了配置以使用分隔文本排序器。然后我使用与论坛中相同的代码将 csv 文件添加到 repo。

当我使用select * from [nt:file]我没有得到任何内容,只有nt:file元数据查询存储库时。当我查询[jcr:content]and时,我得到了同样的结果[jcr:data]

所以我的问题是,一旦 CSV 文件在存储库中,如何查询数据?

4

1 回答 1

1

假设排序成功,输出的结构应该与此处定义的类似。

要查询此内容,一种可能性是构建和执行 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 的文档以获取更多信息。

注意:这个答案最初是作为对 ModeShape 论坛上相同问题的回应而发布的。

于 2012-05-07T13:21:17.550 回答