Ok, thanks Ivan. Related to this, are there any other options for exporting triples to a file?
If I want to export my 1.8gb of data to RDF TTL, is this the most performant method in Virtuoso? - Alex > -----Original Message----- > From: imikhailov [mailto:imikhai...@openlinksw.com] > Sent: Monday, April 30, 2007 11:04 AM > To: Alex Black; virtuoso-users-boun...@lists.sourceforge.net > Subject: RE: [Virtuoso-users] Export RDF to a file > > Alex, > > > There is quite a lot of data in the sql server database behind this > > quad > storage (1.8gb), is there some reason construct would take so > much longer? > Perhaps the 'limit 10' gets ignored? > > Yes, you're right. > > I'm sorry but 'LIMIT' modifier does not have effect on > CONSTRUCT in current version of Virtuoso, so we temporarily > violate '10.2.3 Solution Modifiers and CONSTRUCT' of SPARQL > W3C Working Draft 26 March 2007. > The CONSTRUCT has tried to collect all triples from the storage. > This will be fixed. > > Best Regards, > IvAn Mikhailov. > > -----Original Message----- > From: Alex Black [mailto:alex.bl...@terapath.net] > Sent: Monday, April 30, 2007 9:11 PM > To: imikhailov; virtuoso-users-boun...@lists.sourceforge.net > Subject: RE: [Virtuoso-users] Export RDF to a file > > Hi Ivan, > > I've hit a small problem with CONSTRUCT - when I use > construct (instead of select), they query seems to take > forever, I waited about 10 mins and then gave up. > > This query returns 10 rows and returns instantly: > > sparql > define input:storage > <http://terapath.net/adb/quad_storage/default> > Select * > where { ?s ?p ?o } limit 10 > > This query takes some amount of time, > 10 mins, I haven't > waited long enough to see it complete... The computer's CPU > stays at 100% usage while I waited.. After 10 mins I > restarted the service. > > sparql > define input:storage > <http://terapath.net/adb/quad_storage/default> > construct { ?s ?p ?o } > where { ?s ?p ?o } limit 10 > > There is quite a lot of data in the sql server database > behind this quad storage (1.8gb), is there some reason > construct would take so much longer? > Perhaps the 'limit 10' gets ignored? > > - Alex > > > -----Original Message----- > > From: Alex Black > > Sent: Monday, April 30, 2007 9:00 AM > > To: 'imikhailov' > > Cc: virtuoso-users-boun...@lists.sourceforge.net > > Subject: RE: [Virtuoso-users] Export RDF to a file > > > > Thanks very much Ivan, that helps a lot! > > > > > -----Original Message----- > > > From: imikhailov [mailto:imikhai...@openlinksw.com] > > > Sent: Saturday, April 28, 2007 3:19 PM > > > To: Alex Black > > > Cc: virtuoso-users-boun...@lists.sourceforge.net > > > Subject: RE: [Virtuoso-users] Export RDF to a file > > > > > > Hello Alex, > > > > > > The output stream may be created by string_output() 'constructor' > > > function. > > > The returned value is an object that can grow basically > > infinitely (it > > > supports even flushing to disk when it become really > huge). It is a > > > valid input for variety of functions including http(), > http_value() > > > etc; > > > DB.DBA.RDF_TRIPLES_TO_TTL() serialize data using http_* family of > > > functions so the serialisation can be sent to HTTP client (if the > > > second parameter is > > > NULL) or written to file (by string_to_file()) or converted to a > > > string by string_output_string(). > > > > > > A simple use case: > > > > > > create procedure DB.DBA.CONSTRUCT_AND_SAVE_TO_TTL_FILE (in > > > construct_query varchar, in dflt_graph varchar, in filename > > varchar) { > > > declare ses, res, triples any; > > > res := DB.DBA.SPARQL_EVAL_TO_ARRAY (construct_query, > > dflt_graph, 1); > > > triples := dict_list_keys (res[0][0], 1); > > > ses := string_output (); > > > DB.DBA.RDF_TRIPLES_TO_TTL (triples, ses); > > > string_to_file (filename, ses, -2); } ; > > > > > > DB.DBA.CONSTRUCT_AND_SAVE_TO_TTL_FILE ( > > > 'construct { ?s ?p ?o } where { ?s ?p ?o }', > > > DB.DBA.JSO_SYS_GRAPH(), > > > 'system_metadata.ttl' ); > > > > > > > > > Best Regards, > > > IvAn Mikhailov. > > > > > > -----Original Message----- > > > From: virtuoso-users-boun...@lists.sourceforge.net > > > [mailto:virtuoso-users-boun...@lists.sourceforge.net] On > Behalf Of > > > Alex Black > > > Sent: Saturday, April 28, 2007 3:32 AM > > > To: virtuoso-users@lists.sourceforge.net > > > Subject: [Virtuoso-users] Export RDF to a file > > > > > > Can anyone point me in the right direction to export RDF > to a file > > > (say TTL, or RDF/XML)? > > > > > > It looks to me like DB.DBA.RDF_TRIPLES_TO_TTL() would work, but I > > > can't figure out what to pass in to the second parameter > > (the output > > > stream)? > > > > > > > >