/irc-logs / freenode / #microformats / 2010-03-05 / end

Options:

  1. # Session Start: Fri Mar 05 00:00:00 2010
  2. # Session Ident: #microformats
  3. # [00:12] * Quits: singpolyma (~singpolym@216.16.242.254) (Quit: singpolyma)
  4. # [00:29] * Quits: ITrace (~ITrace@216.81.188.2) (Ping timeout: 265 seconds)
  5. # [00:32] * Joins: BobJonkman (~BobJonkma@206-248-137-186.dsl.teksavvy.com)
  6. # [00:37] * Quits: Amorphous (jan@unaffiliated/amorphous) (Ping timeout: 264 seconds)
  7. # [00:52] * Joins: Amorphous (jan@unaffiliated/amorphous)
  8. # [00:56] * Quits: georgebrock (~georgebro@cpc2-lewi8-0-0-cust418.bmly.cable.ntl.com) (Read error: Connection reset by peer)
  9. # [00:57] * Joins: georgebrock (~georgebro@cpc2-lewi8-0-0-cust418.bmly.cable.ntl.com)
  10. # [00:58] * Quits: BobJonkman (~BobJonkma@206-248-137-186.dsl.teksavvy.com) (Ping timeout: 240 seconds)
  11. # [01:30] * Quits: ethicaljunction (~ethicalju@cpc1-rdng20-2-0-cust417.15-3.cable.virginmedia.com) (Quit: ethicaljunction)
  12. # [01:38] * Quits: @dglazkov (~dglazkov@nat/google/x-zpujutylfdkqrnhq) (Quit: dglazkov)
  13. # [01:40] * Quits: @tantek (~tantek@70-36-139-7.dsl.dynamic.sonic.net) (Quit: tantek)
  14. # [01:45] * Joins: BobJonkman (~BobJonkma@206-248-137-186.dsl.teksavvy.com)
  15. # [02:03] * Joins: shigeta (~shigeta@sakkgw2.sixapart.jp)
  16. # [02:07] * Joins: tantek (~tantek@c-67-180-202-79.hsd1.ca.comcast.net)
  17. # [02:07] * ChanServ sets mode: +o tantek
  18. # [02:10] * Joins: benward (~benward@nat/yahoo/x-fkftnxybhnyxuser)
  19. # [02:10] * ChanServ sets mode: +o benward
  20. # [02:40] * Quits: @benward (~benward@nat/yahoo/x-fkftnxybhnyxuser) (Quit: Sleep)
  21. # [02:51] * Quits: KevinMarks (~KevinMark@157.22.22.46) (Ping timeout: 245 seconds)
  22. # [03:25] * Quits: @tantek (~tantek@c-67-180-202-79.hsd1.ca.comcast.net) (Quit: tantek)
  23. # [04:11] * Joins: KevinMarks (~KevinMark@204.9.180.30)
  24. # [05:17] * Quits: dehuman (dehuman@2001:5c0:1103:8d00::cafe) (Ping timeout: 268 seconds)
  25. # [06:25] * Quits: BobJonkman (~BobJonkma@206-248-137-186.dsl.teksavvy.com) (Quit: Leaving.)
  26. # [07:31] * Quits: csarven (~csarven@dhcp-0-18-f8-35-d5-97.cpe.quickclic.net) (Quit: Leaving.)
  27. # [07:44] * Joins: danbri (~danbri@unaffiliated/danbri)
  28. # [08:56] * Joins: besbes (~besbes@188-23-178-132.adsl.highway.telekom.at)
  29. # [09:43] * Joins: tantek (~tantek@70-36-139-7.dsl.dynamic.sonic.net)
  30. # [09:43] * ChanServ sets mode: +o tantek
  31. # [09:53] * Joins: tantek_ (~tantek@70-36-139-7.dsl.dynamic.sonic.net)
  32. # [09:53] * ChanServ sets mode: +o tantek_
  33. # [09:53] * Quits: @tantek (~tantek@70-36-139-7.dsl.dynamic.sonic.net) (Read error: Connection reset by peer)
  34. # [09:53] * tantek_ is now known as tantek
  35. # [09:58] * Quits: besbes (~besbes@188-23-178-132.adsl.highway.telekom.at) (Quit: besbes)
  36. # [10:02] * Joins: Atamido_ (~atamido@76-205-170-42.lightspeed.austtx.sbcglobal.net)
  37. # [10:02] * Quits: Atamido (~atamido@76-205-170-42.lightspeed.austtx.sbcglobal.net) (Ping timeout: 245 seconds)
  38. # [10:02] * Atamido_ is now known as Atamido
  39. # [10:27] * Joins: Phae (~phaeness@cpc2-acto9-0-0-cust364.brnt.cable.ntl.com)
  40. # [10:27] * ChanServ sets mode: +o Phae
  41. # [10:35] * Joins: besbes (~besbes@mercury.mminf.univie.ac.at)
  42. # [10:41] * Joins: ntoll (~ntoll@88-110-171-9.dynamic.dsl.as9105.com)
  43. # [11:29] * Quits: KevinMarks (~KevinMark@204.9.180.30) (Quit: The computer fell asleep)
  44. # [11:46] * Joins: benward (~benward@70-36-139-40.dsl.dynamic.sonic.net)
  45. # [11:46] * ChanServ sets mode: +o benward
  46. # [12:10] * Quits: @benward (~benward@70-36-139-40.dsl.dynamic.sonic.net) (Quit: Sleep)
  47. # [12:26] * Quits: @tantek (~tantek@70-36-139-7.dsl.dynamic.sonic.net) (Quit: tantek)
  48. # [12:36] * Joins: dehuman (dehuman@undead.superuser.su)
  49. # [12:43] * Joins: emrojo (~emrojo@2001:720:410:100f:212:3fff:fe22:bbaf)
  50. # [15:41] * Disconnected
  51. # [15:44] * Attempting to rejoin channel #microformats
  52. # [15:44] * Rejoined channel #microformats
  53. # [15:44] * Topic is 'http://microformats.org/wiki/irc - if you are new here, add yourself to http://microformats.org/wiki/irc-people'
  54. # [15:44] * Set by tantek on Mon Apr 09 16:30:07
  55. # [15:44] -zelazny.freenode.net:#microformats- [freenode-info] channel flooding and no channel staff around to help? Please check with freenode support: http://freenode.net/faq.shtml#gettinghelp
  56. # [15:44] -ChanServ- [#microformats] Welcome to #microformats. Logs at http://krijnhoetmer.nl/irc-logs/microformats
  57. # [15:44] #microformats url is http://microformats.org
  58. # [15:44] -ChanServ- [#owf] #owf is logged at http://krijnhoetmer.nl/irc-logs/owf
  59. # [17:02] * Joins: dehuman (dehuman@undead.superuser.su)
  60. # [17:19] * Quits: besbes (~besbes@mercury.mminf.univie.ac.at) (Ping timeout: 265 seconds)
  61. # [18:13] * Joins: tantek (~tantek@70-36-139-7.dsl.dynamic.sonic.net)
  62. # [18:13] * ChanServ sets mode: +o tantek
  63. # [18:16] <georgebrock> asked this yesterday, but there were fewer people around... http://krijnhoetmer.nl/irc-logs/microformats/20100304#l-71
  64. # [18:17] <@tantek> do you have an example URL of the content you are trying to mark up?
  65. # [18:18] <georgebrock> tantek: http://www.reevoo.com/p/samsung-le32b450
  66. # [18:24] <@tantek> so a couple of things
  67. # [18:24] <@tantek> first, class="hreview-aggregate" (note should be all lowercase) can be placed on a more specific (deeper nested) div
  68. # [18:25] <@tantek> ...
  69. # [18:25] <@tantek> on the first <div class="summary-row"> in particular
  70. # [18:25] <@tantek> that way it won't include so much of the markup
  71. # [18:26] <georgebrock> that makes sense
  72. # [18:29] <georgebrock> I was going to make the div with class=product into an hProduct, and it would make sense for that to be the aggregate review's item
  73. # [18:30] <georgebrock> do you think the include pattern would make sense for this? I'm nervous about the review including its own ancestor
  74. # [18:31] <@tantek> btw from the include-pattern page: "To prevent infinite loops, if a class="include" refers to itself or to an ancestor in the parse tree, then it is ignored and has no effect on the parser."
  75. # [18:32] <@tantek> http://microformats.org/wiki/include-pattern#in_general
  76. # [18:32] <georgebrock> excellent, I had missed that, thank you
  77. # [18:34] <tobyink> Using pseudomarkup... <hreview include="hproduct"></hreview><hproduct include="hreview"></hproduct> ought to work.
  78. # [18:34] <tobyink> But... <hreview><hproduct include="hreview"></hproduct></hreview> will not.
  79. # [18:37] <georgebrock> hProduct can contain reviews (one of the properties is review, which should be marked up as an hReview), but if <hproduct><hreview><item include="hproduct" /></hreview></hproduct> doesn't work I'm unsure how to construct that
  80. # [18:41] <tobyink> <hproduct id="p"><include include="#r1"/><include include="#r2"/><include include="#r3"/></hproduct><hreview id="r1"><item include="#p"></hproduct><hreview id="r2"><item include="#p"></hproduct>, etc.
  81. # [18:42] <georgebrock> tobyink: ah yes, as per your previous example, was being a little slow on the uptake, thanks
  82. # [18:48] <@tantek> tobyink - I'm not sure that makes sense or is necessary because the hProduct in this case already contains hReviews
  83. # [18:48] <@tantek> they don't need to be included
  84. # [18:48] <@tantek> in the current markup
  85. # [18:48] <@tantek> the problem is that each hReview must still have an "item"
  86. # [18:48] <@tantek> which describes the product
  87. # [18:50] <@tantek> georgebrock it sounds like what is needed is something slightly different than the include pattern
  88. # [18:50] <@tantek> something more like itemref in microdata: http://www.w3.org/TR/microdata/#attr-itemref
  89. # [18:50] <@tantek> which is a way of referencing for crawling but not actually including
  90. # [18:51] <tobyink> Yes, I've implemented Microdata - it's inclusion method is a lot cleaner.
  91. # [18:51] <@tantek> of course microdata's itemref doesn't say what to do if an itemref refers to an ancestor element
  92. # [18:51] <@tantek> tobyink - I should hope so, microdata has learned from the experience we have with microformats :)
  93. # [18:52] <tobyink> If itemref refers to an ancestor, you don't get recursion, because itemref on child elements is ignored IIRC.
  94. # [18:53] <@tantek> the recursion case requires two microdata objects
  95. # [18:53] <@tantek> a ancestor which has property which itself is an object b which has an itemref that references a
  96. # [18:54] <tobyink> Ah, I've only implemented parsing Microdata into RDF, where the above doesn't cause any problems. Parsing into JSON this will probably cause nastiness.
  97. # [18:54] <tobyink> JSON doesn't support cycles; RDF does.
  98. # [18:56] <@tantek> something like: <span itemscope id=a><span itemprop="p" itemscope id=b itemref=a></span></span> should do the trick
  99. # [18:57] <@tantek> or to accentuate the point: <span itemscope id=a><span itemprop=turtle itemscope id=b itemref=a></span></span>
  100. # [18:57] <@tantek> infinitely nested items, each of which has a "turtle" property whose value is the next nested item
  101. # [18:57] <@tantek> turtles all the way down :)
  102. # [18:58] * Quits: emrojo (~emrojo@2001:720:410:100f:212:3fff:fe22:bbaf) (Quit: Leaving.)
  103. # [18:59] <georgebrock> I'll read up on microdata
  104. # [19:03] * Joins: dglazkov (~dglazkov@nat/google/x-zxcqovrrjxvknprn)
  105. # [19:03] * ChanServ sets mode: +o dglazkov
  106. # [19:04] <@tantek> georgebrock - yup I just did
  107. # [19:04] <@tantek> and asked in #whatwg and got an answer
  108. # [19:04] <@tantek> per http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#associating-names-with-items
  109. # [19:04] <@tantek> "If root is in memory, then the algorithm fails; abort these steps."
  110. # [19:04] <tobyink> This: <span itemscope id=a itemtype="http://example.net/A"><span itemprop=turtle itemscope id=b itemref=a></span></span>
  111. # [19:05] <tobyink> Successfully parses using the Microdata-to-RDF algorithm.
  112. # [19:05] <@tantek> therefore microdata effectively makes referencing an id of an ancestor a NOP
  113. # [19:05] <@tantek> tobyink it has nothing to do with RDF
  114. # [19:06] <@tantek> step one of the "associating names with items" algorithm breaks the itemref to an ancestor
  115. # [19:06] <@tantek> as cited above
  116. # [19:06] <@tantek> itemrefs to ancestors are effectively ignored
  117. # [19:07] <georgebrock> given that the hProduct spec encourages nesting of hReviews within hProducts, and that in general microformats can be expressed as valid HTML4.01, does this need capturing on the hproduct-issues page?
  118. # [19:08] <@tantek> georgebrock yes
  119. # [19:08] <@tantek> hProduct's "review" property is insufficiently defined to describe how to make it work
  120. # [19:08] <@tantek> because it doesn't describe how to embed a valid hReview
  121. # [19:09] <@tantek> with item that points back to the hProduct
  122. # [19:09] * georgebrock is adding an issue
  123. # [19:11] <@tantek> tobyink - your successful parse probably includes a "turtle" property with an empty item
  124. # [19:11] <@tantek> rather than actually indicating a cycle
  125. # [19:11] <@tantek> assuming you're following the associating names with items algorithm
  126. # [19:11] <tobyink> Ah yes - you are right.
  127. # [19:13] <@tantek> thus itemref has the same limitation as the include pattern
  128. # [19:18] <georgebrock> done: http://microformats.org/wiki/hproduct-issues#HP8_-_No_clear_way_of_including_a_valid_hReview_that_refers_back_to_the_hProduct_as_its_item
  129. # [19:18] <@tantek> thanks georgebrock
  130. # [19:19] <@tantek> tobyink - how would you represent the turtle example above with RDF?
  131. # [19:19] <@tantek> (which presumably would actually encode the infinite recursion)
  132. # [19:27] <@tantek> georgebrock I think this might have a simple solution that very much relates to the recent item-license work I've been doing
  133. # [19:27] <@tantek> http://microformats.org/wiki/item-license
  134. # [19:28] <@tantek> it may be possible to extend the "item-url" property in that proposal to refer to a local hypertext fragment
  135. # [19:29] <@tantek> then in hProduct, you could simply *drop* the "review" property altogether
  136. # [19:29] <@tantek> because the nested hReviews themselves would simple *reference* the hProduct by id (rather than including it)
  137. # [19:32] <georgebrock> that would certainly get around the nesting issue
  138. # [19:35] <georgebrock> I've added the suggestion to the wiki
  139. # [19:36] <georgebrock> I need to go, thanks for your help tantek, tobyink
  140. # [19:36] * Joins: Hey_neken (~kaxero@215.Red-213-96-129.staticIP.rima-tde.net)
  141. # [19:46] * Joins: benward (~benward@nat/yahoo/x-zwtmukwruvhoxqjw)
  142. # [19:46] * ChanServ sets mode: +o benward
  143. # [19:46] <tobyink> sorry, diappeared for 45 minutes.
  144. # [19:47] <tobyink> Turtle example in RDF (using the aptly named turtle serialisation) would be something like: _:a <http://example.com/turtle> _:b . _:b <http://example.com/turtle> _:a .
  145. # [19:48] <tobyink> i.e. the property is called <http://example.com/turtle> as properties must be URIs.
  146. # [19:49] <@tantek> ah yes, of course
  147. # [19:49] <tobyink> The two resources are given identifiers _:a and _:b. Normally RDF identifies things using URIs, but can identify them using throwaway identifiers called blank nodes.
  148. # [19:49] <@tantek> right
  149. # [19:49] <tobyink> And that's what I've used.
  150. # [19:50] <@tantek> tobyink - that structure does not appear to be representable in microdata, per the discussion we had above.
  151. # [19:51] <tobyink> If you create URIs for a and b though, you could use itemid to represent cycles.
  152. # [19:57] <@tantek> no itemid is only for the item/object itself, cannot be used on properties
  153. # [19:57] <@tantek> http://www.w3.org/TR/microdata/#attr-itemid
  154. # [19:57] <@tantek> it doesn't actually help in this case
  155. # [19:57] <@tantek> itemid is more like "uid"
  156. # [19:58] <@tantek> (e.g. from hCard, hCalendar)
  157. # [19:58] <tobyink> <span itemid="http://example.com/throwaway/a"><a property="turtle" href="http://example.com/throwaway/b"></a> <span itemid="http://example.com/throwaway/b"><a property="turtle" href="http://example.com/throwaway/a"></a></span></span>
  158. # [19:58] <@tantek> except that itemid requires duplication of data, whereas "uid" can be placed on an element with class name "url" as well.
  159. # [19:59] <@tantek> except that those two references won't find each other
  160. # [20:00] <@tantek> the links break
  161. # [20:06] <tobyink> I don't think it works in the Microdata DOM API, but it works in the Microdata-to-RDF output.
  162. # [20:07] <tobyink> Creates: <http://example.com/throwaway/a> <http://example.com/turtle> <http://example.com/throwaway/b> . <http://example.com/throwaway/b> <http://example.com/turtle> <http://example.com/throwaway/a> .
  163. # [20:08] <tobyink> (Having added itemscope attributes and changes property="turtle" to itemprop="http://example.com/turtle".)
  164. # [20:17] * Joins: trovster (~trovster@cpc3-staf1-0-0-cust950.sol2.cable.ntl.com)
  165. # [20:51] * Quits: @Phae (~phaeness@cpc2-acto9-0-0-cust364.brnt.cable.ntl.com)
  166. # [21:39] * Quits: @tantek (~tantek@70-36-139-7.dsl.dynamic.sonic.net) (Quit: tantek)
  167. # [22:05] * Joins: tantek (~tantek@70-36-139-7.dsl.dynamic.sonic.net)
  168. # [22:05] * ChanServ sets mode: +o tantek
  169. # [22:13] * Quits: mwunsch (~mwunsch@38.105.146.82) (Quit: mwunsch)
  170. # [22:29] * Quits: trovster (~trovster@cpc3-staf1-0-0-cust950.sol2.cable.ntl.com)
  171. # [23:19] * Quits: @tantek (~tantek@70-36-139-7.dsl.dynamic.sonic.net) (Quit: tantek)
  172. # [23:22] * Quits: Hey_neken (~kaxero@215.Red-213-96-129.staticIP.rima-tde.net) (Remote host closed the connection)
  173. # [23:22] * Joins: abernier (~abernier@nor75-28-88-183-29-231.fbx.proxad.net)
  174. # [23:22] * Quits: abernier (~abernier@nor75-28-88-183-29-231.fbx.proxad.net) (Client Quit)
  175. # Session Close: Sat Mar 06 00:00:00 2010

The end :)