- From: Souripriya Das <SOURIPRIYA.DAS@oracle.com>
- Date: Thu, 9 Feb 2012 20:28:57 -0800 (PST)
- To: <juanfederico@gmail.com>
- Cc: <public-rdb2rdf-wg@w3.org>
- Message-ID: <1a60244d-d719-4483-a8a6-c10f85bf6eb6@default>
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