W3C home > Mailing lists > Public > public-rdb2rdf-wg@w3.org > June 2012

First EARL report for Virtuoso's support of R2RML ( rdb2rdf.vad ) with Virtuoso itself as a data source.

From: Ivan Mikhailov <imikhailov@openlinksw.com>
Date: Fri, 29 Jun 2012 04:49:58 +0700
To: "public-rdb2rdf-wg@w3.org" <public-rdb2rdf-wg@w3.org>
Message-ID: <1340920198.3205.51.camel@octo.iv.dev.null>
Hello,

The attached report is incomplete because I'm still writing th test
driver. E.g. if R2RML rules mention graph then it is handled according
to the spec but in that case I need a comparison for lists of quads to
check the result automatically, I compare only triples ATM so such tests
remains not listed.
In addition, Virtuoso provides separate validator for R2RML descriptions
and a separate translator from R2RML to proprietary mapping rules
(so-called "RDF Views". Obviously, there's no way to demonstrate via
EARL whether this validation really works, but it is.
We've implemented DirectMapping as well but that results are not
included into this EARL. Again, it's an incomplete test driver.

I will submit more EARLs later.

Best Regards,

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

P.S. The test suite has "create.sql" scripts but no "drop.sql" to revert
the database to its original state. To make tests re-entrant I've
generated "drop" sequences automatically, but ready-to-use "drop.sql"
would be nicer, esp. for cases with foreign keys. It would be convenient
to provide names to constraints, too.


@prefix rdf:	<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ns1:	<http://www.w3.org/2001/sw/rdb2rdf/test-cases/#> .
@prefix ns2:	<http://www.w3.org/ns/earl#> .
ns1:tc0000-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0000 .
@prefix ns3:	<http://purl.org/NET/rdb2rdf-test#> .
@prefix rr:	<http://www.w3.org/ns/r2rml#> .
ns1:tc0000-assertion	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0000-last-result .
ns1:tc0000-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass .
@prefix xsd:	<http://www.w3.org/2001/XMLSchema#> .
@prefix dc:	<http://purl.org/dc/elements/1.1/> .
ns1:tc0000-last-result	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0001a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0001a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0001a-last-result .
ns1:tc0001a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0001b-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0001b ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0001b-last-result .
ns1:tc0001b-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0002a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0002a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0002a-last-result .
ns1:tc0002a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0002b-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0002b ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0002b-last-result .
ns1:tc0002b-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0002c-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0002c ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0002c-last-result .
ns1:tc0002c-last-result	rdf:type	ns2:TestResult .
@prefix rdfs:	<http://www.w3.org/2000/01/rdf-schema#> .
ns1:tc0002c-last-result	rdfs:comment	"Error R2RML: Data source <http://example.com/base/TriplesMap1> does not produce column \"IDs\"" ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0002e-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0002e ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0002e-last-result .
ns1:tc0002e-last-result	rdf:type	ns2:TestResult ;
	rdfs:comment	"Error R2RML: Error 42S02 in declaration of data source for <http://example.com/base/TriplesMap1>: SQ074: Line 1: No table DB.DBA.Students in * reference" ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0002g-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0002g ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0002g-last-result .
ns1:tc0002g-last-result	rdf:type	ns2:TestResult ;
	rdfs:comment	"Error R2RML: Error 37000 in declaration of data source for <http://example.com/base/TriplesMap1>: SQ074: Line 2: syntax error at 'IS' before 'NOT'" ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0002h-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0002h ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0002h-last-result .
ns1:tc0002h-last-result	rdf:type	ns2:TestResult ;
	rdfs:comment	"Error 22023: SR007: Function concat needs a string or UNAME or NULL as argument 2, not an arg of type INTEGER (189)" ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0002i-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0002i ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0002i-last-result .
ns1:tc0002i-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0002j-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0002j ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0002j-last-result .
ns1:tc0002j-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0003b-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0003b ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0003b-last-result .
ns1:tc0003b-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0003c-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0003c ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0003c-last-result .
ns1:tc0003c-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0004a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0004a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0004a-last-result .
ns1:tc0004a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0005a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0005a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0005a-last-result .
ns1:tc0005a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0005b-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0005b ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0005b-last-result .
ns1:tc0005b-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0007a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0007a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0007a-last-result .
ns1:tc0007a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0007c-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0007c ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0007c-last-result .
ns1:tc0007c-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0007d-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0007d ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0007d-last-result .
ns1:tc0007d-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0007g-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0007g ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0007g-last-result .
ns1:tc0007g-last-result	rdf:type	ns2:TestResult ;
	rdfs:comment	"Error R2RML: No valid instances of TriplesMap, hence nothing to do" ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0007h-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0007h ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0007h-last-result .
ns1:tc0007h-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0008b-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0008b ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0008b-last-result .
ns1:tc0008b-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0008c-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0008c ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0008c-last-result .
ns1:tc0008c-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0009a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0009a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0009a-last-result .
ns1:tc0009a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0009b-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0009b ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0009b-last-result .
ns1:tc0009b-last-result	rdf:type	ns2:TestResult ;
	rdfs:comment	"1 errors reported during the test" ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0009d-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0009d ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0009d-last-result .
ns1:tc0009d-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0011b-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0011b ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0011b-last-result .
ns1:tc0011b-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0012d-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0012d ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0012d-last-result .
ns1:tc0012d-last-result	rdf:type	ns2:TestResult ;
	rdfs:comment	"1 errors reported during the test" ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0013a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0013a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0013a-last-result .
ns1:tc0013a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0015b-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0015b ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0015b-last-result .
ns1:tc0015b-last-result	rdf:type	ns2:TestResult ;
	rdfs:comment	"Error R2RML: Error 37000 in declaration of data source for <http://example.com/base/TriplesMap1>: SQ074: Line 5: syntax error" ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0018a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0018a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0018a-last-result .
ns1:tc0018a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0019a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0019a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0019a-last-result .
ns1:tc0019a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
ns1:tc0020a-assertion	rdf:type	ns2:Assertion ;
	ns2:test	ns1:R2RMLTC0020a ;
	ns3:dbms	rr:OpenLinkVirtuoso ;
	ns2:assertedBy	<http://virtuoso.openlinksw.com> ;
	ns2:subject	rr:OpenLinkVirtuoso ;
	ns2:result	ns1:tc0020a-last-result .
ns1:tc0020a-last-result	rdf:type	ns2:TestResult ;
	ns2:outcome	ns2:pass ;
	dc:date	"2012-06-29T04:30:53+07:00"^^xsd:dateTime .
Received on Thursday, 28 June 2012 21:50:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 28 June 2012 21:50:35 GMT