Re: Container Resources and Reified statement - which is the correct parser out there?

Hi Ayalew

There's an annoying bug in SiRPAC which always reifies Description
elements in containers even if you've already reified them. See 

http://www.w3.org/RDF/Implementations/SiRPAC/SiRPAC-defects.html

ID NOV-15-2000-1 

Libby


On Wed, 10 Jan 2001, Ayalew Kassahun wrote:

> Hi,
>  
> There is already a lot of disscussion going on this topic, but this is just
> a practical problem. If it has been answered before please point me to that.
>  
> I am trying to use RDF in my app and and I come accross a problem concerning
> container resources. I tested an RDF data on three parsers available on the
> web and all three gave different triples for container (statments with
> bagID) . Some of the differences I could explain but some others not.
>  
> I took the RDF (shown below and taken from CARA[1] - E9) and run it on
> Redland[2], CARA and SiRPAC[3]. The results are shown further down. Can
> someone explain to me which is the most correct? Namely: 
>  
> 1 - I do not understand why Redland 'reifies' statement with ID 'res1'?!
> 2 - I do not understand why Redland and CARA 'reify' statement stat3. This
> seems to me wrong.?! 
> 3 - SiRPAC seems to be inconsistent here - stat1 is reified and but not
> stat2
>  
> Regards,
> Ayalew
>  
>  
> [RDF]
> 1:  <?xml version="1.0" ?>
> 2:  <rdf:RDF xmlns="  <http://myNS.org> http://myNS.org#"
> 3:      xmlns:rdf="  <http://www.w3.org/1999/02/22-rdf-syntax-ns>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#">
> 4:  <typedNode rdf:ID="res1" rdf:bagID="stat_bag1">
> 5:    <prop1 rdf:ID="stat1">
> 6:      <rdf:Description rdf:ID="res2" rdf:bagID="stat_bag2">
> 7:        <prop2 rdf:ID="stat2">a value</prop2>
> 8:      </rdf:Description> 
> 9:    </prop1>
> 10: </typedNode>
> 11: <rdf:Description rdf:ID="res3">
> 12:   <prop3 rdf:ID="stat3">another value</prop3>
> 13: </rdf:Description>
> 14: </rdf:RDF>
> 
> 
> [Redland]
> 1: (file#res1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://myNS.org#typedNode> http://myNS.org#typedNode)
> 2: (file#stat_bag1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag)
> 3: (file#stat_bag1, [1], file#1)
> 4: (anon: file#1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement)???
> 5:  (anon: file#1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#subject, file#res1)
> 6:  (anon: file#1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type)
> 7:  (anon: file#1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#object>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#object,
> <http://myNS.org#typedNode> http://myNS.org#typedNode)
> 8:  (file#res1,  <http://myNS.org#prop1> http://myNS.org#prop1, file#res2)
> 9:  (file#stat_bag1, [2], stat1)
> 10: (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement)
> 11: (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#subject, file#res1)
> 12: (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate,
> <http://myNS.org#prop1> http://myNS.org#prop1)
> 13: (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#object>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#object, file#res2)
> 14: (file#res2,  <http://myNS.org#prop2> http://myNS.org#prop2, "a value")
> 15: (file#stat_bag2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag)
> 16: (file#stat_bag2, [1], stat2)
> 17: (stat2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement)
> 18: (stat2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#subject, file#res2)
> 19: (stat2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate,
> <http://myNS.org#prop2> http://myNS.org#prop2)
> 20: (stat2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#object>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#object, "a value")
> 21: (file#res3,  <http://myNS.org#prop3> http://myNS.org#prop3, "another
> value")
> 22: (stat3,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement)
> 23: (stat3,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#subject, file#res3)
> 24: (stat3,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate,
> <http://myNS.org#prop3> http://myNS.org#prop3)
> 25: (stat3,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#object>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#object, "another value")
> 
> [CARA]
> 1:  (online:#res1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://myNS.org#typedNode> http://myNS.org#typedNode)
> 2:  (online:#stat_bag1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag)
> 3:  (online:#stat_bag1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#_1, stat1)
> 4:  (online:#res1,  <http://myNS.org#prop1> http://myNS.org#prop1,
> online:#res2)
> 5:  (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement)
> 6:  (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#subject, online:#res1)
> 7:  (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate,
> <http://myNS.org#prop1> http://myNS.org#prop1)
> 8:  (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#object>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#object, online:#res2)
> 9:  (online:#res2,  <http://myNS.org#prop2> http://myNS.org#prop2, "a
> value")
> 10: (online:#stat_bag2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag)
> 11: (online:#stat_bag2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#_1, stat2)
> 12: (stat2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement)
> 13: (stat2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#subject, online:#res2)
> 14: (stat2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate,
> <http://myNS.org#prop2> http://myNS.org#prop2)
> 15: (stat2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#object>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#object, "a value")
> 16: (online:#res3,  <http://myNS.org#prop3> http://myNS.org#prop3, "another
> value")
> 17: (stat3,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement)
> 18: (stat3  <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#subject, online:#res3)
> 19: (stat3,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate,
> <http://myNS.org#prop3> http://myNS.org#prop3)
> 20: (stat3,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#object>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#object, "another value") 
> 
> [SiRPAC]
> 1:  (res1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://myNS.org#typedNode> http://myNS.org#typedNode)
> 2:  (stat_bag1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag)
> 3:  (stat_bag1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#_1, stat1)
> 4:  (res1,  <http://myNS.org#prop1> http://myNS.org#prop1, res2)
> 5:  (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement)
> 6:  (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#subject, res1)
> 7:  (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate,
> <http://myNS.org#prop1> http://myNS.org#prop1)
> 8:  (stat1,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#object>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#object, res2)
> 9:  (res2,  <http://myNS.org#prop2> http://myNS.org#prop2, "a value")
> 10: (stat_bag2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag).
> 11: (stat_bag2,  <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
> http://www.w3.org/1999/02/22-rdf-syntax-ns#_1, stat2)
> 12: (res3,  <http://myNS.org#prop3> http://myNS.org#prop3, "another value").
>  
>  
> [1]    http://zoe.mathematik.uni-osnabrueck.de/RDF/parser.html
> <http://zoe.mathematik.uni-osnabrueck.de/RDF/parser.html> 
> [2]    http://www.redland.opensource.ac.uk/
> <http://www.redland.opensource.ac.uk/> 
> [3]    http://www.w3.org/RDF/Implementations/SiRPAC/
> <http://www.w3.org/RDF/Implementations/SiRPAC/> 
> 

Received on Wednesday, 10 January 2001 12:34:09 UTC