- From: Alex Milowski <alex@milowski.com>
- Date: Thu, 23 May 2013 08:59:33 -0700
- To: Niklas Lindström <lindstream@gmail.com>
- Cc: W3C RDFWA WG <public-rdfa-wg@w3.org>
- Message-ID: <CABp3FN+xrHEy5pBGTB_nN=F7BZD-Pch8Kc6TH6Z+xrtqaK+JkA@mail.gmail.com>
OK. I didn't add the type predicate in my implementation and so that seemed odd. I now understand the copy pattern would generally apply to the type from the pattern. Reading this section again, I am concerned that the tests do not properly cover this feature. Specifically, I think that pattern chaining isn't quite covered. Also, the clean pattern seems to imply that subjects with rdfa:copy predicates involving targets that do not exist would have their rdfa:copy predicate remain in the graph. I don't see a test that covers that situation. Test 0327 covers chaining when there is a blank node within the pattern. That blank node will have its own subject and so any single-pass algorithm will catch it. If you remove the blank node in 0327, an single pass won't be sufficient depending on the order of processing. For example: <!DOCTYPE html> <html> <head> <base href="http://example.com/"/> </head> <body> <div typeof="schema:Person"> <link property="rdfa:copy" resource="_:a"/> <link property="rdfa:copy" resource="_:b"/> </div> <p resource="_:a" typeof="rdfa:Pattern">Name: <span property="schema:name">Amanda</span></p> <div resource="_:b" typeof="rdfa:Pattern"> <link property="rdfa:copy" resource="_:c"/> </div> <div resource="_:c" typeof="rdfa:Pattern"> <p><span property="schema:e-mail">amanda@example.com</span></p> </div> </body> </html> On Thu, May 23, 2013 at 1:50 AM, Niklas Lindström <lindstream@gmail.com>wrote: > Hi Alex, > > That's actually intentional. The last rule on the right side, "?target > ?predicate ?object", takes care also of removing "?target rdf:type > rdfa:Pattern" (since it removes all statements about ?target). > > The rule to remove "?subject rdf:type rdfa:Pattern" is needed since after > the pattern has been copied entirely, the rdfa:Pattern type statement has > been copied too, which is not the intent. > > A more effective implementation would not add that triple in the first > place only to remove it, but I believe this was the simplest way to express > these rules in a familiar notation for inference. (Hence the notes in the > spec to make it clear that you're allowed to apply any algorithm you need > as long as the outcome is the same.) > > Cheers, > Niklas > > > > On Thu, May 23, 2013 at 6:22 AM, Alex Milowski <alex@milowski.com> wrote: > >> In section 3.5.1, I believe the pattern-clean rule is meant to have on >> the right side: >> >> ?target rdf:type rdfa:Pattern >> >> instead of: >> >> ?subject rdf:type rdfa:Pattern >> >> -- >> --Alex Milowski >> "The excellence of grammar as a guide is proportional to the paucity of >> the >> inflexions, i.e. to the degree of analysis effected by the language >> considered." >> >> Bertrand Russell in a footnote of Principles of Mathematics >> > > -- --Alex Milowski "The excellence of grammar as a guide is proportional to the paucity of the inflexions, i.e. to the degree of analysis effected by the language considered." Bertrand Russell in a footnote of Principles of Mathematics
Received on Thursday, 23 May 2013 16:00:05 UTC