5

列内の複数の値を検索して、Google Refine の GREL (またはその他のもの) を使用した単一の関数に置き換えたいと考えています。

例:
1. replace(value, "Buch", "bibo:Book")
2. replace(value, "Zeitschrift", "bibo:Journal")
3. replace(value, "Patent", "bibo:Patent" )
4. その他多数。

1 つの GREL 式でこれを行う方法はありますか?

4

2 に答える 2

7

最初の 3 つは、次のように実行できます。

value.replace("Buch", "bibo:Book").replace("Zeitschrift", "bibo:Journal").replace("Patent", "bibo:Patent")

あなたの「もっとたくさん」がいくつあるかにもよりますが、そのパターンで十分かもしれません。それ以外の場合は、何らかのタイプのテーブル ルックアップを調べることができます (Python では GREL よりも簡単な場合があります。式言語に Jython を選択するだけです)。

于 2014-02-25T15:58:23.200 に答える
0

これを単一の GREL 行で行うには:

replace(value,/(.+)/,"bibo:$1")

これを使用して、数字文字列の列をコンマで再フォーマットします。

1,317
2,000
1,055

GREL式

replace(value,/(\d),(\d)/,"$1$2")

戻り値

1317 2000 1055

これを数値として使用できます。

于 2020-12-11T17:43:27.940 に答える