{"id":376,"date":"2010-07-09T12:55:23","date_gmt":"2010-07-09T17:55:23","guid":{"rendered":"http:\/\/dilettantes.code4lib.org\/blog\/?p=376"},"modified":"2010-07-09T13:26:23","modified_gmt":"2010-07-09T18:26:23","slug":"what-we-talk-about-when-we-talk-about-love","status":"publish","type":"post","link":"https:\/\/rossfsinger.me\/blog\/2010\/07\/what-we-talk-about-when-we-talk-about-love\/","title":{"rendered":"What we talk about when we talk about http:\/\/dbpedia.org\/resource\/Love"},"content":{"rendered":"<p>I&#8217;ve been accused of several things in the Linked Data community this week: \u00c2\u00a0<a href=\"http:\/\/www.mail-archive.com\/public-lod@w3.org\/msg05762.html\" target=\"_blank\">a circular reasoner<\/a>, <a href=\"http:\/\/lists.w3.org\/Archives\/Public\/public-lld\/2010Jul\/0021.html\" target=\"_blank\">a defender of the status quo<\/a> &#8220;just because that&#8217;s how we&#8217;ve always done it&#8221;, and (implicitly) <a href=\"http:\/\/inkdroid.org\/journal\/2010\/07\/07\/linking-things-and-common-sense\/\" target=\"_blank\">an httpRange-14 apologist<\/a>. \u00c2\u00a0Quite frankly, none of these are true or quite what I mean (and I&#8217;m, of course, over dramatizing the accusations), but let&#8217;s focus on the last point for now (which may clear up some of the other points, as well).<\/p>\n<p>Ed&#8217;s post (as he explains at the end) is a reference to me calling bullshit on his <a href=\"http:\/\/lists.w3.org\/Archives\/Public\/public-xg-lld\/2010Jun\/0128.html\" target=\"_blank\">claim<\/a> that &#8220;[he] <em>think<\/em>[s]<em> httpRange-14 is an elaborate scholarly joke<\/em>&#8220;. \u00c2\u00a0Let me be clear from the outset that I am not particularly dogmatic on this issue. \u00c2\u00a0That is, I don&#8217;t think the internet will break if the resource and carrier are conflated, but I also don&#8217;t think it&#8217;s <em>that<\/em> hard to keep them separated and that the value in doing so outweighs any perceived costs.<\/p>\n<p>First off, let me explain what httpRange-14 is to the uninitiated (<a href=\"#skip\">skip on ahead<\/a> if you feel pretty comfortable with this). \u00c2\u00a0In linked data (or semantic web, you can choose the words that feel best to you), we run into a problem with identifiers and what, exactly, they are identifying. \u00c2\u00a0Let&#8217;s say I want to talk about Chattanooga. \u00c2\u00a0Well, &#8220;Chattanooga&#8221; is not a web resource, but if I want talk about it unambiguously, it needs an identifier, preferably an HTTP URI, so other people can refer to it unambiguously and say things about it and discover it. \u00c2\u00a0Ideally, this web representation would also have human readable (HTML) and machine readable (RDF, XML, etc.) versions. \u00c2\u00a0But the important distinction here is that the city of Chattanooga cannot be retrieved on the web, only these HTML, RDF, XML surrogates. \u00c2\u00a0If the surrogate has the same URI (identifier) as the resource it&#8217;s describing it starts to get difficult to figure out what we&#8217;re talking about.<\/p>\n<p>So to try to make this a little clearer, let&#8217;s say I am making this representation of Chattanooga for people to use:<\/p>\n<pre>&lt;http:\/\/dilettantes.code4lib.org\/resources\/Chattanooga_Tennessee.rdf&gt;\r\n\u00c2\u00a0\u00c2\u00a0  rdf:type &lt;http:\/\/www.geonames.org\/ontology#P.PPL&gt; ;\r\n\u00c2\u00a0\u00c2\u00a0  &lt;http:\/\/www.geonames.org\/ontology#population&gt; \"155554\"^^xsd:integer.<\/pre>\n<p>But I also feel I need to let people know some administrative data about it, so they know when it was last modified and by whom, etc., so:<\/p>\n<pre>&lt;http:\/\/dilettantes.code4lib.org\/resources\/Chattanooga_Tennessee.rdf&gt;\r\n\u00c2\u00a0\u00c2\u00a0  rdf:type &lt;http:\/\/www.geonames.org\/ontology#P.PPL&gt; ;\r\n\u00c2\u00a0\u00c2\u00a0  &lt;http:\/\/www.geonames.org\/ontology#population&gt; \"155554\"^^xsd:integer ;\r\n\u00c2\u00a0\u00c2\u00a0  dcterms:creator &lt;http:\/\/dilettantes.code4lib.org\/about#me&gt; ;\r\n\u00c2\u00a0\u00c2\u00a0  dcterms:created \"2010-07-09\"^^xsd:date ;\r\n\u00c2\u00a0\u00c2\u00a0  dcterms:modified \"2010-07-09T11:25:00-6\"^^xsd:dateTime .<\/pre>\n<p>Now things get confusing.\u00c2\u00a0 My new assertions (dcterms:creator\/created\/modified) are being applied to the <em>same resource<\/em> as my city, so I am saying that I created a city of 155,554 people today (what have <em>you<\/em> done today, chump?).<\/p>\n<p>The way we get around this is through a layer of indirection, basically we just use two URIs: you request an RDF document from http:\/\/dilettantes.code4lib.org\/resources\/Chattanooga_Tennessee.rdf and it has something like:<\/p>\n<pre>&lt;http:\/\/dilettantes.code4lib.org\/resources\/Chattanooga_Tennessee#place&gt;\r\n\u00c2\u00a0\u00c2\u00a0rdf:type &lt;http:\/\/www.geonames.org\/ontology#P.PPL&gt; ;\r\n\u00c2\u00a0\u00c2\u00a0&lt;http:\/\/www.geonames.org\/ontology#population&gt; \"155554\"^^xsd:integer.<\/pre>\n<pre>&lt;http:\/\/dilettantes.code4lib.org\/resources\/Chattanooga_Tennessee.rdf&gt;\r\n\u00c2\u00a0\u00c2\u00a0  rdf:type &lt;http:\/\/xmlns.com\/foaf\/0.1\/Document&gt; ;\r\n\u00c2\u00a0\u00c2\u00a0  &lt;http:\/\/xmlns.com\/foaf\/0.1\/primaryTopic&gt; &lt;http:\/\/dilettantes.code4lib.org\/resources\/Chattanooga_Tennessee#place&gt; ;\r\n\u00c2\u00a0\u00c2\u00a0  dcterms:creator &lt;http:\/\/dilettantes.code4lib.org\/about#me&gt; ;\r\n\u00c2\u00a0\u00c2\u00a0  dcterms:created \"2010-07-09\"^^xsd:date ;\r\n\u00c2\u00a0\u00c2\u00a0  dcterms:modified \"2010-07-09T11:25:00-6\"^^xsd:dateTime .<\/pre>\n<p>And this keeps things a little clearer.\u00c2\u00a0 I created the <em>document you&#8217;re looking at<\/em> today, not the <em>resource that the document is describing<\/em>.\u00c2\u00a0 So this way when you say that my RDF is terrible (fair accusation) you&#8217;re not necessarily saying that about the city of Chattanooga (and vice versa).\u00c2\u00a0 You can read more about this at <a href=\"http:\/\/www.w3.org\/TR\/cooluris\/\" target=\"_blank\">Cool URIs for the Semantic Web<\/a> (by the way, I tend to favor the &#8220;hash URI&#8221; approach, for simplicity&#8217;s sake).<\/p>\n<p><a name=\"skip\"><\/a>Now back to Ed&#8217;s post.\u00c2\u00a0 His argument is that if he uses http:\/\/en.wikipedia.org\/wiki\/William_Shakespeare as his identifier (referent, really) we should be smart enough to know when we say that this URI is a foaf:Person and that it was dcterms:created on &#8220;2001-10-14&#8221; that we&#8217;re referring to two different things.<\/p>\n<p>The <a href=\"http:\/\/inkdroid.org\/journal\/2010\/07\/07\/linking-things-and-common-sense\/#comment-82719\" target=\"_blank\">first comment<\/a> is from Ian (full disclosure: my boss, fuller disclosure: this doesn&#8217;t mean I agree with him) who simultaneously &#8220;completely agrees&#8221; with Ed and yet supplies an argument that punches a gigantic hole in the side of Ed&#8217;s thesis.<\/p>\n<p>To put it another way, sure, maybe we can tell that dcterms:created is a strange assertion for a foaf:Person and we have other ways to tell that Shakespeare was born in 1564 (via a bio:Birth resource or something), but this breaks down for books and all sorts of other entities.\u00c2\u00a0 So you have dcterms:created &#8220;2003-09-04&#8221; and dcterms:creator &lt;http:\/\/en.wikipedia.org\/wiki\/Douglas_Coupland&gt; on <a href=\"http:\/\/en.wikipedia.org\/wiki\/Girlfriend_in_a_Coma_%28novel%29\" target=\"_blank\">http:\/\/en.wikipedia.org\/wiki\/Girlfriend_in_a_Coma_%28novel%29<\/a> and we&#8217;ve now sown some confusion.\u00c2\u00a0 This ambiguity becomes more problematic down the road when the context changes (that is, assumptions I can make about wikipedia and wikipedia&#8217;s model don&#8217;t necessarily apply elsewhere).<\/p>\n<p>Right around the time I graduated from high school, the guitarist in my band at the time made me a cassette copy of Jimi Hendrix&#8217;s &#8220;<a href=\"http:\/\/dbpedia.org\/resource\/Jimi_Plays_Monterey\" target=\"_blank\">Jimi Plays Monterey<\/a>&#8220;.\u00c2\u00a0 The sound quality was pretty terrible and, as I recall, my tape player ate it once making it even worse.\u00c2\u00a0 Still, I loved that album (Jimi, while playing Dylan&#8217;s &#8220;Like a Rolling Stone&#8221; says &#8220;I know I missed a verse, it&#8217;s alright, baby.&#8221;): I love the songs, I love the playing, I love the energy of the performance.\u00c2\u00a0 The medium that album came to me on, however, was subpar.\u00c2\u00a0 There are general attributes of &#8220;cassette tapes&#8221; and then there was &#8220;this particular recording on this particular cassette&#8221;.<\/p>\n<p>At the same time in my life, I had a compact disc of the <a href=\"http:\/\/dbpedia.org\/resource\/BulletBoys_%28album%29\" target=\"_blank\">BulletBoys&#8217; eponymous album<\/a>.\u00c2\u00a0 Fidelity-wise, the sound of this album was orders of magnitude better than my copy of &#8220;Jimi Plays Monterey&#8221;, but pretty much everything else about it sucked.<\/p>\n<p>The carrier is not the content.\u00c2\u00a0 Being able to refer to the quality of my dilapidated cassette without dragging the Jimi Hendrix Experience into it is useful.\u00c2\u00a0 I should be able to say that my BulletBoys CD sounded better than my Hendrix tape without that being a staggering example of bad taste.<\/p>\n<p>In libraries, we have a long history of data ambiguity.\u00c2\u00a0 We have struggled enough to figure out the semantics in our AACR2\/ISBD data that when we have the chance to easily and concretely identify the things we are talking about, we should take it.\u00c2\u00a0 I am not proposing abstracting things into oblivion with resources on top of resources &#8211; just sensibly being sure you&#8217;re talking about what you say you are.<\/p>\n<p>Unfortunately, one of my problems with the new RDA vocabularies is that in several instances it schmushes multiple statements together to avoid the modeling the &#8220;hard parts&#8221; (this is precisely the same issue I have with <a href=\"http:\/\/inkdroid.org\/journal\/2010\/07\/07\/linking-things-and-common-sense\/#comment-82721\" target=\"_blank\">Ian&#8217;s later comment<\/a>).\u00c2\u00a0 For example, RDA has a bunch of properties that are intended to &#8220;hand wave&#8221; around the complexities of FRBR, such as http:\/\/RDVocab.info\/Elements\/otherDistinguishingCharacteristicOfTheExpression.\u00c2\u00a0 So you&#8217;d have something like:<\/p>\n<pre>&lt;http:\/\/example.org\/1&gt;\r\n<pre>    &lt;http:\/\/RDVocab.info\/Elements\/title&gt; \"Something: a something something\" ;\r\n    &lt;http:\/\/RDVocab.info\/Elements\/titleOfTheWork&gt; \"Something\" .<\/pre>\n<p>What you&#8217;ve done here with &#8220;titleOfTheWork&#8221; is say that &lt;http:\/\/example.org\/1&gt; has a work, is itself not a work and the work&#8217;s title is &#8220;Something&#8221;.\u00c2\u00a0\u00c2\u00a0 That&#8217;s some attribute!\u00c2\u00a0 But if we can say all of that, <em>why would we not just model the work?!<\/em> Even if we don&#8217;t know where in the WEMI chain &lt;http:\/\/example.org\/1&gt; falls, if we did something like this:<\/p>\n<pre>&lt;http:\/\/example.org\/1&gt;\r\n    dcterms:title \"Something: a something something\" ;\r\n    ex:hasWork &lt;http:\/\/example.org\/works\/1234&gt; .\r\n\r\n&lt;http:\/\/example.org\/works\/1234&gt;\r\n    a &lt;http:\/\/RDVocab.info\/uri\/schema\/FRBRentitiesRDA\/Work&gt;;\r\n    dcterms:title \"Something\" .<\/pre>\n<p>we&#8217;ve now done something useful, unambiguous and reusable (and not ignoring FRBR while simultaneously defining it).\u00c2\u00a0 The closed nature of IFLA&#8217;s development of these vocabularies don&#8217;t lead to me have much hope, though.<\/p>\n<p>But, again, back to Ed.\u00c2\u00a0 Like I said, I really don&#8217;t think the internet will fall apart and satellites will come crashing to the earth if we don&#8217;t adhere consistently to httpRange-14.\u00c2\u00a0 No, the reason why I call bullshit on Ed&#8217;s statement is because he finds the use of owl:sameAs on resources such as <a href=\"http:\/\/purl.org\/NET\/marccodes\/muscomp\/sn#genre\" target=\"_blank\">http:\/\/purl.org\/NET\/marccodes\/muscomp\/sn#genre<\/a> to be inappropriate.\u00c2\u00a0 While in his post he claims it&#8217;s fine that we conflate the resource of William Shakespeare as a foaf:Person and foaf:Document that was modified on &#8220;2010-06-28T17:02:41-04:00&#8221;, he on the other hand questions the appropriateness of &lt;http:\/\/purl.org\/NET\/marccodes\/muscomp\/sn#genre&gt; owl:sameAs &lt;http:\/\/dbpedia.org\/resource\/Sonatas&gt; because by doing so it infers that &lt;http:\/\/purl.org\/NET\/marccodes\/muscomp\/sn#genre&gt; has a photo collection at &lt;http:\/\/www4.wiwiss.fu-berlin.de\/flickrwrappr\/photos\/Sonata&gt; (which, in fact, has little to do with the musical genre and actually has a lot of pictures of Hyundais, among other things).<\/p>\n<p>This is a perfectly fair, valid and important point (and one that absolutely needs to be addressed), but doesn&#8217;t this also mean he actually cares that we say what we really mean?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been accused of several things in the Linked Data community this week: \u00c2\u00a0a circular reasoner, a defender of the status quo &#8220;just because that&#8217;s how we&#8217;ve always done it&#8221;, and (implicitly) an httpRange-14 apologist. \u00c2\u00a0Quite frankly, none of these are true or quite what I mean (and I&#8217;m, of course, over dramatizing the accusations), [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[65,8,61],"tags":[],"class_list":["post-376","post","type-post","status-publish","format-standard","hentry","category-linked-data","category-philosophizing","category-uris"],"_links":{"self":[{"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/posts\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/comments?post=376"}],"version-history":[{"count":17,"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/posts\/376\/revisions"}],"predecessor-version":[{"id":392,"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/posts\/376\/revisions\/392"}],"wp:attachment":[{"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/media?parent=376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/categories?post=376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rossfsinger.me\/blog\/wp-json\/wp\/v2\/tags?post=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}