Hello Andre,

I'd recommend to insert in smaller fractions than all articles at once.
Say,

create procedure fill_dbpedia_article ()
{
  for (
    select "uri", "title", "abstract", count(*) as specificity
    from
    (
        sparql select * where
        {
            graph <http://dbpedia.org/>
            {
                ?s <http://dbpedia.org/property/wikilink> ?uri.
                ?uri <http://dbpedia.org/property/abstract> ?abstract.
                ?uri<http://www.w3.org/2000/01/rdf-schema#label> ?title.
            }
        }
    ) as triples
    group by uri, title, abstract ) do
    {
      insert soft dbpedia_article
      values ("uri", "title", "abstract", specificity);
      if (__trx_disk_log_length (0) > 1000000)
        commit work;
    }
  commit work;
}
;

fill_dbpedia_article ();

(Caution, I've written the procedure but not tested)

That's for complicated cases when you need seldom commits, say, once per
megabyte of changes.
If there are no triggers on dbpedia_article table or existing triggers
pay attention to autocommit mode then you may simply turn autocommit on.

A side note. In SPARQL, variable names are always case-sensitive, that's
what does The Spec say. In SQL, names of variables and other things may
be case-sensitive or case-insensitive depending on CaseMode value in
[Parameters] section of Virtuoso configuration file (virtuoso.ini or the
like). If you distribute your application then non-default values of
CaseMode may cause problems. In order to make the code functional under
any circumstances, use double quotes for all SQL variables that are
declared in SPARQL queries. Double quotes force case-sensitivity
regardless CaseMode so you get related errors either "always" or "never"
but not on some installations of some customers.

Best Regards,

Ivan Mikhailov,
OpenLink Software
http://virtuoso.openlinksw.com


On Tue, 2009-02-17 at 13:35 -0300, André Ramos wrote:
> Hello,
> 
> I commanded Virtuoso to insert the results of a query into a table and
> then I got this error message about 24 hours after I started the
> insert command. This is the error message:
> 
> *** Error 40005: [Virtuoso Driver][Virtuoso Server]SR325: Transaction
> aborted because it's log after image size went above the limit
> in lines 37-53 of Top-Level:
> #line 37 "(console)"
> insert soft dbpedia_article
>     select uri, title, abstract, count(*) as specificity
> 
>     from
>     (
>         sparql select * where
>         {
>             graph <http://dbpedia.org/>
>             {
>                 ?s <http://dbpedia.org/property/wikilink> ?uri.
>                 ?uri <http://dbpedia.org/property/abstract> ?abstract.
>                 ?uri
> <http://www.w3.org/2000/01/rdf-schema#label> ?title.
>             }
>         }
>     ) as triples
> 
>     group by uri, title, abstract
> 
> How can I solve it?
> 
> Thank you.
> 
> -- 
> Atenciosamente,
> André Ramos Fernandes da Silva
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
> -Strategies to boost innovation and cut costs with open source participation
> -Receive a $600 discount off the registration fee with the source code: SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________ Virtuoso-users mailing list 
> Virtuoso-users@lists.sourceforge.net 
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users


Reply via email to