Re: negative test case question

If you are going to materialize the RDF data (for all the million rows): the error will show up (b/c every row gets mapped). 
If you are using virtual RDF, you'll not hit any error until and unless you happen to access the bad row and try to construct an IRI. 


Thanks, 
- Souri. 


----- Original Message ----- 
From: juanfederico@gmail.com 
To: SOURIPRIYA.DAS@oracle.com 
Cc: public-rdb2rdf-wg@w3.org 
Sent: Thursday, February 9, 2012 11:08:59 PM GMT -05:00 US/Canada Eastern 
Subject: Re: negative test case question 


But you said initially that the failure of the mapping would depend on the data. I understand that if in the data, everything is an IRI, then the mapping succeeded. If everything was not an IRI, then the mapping would fail because all the triples are "wrong". But if the data is mixed. Is the mapping right or wrong? 



On Thu, Feb 9, 2012 at 9:53 PM, Souripriya Das < SOURIPRIYA.DAS@oracle.com > wrote: 





If the SPARQL query you are executing does not need to return or use the constructed IRI from that one bad row, then the query should succeed. Otherwise it should fail with an error such as "illegal IRI in data" or something along that line. 



Thanks, 
- Souri. 
----- Original Message ----- 


From: juanfederico@gmail.com 
To: SOURIPRIYA.DAS@oracle.com 
Cc: public-rdb2rdf-wg@w3.org 
Sent: Thursday, February 9, 2012 10:37:08 PM GMT -05:00 US/Canada Eastern 
Subject: Re: negative test case question 

Ok. I see. 

If I have one million rows and they all have IRIs for the FirstName column, except for one row... then what happens? Or is this just an implementation issue. 




Juan Sequeda 
+1-575-SEQ-UEDA 
www.juansequeda.com 



On Thu, Feb 9, 2012 at 9:16 PM, Souripriya Das < SOURIPRIYA.DAS@oracle.com > wrote: 





Whether the following mapping will fail or not will depend upon the data: 




<TriplesMap1> 
a rr:TriplesMap; 
rr:logicalTable [ rr:tableName "Employees" ]; 
rr:subjectMap [ rr:column "FirstName" ]; 
rr:predicateObjectMap 
[ 
rr:predicate foaf:name; 
rr:objectMap [ rr:column "FirstName" ] 
] 
For example, it will not fail for the following data (with uncommon first names) in the EMPLOYEES table: 


FirstName 
----------- 
http://example.com/ns#John 

http://example.com/ns#Mary 


Thanks, 
- Souri. 



----- Original Message ----- 
From: bvillazon@fi.upm.es 
To: juanfederico@gmail.com 
Cc: richard@cyganiak.de , public-rdb2rdf-wg@w3.org 
Sent: Thursday, February 9, 2012 9:17:46 PM GMT -05:00 US/Canada Eastern 
Subject: Re: negative test case question 


Hi Juan 


Thanks for this 



On Feb 10, 2012, at 1:56 AM, Juan Sequeda wrote: 


Let me clarify 


The following mapping is correct: 



<TriplesMap1> 
a rr:TriplesMap; 
rr:logicalTable [ rr:tableName "Employees" ]; 
rr:subjectMap [ rr:column "FirstName"; rr:termType rr:BlankNode ]; 
rr:predicateObjectMap 
[ 
rr:predicate foaf:name; 
rr:objectMap [ rr:column "FirstName" ] 
] 
. 


The following mapping should fail: 



<TriplesMap1> 
a rr:TriplesMap; 
rr:logicalTable [ rr:tableName "Employees" ]; 
rr:subjectMap [ rr:column "FirstName" ]; 
rr:predicateObjectMap 
[ 
rr:predicate foaf:name; 
rr:objectMap [ rr:column "FirstName" ] 
] 
. 


right? 




According to the spec 
<< 


If the term map does not have a rr:termType property, then its term type is: 

    • rr:Literal , if it is an object map and at least one of the following conditions is true: 
        • It is a column-based term map . 
        • It has a rr:language property (and thus a specified language tag ). 
        • It has a rr:datatype property (and thus a specified datatype ). 
    • rr:IRI , otherwise. 


>> 
So, if the FirstName column has "normal" first names … I think yes, it would fail 


Richard? 


Boris 










Juan Sequeda 
+1-575-SEQ-UEDA 
www.juansequeda.com 



On Thu, Feb 9, 2012 at 6:33 PM, Richard Cyganiak < richard@cyganiak.de > wrote: 


Juan, 


On 9 Feb 2012, at 23:51, Juan Sequeda wrote: 
> I'm coming up with r2rml mappings that should fail. 
> 
> The following is correct: 
> 
> <TriplesMap1> 
> a rr:TriplesMap; 
> rr:logicalTable [ rr:tableName "Employees" ]; 
> rr:subjectMap [ rr:column "FirstName"; rr:termType rr:BlankNode ]; 
> rr:predicateObjectMap 
> [ 
> rr:predicate foaf:name; 
> rr:objectMap [ rr:column "FirstName" ] 
> ] 
> . 
> 
> 
> If I take the rr:TermType rr:BlankNode, that should fail, right? 

I'm not sure what you mean. Do you mean, if you add “rr:termType rr:BlankNode” to the object map, then it should fail? 

Why do you think so? 

Richard 

Received on Friday, 10 February 2012 04:29:27 UTC