{"id":617,"date":"2005-01-03T12:27:00","date_gmt":"2005-01-03T16:27:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/2005\/01\/03\/bootstrapping-the-semantic-web\/"},"modified":"2005-01-03T12:27:00","modified_gmt":"2005-01-03T16:27:00","slug":"bootstrapping-the-semantic-web","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2005\/01\/bootstrapping-the-semantic-web\/","title":{"rendered":"Bootstrapping the Semantic Web"},"content":{"rendered":"<p>I&#8217;ve been meaning to comment on these for a few weeks now, but it\nseems they&#8217;re\n<a href=\"http:\/\/dannyayers.com\/archives\/2004\/12\/31\/hcalendar-hcard\/\">making<\/a>\nthe\n<a href=\"http:\/\/ifindkarma.typepad.com\/relax\/2004\/12\/microformats.html\">rounds<\/a>;\n<a href=\"http:\/\/developers.technorati.com\/wiki\/hCard\">hCard<\/a> and\n<a href=\"http:\/\/developers.technorati.com\/wiki\/hCalendar\">hCalendar<\/a>,\nHTML-encoded equivalents of the\n<a href=\"http:\/\/www.ietf.org\/rfc\/rfc2426.txt\">vCard<\/a>\nand\n<a href=\"http:\/\/www.ietf.org\/rfc\/rfc2445.txt\">iCalendar<\/a>\nspecs.  Check out this example hCard;<\/p>\n\n<pre>\n&lt;span class=\"vcard\"&gt;\n &lt;a href=\"http:\/\/tantek.com\/\"&gt;\n  &lt;span class=\"n\" style=\"display:none\"&gt; &lt;!-- hide this from display with CSS --&gt;\n   &lt;span class=\"Family-Name\"&gt;Celik&lt;\/span&gt;\n   &lt;span class=\"Given-Name\"&gt;Tantek&lt;\/span&gt;\n  &lt;\/span&gt;\n\n  &lt;span class=\"fn\"&gt;Tantek Celik&lt;\/span&gt;\n &lt;\/a&gt;\n&lt;\/span&gt;\n<\/pre>\n\n<p>Isn&#8217;t that freaking gorgeous?  Let&#8217;s think about what constraints\n<a href=\"http:\/\/www.tantek.com\/\">Tantek<\/a> had to work within in order to produce that&#8230;<\/p>\n\n<ul>\n<li>de-facto extensibility behaviour of common browsers<\/li>\n<li>inline styling when extensibility doesn&#8217;t give you what you need<\/li>\n<li><a href=\"http:\/\/www.w3.org\/TR\/REC-html40\/struct\/global.html#edef-SPAN\">&quot;span&quot;<\/a>\nas a semantic annotation mechanism<\/li>\n<\/ul>\n\n<p>Beautiful!  Web hackery at its best.<\/p>\n\n<p>My only concern there is that without a URI to ground the class names (ala\nthe same problem that\n<a href=\"http:\/\/www.w3.org\/TR\/REC-xml-names\/\">XML namespaces<\/a>\nwere developed to address), you run the risk of confusing aggregators\nwhen names overlap.  Perhaps the HTML\n<a href=\"http:\/\/www.w3.org\/TR\/REC-html40\/struct\/global.html#h-7.4.4.3\">profile<\/a>\nelement could be used, though associating the different profiles with specific\nclass names would seem to require an HTML extension.  Hmmm&#8230;<\/p>\n\n<p>Anyhow, while I still believe that RDF will do the bulk of the heavy\nlifting for the Semantic Web in the long run, cool stuff like this and\n<a href=\"http:\/\/www.w3.org\/2004\/01\/rdxh\/spec\">GRDDL<\/a>\nwill almost certainly help bootstrap it.  Nice job.<\/p>","protected":false},"excerpt":{"rendered":"I&#8217;ve been meaning to comment on these for a few weeks now, but it seems they&#8217;re making the rounds; hCard and hCalendar, HTML-encoded equivalents of the vCard and iCalendar specs. Check out this example hCard; &lt;span class=&#8221;vcard&#8221;&gt; &lt;a href=&#8221;http:\/\/tantek.com\/&#8221;&gt; &lt;span class=&#8221;n&#8221; style=&#8221;display:none&#8221;&gt; &lt;!&#8211; hide this from display with CSS &#8211;&gt; &lt;span class=&#8221;Family-Name&#8221;&gt;Celik&lt;\/span&gt; &lt;span class=&#8221;Given-Name&#8221;&gt;Tantek&lt;\/span&gt; &lt;\/span&gt; [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[40],"class_list":["post-617","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=617"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/617\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=617"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}