On 13.9.2010 18:19, Hugh Williams wrote:
Hi Florian,
You mentioning trying two approaches to dumping the data but only provide
details of one below, what is the other method you tried and did this work ?
The other approach I tried for dumping data used the RDF_QM_TREE_DUMP
procedure, with this result:
SQL> RDF_QM_TREE_DUMP('dump',<graph-iri>,NULL,NULL);
Connected to OpenLink Virtuoso
Driver: 06.01.3127 OpenLink Virtuoso ODBC Driver
*** Error 22023: [OpenLink][Virtuoso ODBC Driver][Virtuoso Server]The
RDF QM schema object <http://www.openlinksw.com/schemas
not exist, should be of type
<http://www.openlinksw.com/schemas/virtrdf#QuadMap>
at line 1 of Top-Level:
RDF_QM_TREE_DUMP('dump',<graph-iri>,NULL,NULL)
The "isctype.c" , error appears to be quite common on windows machines
searching on google and implies that a character is being passed to the function that out
side the 255 ANSI character range. Thus does any of the data you are dumping contain
non-ASCII characters outside the 255 range ?
Yes. The data is crawled/sponged from dbpedia, freebase, and other
sources. The partial dump (the first ~30 MB) contains a number of UTF-8
encoded data. The last output triples are these
dbpedia:Emanuel_Pogatetz rdfs:comment <comment>
in different languages, the last one being @ru, and according to the
order they are returned when querying the repository, the next one
should be @sv (which doesn't seem to have any chars > 255); Literals
successfully dumped for this subject/predicate combination include
@ru,@jp and @zh.
You can check the number of triples in your Virtuoso server by running the
command:
select count(*) from<graph-name> where {?s ?p ?o}
I've done some more crawling since I had the sparql-problem. Now there
are 1190468 triples in the graph.
Is it possible to provide some sample data we can use to attempt recreation of
this problem ?
The dump problem only involves one graph, created entirely by the
virtuoso crawler, starting with this target url:
http://rdf.freebase.com/rdf/en/football
following these RDF properties
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.w3.org/2002/07/owl#sameAs
http://rdf.freebase.com/ns/sports.sport.teams
http://rdf.freebase.com/ns/sports.sport.leagues
http://rdf.freebase.com/ns/sports.sports_league.teams
http://rdf.freebase.com/ns/sports.sports_league_participation.team
http://rdf.freebase.com/ns/sports.sports_league_participation.league
http://rdf.freebase.com/ns/sports.sports_league_participation
http://rdf.freebase.com/ns/sports.sports_team.arena_stadium
http://rdf.freebase.com/ns/soccer.football_team.current_roster
http://rdf.freebase.com/ns/soccer.football_roster_position
http://rdf.freebase.com/ns/soccer.football_roster_position.player
http://rdf.freebase.com/ns/soccer.football_roster_position.team
Thanks for your help!
Best,
Florian
Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support
Twitter: http://twitter.com/OpenLink
On 13 Sep 2010, at 09:33, Florian Kleedorfer wrote:
Hi Hugh,
I'm running Virtuoso Version: 06.01.3127, Build: Jul 9 2010 on Windows XP
Professional, version 2002, Service Pack 3
I tried two approaches for dumping the rdf data:
1. dump_one_graph(<graph_iri>,<outfile>,<size)
approx. 30MB of rdf data were dumped before a window opens saying that an
assertion failed:
Program: [virtuoso-home]/bin/virtuoso-t.ext
File: [virtuoso-home]/bin/isctype.c
Line: 56
Expression: (unsigned)(c+1)<= 256
Clicking 'retry', 'ignore' and 'abort' all lead to a server crash. in the isql
window, this message is shown:
*** Error 08S01: [OpenLink][Virtuoso ODBC Driver]CL065: Lost connection to
server
at line 1 of Top-Level:
dump_one_graph(<graph_iri>,'dump.ttl',100000000)
After that, the server is dead and needs to be restarted. I'm not aware of a
core dump file.
virtuoso.ini and virtuoso.log files are attached.
I don't know how I query for the number of triples in a graph, so that piece of
information is missing for now.
Thanks,
Florian
On 11.9.2010 02:01, Hugh Williams wrote:
Hi Florian,
How many triples are loaded into the Virtuoso database you are attempting to
dump the contents of ? Can you please provide a copy of the virtuoso.ini and
virtuoso.log files for analysis. When you say the server crashes is a core file
created also ?
What is the version number of your virtuoso installation , run the command
virtuoso-t -? to determine the version or the conductor reports this is the
left hand frame ?
Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support
Twitter: http://twitter.com/OpenLink
On 10 Sep 2010, at 15:40, Florian Kleedorfer wrote:
Hi Hugh,
The query runs without a problem now, and I don't know why.
Here's what I have done since my last mail:
* Trying to create an rdf dump as described in
http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html, 16.11.4 and
16.11.5, caused the server to crash several times (I was hoping to export the
rdf data sponged by virtuoso and import it into a native sesame repository, and
continue with that)
* I ran the query I sent you before from the conductor's sparql panel,
prepending this line (found in 16.11.6):
define sql:select-option "order, loop"
and now it works, even if I leave that line out.
here's the output of the explain() function.
Query result:
REPORT
VARCHAR
{
END Node
After test:
0: if (<constant (0)> 1(=)<constant (1)>) then 9 else 4 unkn 9
4: if (<constant (0)> 1(=)<constant (1)>) then 9 else 8 unkn 9
8: BReturn 1
9: BReturn 0
Precode:
0: $26 "callret" := Call min_bnode_iri_id ()
5: $27 "callret" := Call DB.DBA.RDF_OBJ_OF_SQLVAL (<constant (1)>)
12: BReturn 0
from DB.DBA.RDF_QUAD by RDF_QUAD_POGS 0.26 rows
Key RDF_QUAD_POGS ASC ($30 "t2.S", $29 "t2.O")
inlined<col=551 P =<constant (#i3600002)>>
row specs:<col=549 G =<constant (#i1053096)>>
Local Test
0: if (<constant (0)> 1(=)<constant (1)>) then 5 else 4 unkn 5
4: BReturn 1
5: BReturn 0
from DB.DBA.RDF_QUAD by RDF_QUAD_POGS 2.5 rows
Key RDF_QUAD_POGS ASC ($35 "t3.G", $34 "t3.S")
<col=551 P =<constant (#i1)>> ,<col=552 O = $30 "t2.S">
0
from DB.DBA.RDF_QUAD by RDF_QUAD_POGS Unique
Key RDF_QUAD_POGS ASC ($40 "t1.O", $39 "t1.S")
<col=551 P =<constant (#i1053097)>> ,<col=552 O = $27 "callret"> ,<col=549 G =<constant
(#i1053096)>> ,<col=550 S = $35 "t3.G">
row specs:<col=550 S< $26 "callret">
Local Test
0: $43 "callret" := Call isiri_id ($40 "t1.O")
5: $44 "temp" := artm<constant (1)> - $43 "callret"
9: if (<constant (0)> 1(=) $44 "temp") then 14 else 13 unkn 14
13: BReturn 1
14: BReturn 0
Precode:
0: $45 "ind" := Call __id2i ($34 "t3.S")
5: $46 "ctx" := Call __ro2sq ($29 "t2.O")
10: $47 "type" := Call __id2i ($30 "t2.S")
15: $48 "g1" := Call __id2i ($39 "t1.S")
20: BReturn 0
local save: ($61 "set_ctr", $70 "set_no_save")
cluster outer seq start, set no $61 "set_ctr"
save ctx:()
from DB.DBA.RDF_QUAD by RDF_QUAD_SP 3.2 rows
Key RDF_QUAD_SP ASC ($50 "t5.P")
inlined<col=550 S = $34 "t3.S">
from DB.DBA.RDF_QUAD by RDF_QUAD 1.6 rows
Key RDF_QUAD ASC ($54 "t5.O")
inlined<col=551 P = $50 "t5.P"> ,<col=550 S = $34 "t3.S">
row specs:<col=549 G = $39 "t1.S"> ,<col=549 G = $35 "t3.G">
After test:
0: $57 "callret" := Call __ro2sq ($54 "t5.O")
5: $58 "callret" := Call DB.DBA.RDF_LANGUAGE_OF_OBJ ($57 "callret")
12: $59 "callret" := Call DB.DBA.RDF_LANGMATCHES ($58 "callret",<constant
(en)>)
19: if (<constant (0)> 1(=) $59 "callret") then 24 else 23 unkn 24
23: BReturn 1
24: BReturn 0
end of outer seq $61 "set_ctr"
out: ($50 "t5.P", $59 "callret", $58 "callret", $54 "t5.O", $57 "callret")
After code:
0: $71 "correctLangProp" := Call __id2i ($50 "t5.P")
5: $72 "correctLangVal" := Call __ro2sq ($54 "t5.O")
10: BReturn 0
Select (TOP<constant (10)>) ($48 "g1", $47 "type", $46 "ctx", $45 "ind", $71 "correctLangProp", $72 "correctLangVal",<$56 "<DB.DBA.RDF_QUAD t5>" spec 5>,<$52
"<DB.DBA.RDF_QUAD t5>" spec 5>,<$41 "<DB.DBA.RDF_QUAD t1>" spec 4>,<$37 "<DB.DBA.RDF_QUAD t3>" spec 5>,<$32 "<DB.DBA.RDF_QUAD t2>" spec 5>)
}
No. of rows in result: 74
On 10.9.2010 15:35, Hugh Williams wrote:
Hi Florian,
Can you please provide the compilation and query execution plan for this query
using the Virtuoso explain() function as detailed at:
http://docs.openlinksw.com/virtuoso/fn_explain.html
Note you will need to run this function from the Virtuoso "isql" command line program or the
"Interactive SQL" interface of the conductor (not the sparql one) remembering to prepend your
query with the "sparql ..." keyword specifier.
Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support
Twitter: http://twitter.com/OpenLink
On 10 Sep 2010, at 13:13, Florian Kleedorfer wrote:
Hi,
I'm having problems with a SPARQL query I need to run on virtuoso. The sparql
engine returns this error message (with a simplified version of my query):
37000 Error SP031: SPARQL compiler: Internal error: The SPARQL optimizer has
failed to process the query with reasonable quality. The resulting SQL query is
abnormally long. Please paraphrase the SPARQL query.
SPARQL query:
PREFIX owl:
PREFIX sc:
PREFIX common:
PREFIX config:
PREFIX xsd:
select *
FROM config:
where {
?g1 common:useGraph "true"^^xsd:boolean
. ?type common:resultForContext ?ctx
. GRAPH ?g1 {
?ind a ?type
. OPTIONAL {
?ind ?correctLangProp ?correctLangVal
. filter(langMatches(lang(?correctLangVal),"en"))
}
}
} limit 10
The idea is to have a named graph (config: in this query) that contains the
names of graphs which in turn contain the data I want to work on. This works
fine unless I use optional graph patterns to select from a graph IRI found in
the config: graph (?g1 in this query). I tried different reformulations of the
query, but I had no luck.
Any ideas, anyone? - Thanks!
Best,
Florian
------------------------------------------------------------------------------
Automate Storage Tiering Simply
Optimize IT performance and efficiency through flexible, powerful,
automated storage tiering capabilities. View this brief to learn how
you can reduce costs and improve performance.
http://p.sf.net/sfu/dell-sfdev2dev_______________________________________________
Virtuoso-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtuoso-users
<virtuoso.ini><virtuoso.log>------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Virtuoso-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtuoso-users