- From: Shane McCarron <shane@aptest.com>
- Date: Tue, 27 Apr 2010 10:37:19 -0500
- To: Manu Sporny <msporny@digitalbazaar.com>
- CC: RDFa WG <public-rdfa-wg@w3.org>
- Message-ID: <4BD704AF.9070008@aptest.com>
Manu Sporny wrote: > On 04/27/2010 08:38 AM, Shane McCarron wrote: > >>> So I would propose to set >>> >>> (Plain|Typed)Literal.value := (Plain|Typed)Literal.element.nodeValue >>> This solves Manu's example: >>> >>> <div property="ex:name" datatype="">Shane <em>halindrome</em> >>> McCarron</div> >>> >>> gives this triple: >>> >>> <> ex:name "Shane halindrome McCarron" . >>> >> Yes. And citing Manu's item about the node that defines this.... isn't >> it the div? >> > > Err, this doesn't work, does it? The element.nodeValue for the <div> is > always going to return NULL in DOM Level 2? There are four nodes in that > <div> - three Text nodes ("Shane ", "halindrome", and " McCarron" and > one Element node "<em>...</em>". > > http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-F68D080 > > > Well... the value is the value as comes from the RDFa Processor. But the Node is properly the enclosing Node in my opinion. There is not a direct mapping from the Node.nodeValue to the RDFLiteral.value property. That's okay. It's why I raised this in the first place. > >>>> 7. In the RDF Triple Iterator, if I specify a root attribute that is >>>> some Node in the tree, and the triples in that hierarchy refer to >>>> other triples outside of the hierarchy... I assume its all fine, >>>> but it is not clear to me how I would follow that chain. >>>> >>> Can you give an example Shane? >>> If you mean that the iterated hierarchy of DOM nodes starts inside an >>> RDFa chain, >>> I would propose to generate BlankNodes for incomplete triples with >>> missing subjects . >>> >> I had assumed that. When I reviewed the text I was worried that the >> processor was being invoked on the tree. However, I think now that the >> processor is only invoked once, and that the API operates on the output >> of the processor. If that is true, then I am happy. >> > > The processor is not necessarily invoked only once. In the case of an > RDFTripleIterator, Benjamin and I had discussed that an implementer that > is concerned about memory usage could use the RDFTripleIterator to > "stream" triples to the developer and thus cut down on memory usage. > > For example, if you have a document with over a million triples, and you > want to process it on hardware that doesn't have a great deal of working > memory (like a cell phone), one could eschew the use of rdfa.filter() > and rdfa.projection() and instead rely solely on rdfa.iterate(). > Hmm.... I consider the API to be a consumer of the output of an RDFa Processor. I can see how they might be coupled in a real implementation, but logically they have to be separate. Otherwise the tool chain won't work right. Moreover, RDFa Core clearly says that the processing of a document fragment is unspecified. That's on purpose. A fragment out of context will almost NEVER get the right triples. You won't even know what the prefix mappings are necessarily. > -- manu > > -- Shane P. McCarron Phone: +1 763 786-8160 x120 Managing Director Fax: +1 763 786-8180 ApTest Minnesota Inet: shane@aptest.com
Received on Tuesday, 27 April 2010 15:38:06 UTC