Hi,
Based on your two answers, I guess I have to run the following
UPDATE DB.DBA.RDF_QUAD
set g = iri_to_id(
regexp_replace(id_to_iri(g), '/foo/', '/bar/')
)
where
g = iri_to_id(
regexp_match('/foo/', id_to_iri(g))
);
Right ?
Yet, I'm not sure I understand the second part of [1]
"For Virtuoso Graph Groups two tables need to be updated: "
Do I have to run the previous query + the 2 ones in that part ? Or only the
previous one ?
Thanks,
Alex.
[1] http://ods.openlinksw.com/wiki/main/Main/VirtTipsAndTricksGuideRenameGraph
On 26 May 2011, at 08:37, Ivan Mikhailov wrote:
> Alexandre,
>
> I've posted a procedure to find all distinct predicates that start with
> some specified substring. It's trivial to turn it into a procedure to
> list all distinct graphs with same filtering and make an update based on
> th results.
>
> Best Regards,
>
> Ivan Mikhailov
> OpenLink Software
> http://virtuoso.openlinksw.com
>
> On Tue, 2011-05-24 at 18:15 +0100, Tim Haynes wrote:
>> On 24/05/2011 16:55, Alexandre Passant wrote:
>>> I've seen doc at [1], but is there a way to do regex-based renaming of
>>> graphs in Virtuoso ?
>>>
>>> E.g. rename all graphs with URI scheme http://example.org/foo/* into
>>> http://example.org/bar/*
>>>
>>> Thanks
>>>
>>> Alex.
>>>
>>> [1]
>>> http://ods.openlinksw.com/wiki/main/Main/VirtTipsAndTricksGuideRenameGraph
>>
>> Hi,
>>
>> Yes, it should be possible. Consider the following:
>>
>> select distinct(
>> iri_to_id(
>> regexp_replace(id_to_iri(g), 'openlink', 'localhost')
>> )
>> )
>> from
>> DB.DBA.RDF_QUAD
>> where
>> regexp_match('openlink', id_to_iri(g))
>>
>> Converting that to an update is left as an exercise :)
>>
>> HTH,
>>
>> ~Tim
>
>
--
Dr. Alexandre Passant,
Social Software Unit Leader
Digital Enterprise Research Institute,
National University of Ireland, Galway