我需要制作一个涉及一个简单表的映射,但是我的谓词需要根据来自一列的值是动态的。
这是我的查询:
SELECT
item_id,
Concat_WS('@', metadatavalue.text_value, cast(metadatavalue.text_lang as text)) AS textValue,
(CASE metadata_field_id
WHEN '3' THEN 'creator'
WHEN '79' THEN 'docnumber'
END) AS Field
FROM
metadatavalue
ORDER BY
item_id, Field, textValue;
字段中的值返回要使用的谓词。
我想产生三倍的形式
<pub:1234> dc:creator “jean francois”@en
<pub:1234> dc:docnumber 1345
<pub:1234> dc:subject “poverty”@en
所以基本上我所有的谓词都在列 metadata_field_id 中,值是谓词的标识符。
我不确定,但似乎 R2RML 应该支持这一点。
谢谢你。