postgres テーブルに次の形式のデータがあります。
create table t (col1 character varying, col2 character varying, col3 character varying);
col1 col2 col3
<a> <b> <c> .
<d> owl:g <h> .
dbp:h1 <k> <l> .
空白の出現をhttp://yago-knowledge.org/resource/VARIABLEに置き換える必要があり 、
owl: <http://www.w3.org/2002/07/owl#VARIABLE>
dbp: <http://dbpedia.org/ontology/VARIABLE>
re.sub(r"<(.*?)>", r"http://yago-knowledge.org/resource/\1", col) を使用してPythonで同じことを達成できることを私は知っています
変換されたデータは次のようになります。
<http://yago-knowledge.org/resource/a> <http://yago-knowledge.org/resource/b> <http://yago-knowledge.org/resource/c>
<http://yago-knowledge.org/resource/d> <http://www.w3.org/2002/07/g> <http://yago-knowledge.org/resource/h>
<http://dbpedia.org/ontology/h1> <http://yago-knowledge.org/resource/k> <http://yago-knowledge.org/resource/l>
postgresでSQLを使用して同じことを達成することは可能ですか? また、col3 には各値の後にドットがありますが、SQL を使用してそのドットを削除することは可能ですか?
編集:正規表現を使用して次のことを試しました:
regexp_replace('<a>', '.[<a]a.', '<http://yago-knowledge.org/resource/')
しかし、うまくいかないようです。どこが間違っているのか、誰でも指摘できますか。