Open jakubklimek opened 9 years ago
@jakubklimek: I downloaded the database but when I start it I don't see any new graphs, it almost seems to be an empty database:
SQL> SPARQL SELECT distinct ?graph WHERE { GRAPH ?graph { ?s ?p ?o } }; graph VARCHAR
http://www.openlinksw.com/schemas/virtrdf# http://www.w3.org/ns/ldp# http://localhost:8890/sparql http://localhost:8890/DAV/ http://www.w3.org/2002/07/owl#
5 Rows. -- 334 msec. SQL>
What graphs are suppose to be in the database as I would expect one is reference in the query ?
OK, must have shut down virtuoso before it wrote the data to the .db. Please try downloading again, the query will now be (different graphs):
prefix mfcr-dsd: <http://linked.opendata.cz/resource/domain/mfcr/monitor/dsd/>
prefix mfcr-data: <http://linked.opendata.cz/resource/domain/mfcr/monitor/data/>
prefix nuts: <http://ec.europa.eu/eurostat/ramon/ontologies/geographic.rdf#>
prefix qb: <http://purl.org/linked-data/cube#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix sdmx-attribute: <http://purl.org/linked-data/sdmx/2009/attribute#>
prefix sdmx-dimension: <http://purl.org/linked-data/sdmx/2009/dimension#>
prefix simple: <http://linked.opendata.cz/ontology/domain/mfcr/simplerdf/>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
prefix dcterms: <http://purl.org/dc/terms/>
WITH <http://unifiedviews.eu/resource/internal/dataunit/exec/158/dpu/196/du/1/entry/1>
INSERT
{
mfcr-data:FINU108 a qb:DataSet ;
qb:structure mfcr-dsd:FINU108 ;
rdfs:label "MFČR FINU108"@cs ;
dcterms:title "MFČR FINU108"@cs ;
rdfs:comment "Výkaz pro hodnocení plnění rozpočtu správců kapitol, organizačních složek státu a státních fondů FIN 2-04 U, část 8"@cs ;
dcterms:description "Výkaz pro hodnocení plnění rozpočtu správců kapitol, organizačních složek státu a státních fondů FIN 2-04 U, část 8"@cs
.
?observation a qb:Observation;
#DataSet
qb:dataSet mfcr-data:FINU108 ;
#Dimensions
mfcr-dsd:vykazTabulka ?vykazTabulka ;
mfcr-dsd:fiskalniObdobi ?fiskalniObdobi ;
mfcr-dsd:ic ?ic ;
mfcr-dsd:polozka ?polozka ;
mfcr-dsd:rozpoctovyProgram ?rozpoctovyProgram ;
#Measures
mfcr-dsd:schvalenyRozpocet ?schvalenyRozpocet ;
mfcr-dsd:rozpocetPoZmenach ?rozpocetPoZmenach ;
mfcr-dsd:konecnyRozpocet ?konecnyRozpocet ;
mfcr-dsd:vysledekZaRok ?vysledekZaRok
.
}
USING <http://unifiedviews.eu/resource/internal/dataunit/exec/158/dpu/190/du/1/entry/5>
WHERE
{
?row simple:vykaz ?simpleVykaz ;
simple:vykazTabulka ?simpleVykazTabulka ;
simple:fiskalniObdobi ?simpleFiskalniObdobi ;
simple:ic ?simpleIc ;
simple:rozpoctovyProgram ?simpleRozpoctovyProgram ;
simple:polozka ?simplePolozka ;
simple:schvalenyRozpocet ?simpleSchvalenyRozpocet ;
simple:rozpocetPoZmenach ?simpleRozpocetPoZmenach ;
simple:konecnyRozpocet ?simpleKonecnyRozpocet ;
simple:vysledekZaRok ?simpleVysledekZaRok
.
BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/data/observations/finu108/",
?simpleVykaz,"/", ?simpleVykazTabulka,"/", ?simpleFiskalniObdobi,"/", ?simpleIc, "/", ?simplePolozka, "/", ?simpleRozpoctovyProgram )) as ?observation)
BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/TabulkaVykazu/", REPLACE(?simpleVykaz,"0+([^0].*)","$1"), "/", REPLACE(?simpleVykazTabulka,"0+([^0].*)","$1"))) as ?vykazTabulka)
BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/FiskalniObdobi/", ?simpleFiskalniObdobi)) as ?fiskalniObdobi)
BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/UcetniJednotka/", IF(strlen(?simpleIc) = 10, substr(?simpleIc, 3), ?simpleIc))) as ?ic)
BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/Polozka/", ?simplePolozka)) as ?polozka)
BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/RozpoctovyProgram/", ?simpleRozpoctovyProgram)) as ?rozpoctovyProgram)
BIND (xsd:decimal(IF(CONTAINS(?simpleSchvalenyRozpocet, '-'), CONCAT("-", strbefore(?simpleSchvalenyRozpocet, "-")), strbefore(?simpleSchvalenyRozpocet, " "))) as ?schvalenyRozpocet)
BIND (xsd:decimal(IF(CONTAINS(?simpleRozpocetPoZmenach, '-'), CONCAT("-", strbefore(?simpleRozpocetPoZmenach, "-")), strbefore(?simpleRozpocetPoZmenach, " "))) as ?rozpocetPoZmenach)
BIND (xsd:decimal(IF(CONTAINS(?simpleKonecnyRozpocet, '-'), CONCAT("-", strbefore(?simpleKonecnyRozpocet, "-")), strbefore(?simpleKonecnyRozpocet, " "))) as ?konecnyRozpocet)
BIND (xsd:decimal(IF(CONTAINS(?simpleVysledekZaRok, '-'), CONCAT("-", strbefore(?simpleVysledekZaRok, "-")), strbefore(?simpleVysledekZaRok, " "))) as ?vysledekZaRok)
}
@jakubklimek: I download the "dbfit2.zip" DB archive which now gives the following graphs:
SQL> SPARQL SELECT distinct ?graph WHERE { GRAPH ?graph { ?s ?p ?o } }; graph VARCHAR
http://www.openlinksw.com/schemas/virtrdf# http://www.w3.org/2002/07/owl# http://unifiedviews.eu/resource/internal/dataunit/exec/158/dpu/190/du/1/entry/3 http://unifiedviews.eu/resource/internal/dataunit/exec/158/dpu/190/du/1/entry/4 http://unifiedviews.eu/resource/internal/dataunit/exec/158/dpu/177/du/1
5 Rows. -- 109 msec. SQL>
And running the new query provided above against the /sparql-auth endpoint or isql is successful:
SQL> SPARQL prefix mfcr-dsd: http://linked.opendata.cz/resource/domain/mfcr/monitor/dsd/ prefix mfcr-data: http://linked.opendata.cz/resource/domain/mfcr/monitor/data/ prefix nuts: http://ec.europa.eu/eurostat/ramon/ontologies/geographic.rdf# prefix qb: http://purl.org/linked-data/cube# prefix rdfs: http://www.w3.org/2000/01/rdf-schema# prefix sdmx-attribute: http://purl.org/linked-data/sdmx/2009/attribute# prefix sdmx-dimension: http://purl.org/linked-data/sdmx/2009/dimension# prefix simple: http://linked.opendata.cz/ontology/domain/mfcr/simplerdf/ prefix xsd: http://www.w3.org/2001/XMLSchema# prefix dcterms: http://purl.org/dc/terms/ WITH http://unifiedviews.eu/resource/internal/dataunit/exec/158/dpu/196/du/1/entry/1 INSERT { mfcr-data:FINU108 a qb:DataSet ; qb:structure mfcr-dsd:FINU108 ; rdfs:label "MFČR FINU108"@cs ; dcterms:title "MFČR FINU108"@cs ; rdfs:comment "Výkaz pro hodnocení plnění rozpočtu správců kapitol, organizačních složek státu a státních fondů FIN 2-04 U, část 8"@cs ; dcterms:description "Výkaz pro hodnocení plnění rozpočtu správců kapitol, organizačních složek státu a státních fondů FIN 2-04 U, část 8"@cs . ?observation a qb:Observation; qb:dataSet mfcr-data:FINU108 ; mfcr-dsd:vykazTabulka ?vykazTabulka ; mfcr-dsd:fiskalniObdobi ?fiskalniObdobi ; mfcr-dsd:ic ?ic ; mfcr-dsd:polozka ?polozka ; mfcr-dsd:rozpoctovyProgram ?rozpoctovyProgram ; mfcr-dsd:schvalenyRozpocet ?schvalenyRozpocet ; mfcr-dsd:rozpocetPoZmenach ?rozpocetPoZmenach ; mfcr-dsd:konecnyRozpocet ?konecnyRozpocet ; mfcr-dsd:vysledekZaRok ?vysledekZaRok . } USING http://unifiedviews.eu/resource/internal/dataunit/exec/158/dpu/190/du/1/entry/5 WHERE { ?row simple:vykaz ?simpleVykaz ; simple:vykazTabulka ?simpleVykazTabulka ; simple:fiskalniObdobi ?simpleFiskalniObdobi ; simple:ic ?simpleIc ; simple:rozpoctovyProgram ?simpleRozpoctovyProgram ; simple:polozka ?simplePolozka ; simple:schvalenyRozpocet ?simpleSchvalenyRozpocet ; simple:rozpocetPoZmenach ?simpleRozpocetPoZmenach ; simple:konecnyRozpocet ?simpleKonecnyRozpocet ; simple:vysledekZaRok ?simpleVysledekZaRok . BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/data/observations/finu108/", ?simpleVykaz,"/", ?simpleVykazTabulka,"/", ?simpleFiskalniObdobi,"/", ?simpleIc, "/", ?simplePolozka, "/", ?simpleRozpoctovyProgram )) as ?observation) BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/TabulkaVykazu/", REPLACE(?simpleVykaz,"0+([^0].)","$1"), "/", REPLACE(?simpleVykazTabulka,"0+([^0].)","$1"))) as ?vykazTabulka) BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/FiskalniObdobi/", ?simpleFiskalniObdobi)) as ?fiskalniObdobi) BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/UcetniJednotka/", IF(strlen(?simpleIc) = 10, substr(?simpleIc, 3), ?simpleIc))) as ?ic) BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/Polozka/", ?simplePolozka)) as ?polozka) BIND (IRI(CONCAT("http://linked.opendata.cz/resource/domain/mfcr/monitor/ciselniky/RozpoctovyProgram/", ?simpleRozpoctovyProgram)) as ?rozpoctovyProgram) BIND (xsd:decimal(IF(CONTAINS(?simpleSchvalenyRozpocet, '-'), CONCAT("-", strbefore(?simpleSchvalenyRozpocet, "-")), strbefore(?simpleSchvalenyRozpocet, " "))) as ?schvalenyRozpocet) BIND (xsd:decimal(IF(CONTAINS(?simpleRozpocetPoZmenach, '-'), CONCAT("-", strbefore(?simpleRozpocetPoZmenach, "-")), strbefore(?simpleRozpocetPoZmenach, " "))) as ?rozpocetPoZmenach) BIND (xsd:decimal(IF(CONTAINS(?simpleKonecnyRozpocet, '-'), CONCAT("-", strbefore(?simpleKonecnyRozpocet, "-")), strbefore(?simpleKonecnyRozpocet, " "))) as ?konecnyRozpocet) BIND (xsd:decimal(IF(CONTAINS(?simpleVysledekZaRok, '-'), CONCAT("-", strbefore(?simpleVysledekZaRok, "-")), strbefore(?simpleVysledekZaRok, " "))) as ?vysledekZaRok) }; isql: get_next_token: Unknown macro word "1" at line 152 of Top-Level isql: get_next_token: Unknown macro word "1" at line 152 of Top-Level
Done. -- 979 msec. SQL>
SQL> status(''); REPORT VARCHAR
OpenLink Virtuoso Server Version 07.10.3211-pthreads for Linux as of Jan 8 2015 Started on: 2015-01-14 03:18 GMT+1
Note this is using the INI file etc provided in the zip ...
OK 1) the query gives you wrong results, please see https://github.com/openlink/virtuoso-opensource/issues/290 and use the query shown there 2) As I said in the issue, the query works through isql and through SPARQL endpoint. However, it does not work when issued through Sesame2 virtuoso driver
@jakubklimek: Ah yes, need to run via Sesame .. can you provide some pseudo code as to how the query is being executed via Sesame i.e. what methods are being used ?
The exception is thrown here: https://github.com/mff-uk/DPUs/blob/master/dpu/t-sparqConstruct/src/main/java/cz/cuni/mff/xrg/uv/transformer/sparql/construct/SparqlConstruct.java#L161
It is a UnifiedViews DPU that runs SPARQL queries
@jakubklimek: I have created a sesame program for executing the query and have recreated the error which has been reported to development to fix ...
@jakubklimek: Is there a reason SQL_UTF8_EXECS is set in your INI file as removing this setting enable the query to run via the Sesame Provider. Development indicate that setting this breaks the utf-8 query literals ...
I enabled it to be sure that I did everything I could for UTF-8 support. From the documentation, it is not entirely clear what this does exactly. Does this enable UTF-8 characters in realtional table names? If this is the case then I guess I don't need it as I am using Virtuoso just for RDF
Commit: a170a0f4ba63acbaf403ac83964d58a815fb2241 Database here
The below query when executed through the Sesame2 Virtuoso driver causes
It evaluates OK through SPARQL endpoint and isql.
The error is caused by the @cs language tags in the INSERT clause, when you remove them, the query works even through the Sesame driver.
Query: