- From: Jason Diamond <jason@injektilo.org>
- Date: Thu, 11 Jan 2001 07:32:55 -0800
- To: "Bill dehOra" <BdehOra@interx.com>, "'Ayalew Kassahun'" <A.Kassahun@InfoRay.NL>, <www-rdf-interest@w3.org>
> 1 - I do not understand why Redland 'reifies' statement with ID 'res1'?! > >> > > Redland: > > 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#Statement)??? > 5: (anon: file#1, 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#type) > 7: (anon: file#1, http//www.w3.org/1999/02/22-rdf-syntax-ns#object, > http//myNS.org#typedNode) > > since your typedNode <typedNode rdf:ID="" rdf:bagID=""> is shorthand for > Description <Description rdf:ID="" rdf:bagID="" rdf:type="typedNode">, and > is not a property. I think the processor is treating <typedNode.../> as a > property instead of syntactic sugar for a description. I don't know why > Redland creates and stuffs the refication in stat_bag either. Redland (or repat to be more specific) did not reify that statement because of the rdf:ID attribute. Any description (including typed nodes) are reified if they contain a bagID attribute. When you include a bagID on a description, you're giving an identifier to the bag of statements contained within that description. Since having an identifier for the bag means that it's possible to reference the statements in that bag (albeit indirectly), repat reifies each of the statements contained therein--including the implied rdf:type statement that was generated by the typed node production (which I consider to be part of the description). Since the rdf:type statement is implicit, there's no way to give it an identifier. So repat generated an anonymous one. Notice that file#res1 is not the URI for that statement but rather file#1 is. It's confusing that RDF uses an ID attribute for the IDs of subjects when used in descriptions and for the IDs of reified statements when used in property elements. Change the rdf:ID="res1" to rdf:about="http://res1" and you'll see that it gets reified in the same way. So, this behavior is intended but if it's incorrect then please let me know. Jason. > > > >> > 2 - I do not understand why Redland and CARA 'reify' statement > stat3. This > seems to me wrong.?! > >> > > 11: <rdf:Description rdf:ID="res3"> > 12: <prop3 rdf:ID="stat3">another value</prop3> > 13: </rdf:Description> > > You've almost answered your own question. stat3 is a resource > that *reifies* > "a statement": it is *not* "a statement". Whenever you see a > construct like > <prop3 rdf:ID="stat3">another value</prop3>, that implies rdf:ID="stat3" > stands for the enclosing statement by way of reifying it, simply by virtue > of being the value of an rdf:ID attribute of a property element. That > description may be non-intuitive though: "every ID attribute of a property > results in a reified statement" as Stefan put it, is > straightforward (Sirpac > seems to have missed it btw). > > > > 3 - SiRPAC seems to be inconsistent here - stat1 is reified and but not > stat2 > > Looks like a bug to me along with missing the stat3. > > -Bill > > Aside: While none of the processors are mature, it's interesting that they > all give out different triples. If the current syntax is going to remain > normative, a conformance suite from the wg would be useful. That way we > could begin to think about unit testing processors. This syntax, gaaahh! > > ----- > Bill de hÓra : InterX : bdehora@interx.com >
Received on Thursday, 11 January 2001 10:37:32 UTC