Cell.cross()在Google Refine项目中返回错误

时间:2012-05-06 16:25:31

标签: google-refine

我正在尝试根据我的主项目的Date列创建一个新列,该列从另一个Google Refine项目中提取时间轴事件:

cell.cross(“Clean5 Timeline”,“TimelineDate”)。cells [“TimelineEvent”]。value [0]

Google Refine项目中的日期格式相同。但它没有填充任何单元格,我收到了这个错误:

错误:无法从空中检索字段

这个 - cell.cross(“Clean5 Timeline”,“TimelineDate”) - 对于应该匹配的行返回[]。

这个 - cell.cross(“Clean5 Timeline”,“TimelineDate”)。cells [“TimelineEvent”] - 为这些行返回null。

我直接从GREL帮助文件中复制了语法:http://code.google.com/p/google-refine/wiki/GRELOtherFunctions。任何人都可以提出我可能会忽略的内容吗?

感谢。

1 个答案:

答案 0 :(得分:3)

如果不能访问你的项目,就很难回答这个问题,但我建议的第一件事就是你修剪你的表达式,找出空来源的确切位置。

由于

cell.cross("Clean5 Timeline", "TimelineDate")

返回一个空数组([]),基于该结果的任何内容都不起作用。

我可以想到三个可能的问题:1)项目名称错误,2)列名错误,3)数据值不匹配(或者Refine不认为他们这样做),或者4)你遇到了精炼2.5中存在的带有cross()的caching bug

如果遇到错误,重新启动Refine服务器应该清除缓存,并且它也在当前源存储库中修复。该修复程序将包含在OpenRefine 2.6中。