Blog

 4 minute read.

The Second Wave

thammond

thammond – 2007 September 11

In Metadata

You might have been wondering why I’ve been banging on about XMP here. Why the emphasis on one vendor technology on a blog focussed on an industry linking solution? Well, this post is an attempt to answer that.

Four years ago we at Nature Publishing Group, along with a select few early adopters, started up our RSS news feeds. We chose to use RSS 1.0 as the platform of choice which allowed us to embed a rich metadata term set using multiple schemas - especially Dublin Core and PRISM. We evangelized this much at the time and published documents on XML.com (Jul. ’03) and in D-Lib Magazine (Dec. ’04) as well as speaking about this at various meetings and blogging about it. Since that time many more publishers have come on board and now provide RSS routinely, many of them choosing to enrich their feeds with metadata.

Well, RSS can be seen in hindsight as being the First Wave of projecting a web presence beyond the content platform using standard markup formats. With this embedded metadata a publisher can expand their web footprint and allow users to link back to their content server.

Now, XMP with its potential for embedding metadata in rich media can be seen as a Second Wave. Media assets distributed over the network can now carry along their own metadata and identity which can be leveraged by third-party applications to provide interesting new functionalities and link-back capability. Again a projection of web presence.

(Continues.)

XMP has much in common with RSS 1.0. They are both profiles of RDF/XML. They are both flawed in certain respects because of self-imposed limitations. But they both build on a robust and open data model for the web (RDF) and are reasonably open, at least they are extensible. One (RSS 1.0) was defined in an open process by committee, the other is an open (i.e published) specification provided by a vendor.

From our point of view both specifications are sufficiently advanced to be immediately useful. I’m not sure how one could interact with the further development of either specification. RSS 1.0 is essentially frozen with Atom being posed as a successor technology, although Atom does not conform to the RDF model. (The upshot is that an RSS 1.0 feed can be consumed completely by an RDF-aware application, while an Atom feed would need to be pre-processed before any RDF “goodness” could be gleaned from it.) By contrast, XMP is a vendor-defined technology and alive, if not perhaps kicking. I am unaware of any process to formally contribute to the XMP development apart from shouting from the terraces. None the less, both technologies are usable as is.

It is curious that no consistent packaging (and delivery) of metadata has yet been achieved with HTML, the original web interface. The HTML </tt> and <tt><meta></tt> elements are employed by publishers with various degrees of consistency. There are also RDF islands that can be embedded within HTML comments (as used e.g. by <a href="http://creativecommons.org/">CC licenses</a>). And then there are <a href="http://ocoins.info/">COinS</a> objects. But it’s all a bit of a mish-mash to date. Certainly, I don’t recall seeing any guidelines from Crossref as to how machine readable metadata (even markup for the DOI itself) may be embedded within HTML pages, rather than on HTML pages for human readers.</p> <p>This lack of uniform metadata deployment for HTML pages could be something to do with context. With RSS and XMP we are dealing with remote objects, whereas with HTML we are generally accessing this directly on the content server and so have a semantic context. It could be though that metadata delivery from HTML pages will finally be more uniformly available with the further development of standards such as <a href="http://microformats.org/">microformats</a> and especially <a href="http://www.w3.org/2006/07/SWD/RDFa/syntax/">RDFa</a>, <a href="http://www.w3.org/2004/01/rdxh/spec">GRDDL</a>, etc. It is also interesting to note that an XMP packet could just as easily be embedded within the HTML page, and if this technology were to be adopted more widely for embedding in other media assets then why not consider the same technology for ordinary web pages?</p> <p>I can’t help feeling though that XMP has a lot of promise and is very timely. There are only three real obstacles: creating XMP packets, writing them and reading them. To my mind, once one has a good grasp of XMP then creating the packets can be done with common tools. The same, more or less, for reading the packets. I have shown earlier that this is readily achievable. The only major block is writing the packets into media files although there is support for create/write (if patchy) by open source libraries, as well as there being support (perhaps limited) from products for create/write. But, anyway, it’s certainly do-able.</p> </div> <div> <h3>See also:</h3> <ul> <li><a href="/blog/preprints-growth-rate-ten-times-higher-than-journal-articles/">Preprints growth rate ten times higher than journal articles</a></li> <li><a href="/blog/how-good-is-your-metadata/">How good is your metadata?</a></li> <li><a href="/blog/redirecting-redirection/">Redirecting redirection</a></li> <li><a href="/blog/metadata-and-integrity-the-unlikely-bedfellows-of-scholarly-research/">Metadata and integrity: the unlikely bedfellows of scholarly research</a></li> <li><a href="/blog/changes-to-the-2018-membership-agreement-for-better-metadata-distribution/">Changes to the 2018 membership agreement for better metadata distribution</a></li> </ul> </div> <div id="disqus_thread"></div> <script> var disqus_config = function () { }; (function() { if (["localhost", "127.0.0.1"].indexOf(window.location.hostname) != -1) { document.getElementById('disqus_thread').innerHTML = 'Disqus comments not available by default when the website is previewed locally.'; return; } var d = document, s = d.createElement('script'); s.async = true; s.src = '//' + "crossreforg" + '.disqus.com/embed.js'; s.setAttribute('data-timestamp', +new Date()); (d.head || d.body).appendChild(s); })(); </script> <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> <a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> </div> <div class="col-md-2"> <a href="/blog/index.xml"><i class="fa fa-rss" aria-hidden="true"></i> RSS Feed</a> <section> <div class="blog-box"> <h2>Recent Posts</h2> <div class="item"> <p class="headline"><a href="/blog/meet-the-members-part-3-with-inasp/">Meet the members, Part 3 (with INASP)</a></p> <p class="date">2018 June 20</p> </div> <div class="item"> <p class="headline"><a href="/blog/preprints-growth-rate-ten-times-higher-than-journal-articles/">Preprints growth rate ten times higher than journal articles</a></p> <p class="date">2018 May 31</p> </div> <div class="item"> <p class="headline"><a href="/blog/linking-references-is-different-from-depositing-references/">Linking references is different from depositing references</a></p> <p class="date">2018 May 30</p> </div> <div class="item"> <p class="headline"><a href="/blog/ssp-roadtrip-for-the-crossref-team/">SSP roadtrip for the Crossref team</a></p> <p class="date">2018 May 30</p> </div> </section> <section> <div class="blog-box"> <h2>Categories</h2> <ul class="blog-categories"> <li><a href="/categories/api">API</a> (14)</li> <li><a href="/categories/altmetrics">Altmetrics</a> (21)</li> <li><a href="/categories/author-identifiers">Author Identifiers</a> (13)</li> <li><a href="/categories/blog">Blog</a> (15)</li> <li><a href="/categories/citation">Citation</a> (16)</li> <li><a href="/categories/citation-formats">Citation Formats</a> (10)</li> <li><a href="/categories/collaboration">Collaboration</a> (10)</li> <li><a href="/categories/crossref-labs">Crossref Labs</a> (19)</li> <li><a href="/categories/dois">DOIs</a> (19)</li> <li><a href="/categories/data">Data</a> (16)</li> <li><a href="/categories/discussion">Discussion</a> (11)</li> <li><a href="/categories/event-data">Event Data</a> (22)</li> <li><a href="/categories/events">Events</a> (26)</li> <li><a href="/categories/funders">Funders</a> (10)</li> <li><a href="/categories/handle">Handle</a> (10)</li> <li><a href="/categories/identifiers">Identifiers</a> (63)</li> <li><a href="/categories/interoperability">Interoperability</a> (20)</li> <li><a href="/categories/linked-data">Linked Data</a> (15)</li> <li><a href="/categories/linking">Linking</a> (35)</li> <li><a href="/categories/meetings">Meetings</a> (13)</li> <li><a href="/categories/member-briefing">Member Briefing</a> (20)</li> <li><a href="/categories/member-briefing">Member Briefing</a> (11)</li> <li><a href="/categories/metadata">Metadata</a> (66)</li> <li><a href="/categories/news">News</a> (27)</li> <li><a href="/categories/orcid">ORCID</a> (15)</li> <li><a href="/categories/outreach">Outreach</a> (10)</li> <li><a href="/categories/persistence">Persistence</a> (11)</li> <li><a href="/categories/publishing">Publishing</a> (14)</li> <li><a href="/categories/rss">RSS</a> (10)</li> <li><a href="/categories/search">Search</a> (20)</li> <li><a href="/categories/standards">Standards</a> (16)</li> <li><a href="/categories/wikipedia">Wikipedia</a> (14)</li> <li><a href="/categories/xmp">XMP</a> (14)</li> </ul> </div> <div class="blog-box"> <h2>Archives</h2> <ul class="blog-categories"> <li><a href="/archives/2018">2018</a> (22)</li> <li><a href="/archives/2017">2017</a> (41)</li> <li><a href="/archives/2016">2016</a> (50)</li> <li><a href="/archives/2015">2015</a> (23)</li> <li><a href="/archives/2014">2014</a> (4)</li> <li><a href="/archives/2013">2013</a> (2)</li> <li><a href="/archives/2012">2012</a> (5)</li> <li><a href="/archives/2011">2011</a> (6)</li> <li><a href="/archives/2010">2010</a> (9)</li> <li><a href="/archives/2009">2009</a> (34)</li> <li><a href="/archives/2008">2008</a> (56)</li> <li><a href="/archives/2007">2007</a> (91)</li> <li><a href="/archives/2006">2006</a> (21)</li> </ul> </div> </section> </div> </div> <div class="row"> <div class="sharethis-inline-share-buttons"></div></ul> </div> <div class="row"> <div class="row infoline"> <div class="col-md-12"> <p> Last Updated: 2018 June 13 by thammond </p> </div> </div> </div> </div> <footer class='top-footer'> <div class="container"> <div class="row"> <div class="col-lg-4 col-lg-offset-2 col-md-4 col-md-offset-2 text-center"> <a href='https://0-www-crossref-org.wam.leeds.ac.uk/membership/'><button>Join the Crossref community</button></a> </div> <div class="col-lg-4 col-md-4 text-center"> <a href='https://0-www-crossref-org.wam.leeds.ac.uk/subscribe-newsletter/'><button>Sign up for Crossref updates</button></a> </div> </div> </div> </footer> <footer class='bottom-footer'> <div class="container"> <div class="row"> <div class="col-lg-10 col-lg-offset-1 col-md-10 col-md-offset-1"> <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12"> <p class="address"> Crossref<br /> 50 Salem St<br /> Lynnfield, MA 01940<br /> USA<br /> </p> </div> <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12"> <p class="address"> <a href="/news/" title="News">News</a><br /> <a href="/blog/" title="Blog">Blog</a><br /> <a href="/labs/" title="Labs">Labs</a><br /> <a href="/contact/" title="Contact">Contact</a><br /> </p> </div> <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12"> <p class="address"> <a href="/membership/" title="Become a member">Apply</a><br /> <a href="/faqs/" title="FAQs">FAQs</a><br /> <a href="/dashboard/" title="Dashboard">Dashboard</a><br /> <a href="/member-obligations/" title="Member obligations">Member obligations</a><br /> </p> </div> <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12"> <p class="address"> <a href="/truths/" title="Our truths">Truths</a><br /> <a href="/annual-report/" title="Annual report">Annual report</a><br /> <a href="/committees/" title="Committees">Committees</a><br /> <a href="/board-and-governance/" title="Governance">Governance</a><br /> </p> </div> </div> </div> </footer> <footer class='very-bottom-footer'> <div class="container"> <div class="row"> <div class="col-lg-11"> <img class="footer-svg cc" src="/images/footer/cc.svg" /></i><img class="footer-svg by" src="/images/footer/by.svg" /> The content of this site is licensed under a <a href="https://creativecommons.org/licenses/by/4.0/" title="Creative Commons">Creative Commons Attribution 4.0 International License</a> </div> <div class="col-lg-1"> <a href='https://0-www-crossref-org.wam.leeds.ac.uk/privacy/'>Privacy</a> </div> </div> </div> </footer> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/jquery.min.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/jquery.ui-min.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/js.cookie.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/jquery.cookiebar.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/jquery.fancybox.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/jquery.validate.js"></script> <script type="text/javascript" language="javascript" src="//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script type="text/javascript" language="javascript" src="//cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script> <script type="text/javascript" language="javascript" src="//cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/jquery.fancybox.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/bootstrap.min.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/jquery.sticky-kit.min.js"></script> <script src="https://0-www-crossref-org.wam.leeds.ac.uk/js/crossref.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.1.0/masonry.pkgd.js"></script> <script>(function(w,a,b,d,s){w[a]=w[a]||{};w[a][b]=w[a][b]||{q:[],track:function(r,e,t){this.q.push({r:r,e:e,t:t||+new Date});}};var e=d.createElement(s);var f=d.getElementsByTagName(s)[0];e.async=1;e.src='//outreach.crossref.org/cdnr/93/acton/bn/tracker/16781';f.parentNode.insertBefore(e,f);})(window,'ActOn','Beacon',document,'script');ActOn.Beacon.track();</script> <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> <script> $(document).ready(function () { $(".short-summary").text(function(index, currentText) { return currentText .split(' ', 35 ) .join(' ') + "\u2026"; }); }); </script> <script> function fakeClick(){ $('a[href="#tabs-metadatasearch"]').trigger('click'); } var $searchstring = ''; jQuery(document).ready(function ($) { var MQL = 1170; var client = algoliasearch('QSQNJS2NQU', 'c89cdaacb1f5ab75df92bb4d16b44790'); var index = client.initIndex('live'); var doiPattern = /10\.[0-9]{4}/; function checkPattern(input) { if (doiPattern.test(input)) { return true; } else { return false; } } var hcwhtopInput = document.getElementById("howcanwehelptop"); autocomplete('#howcanwehelptop', { hint: false, openOnFocus:true }, [{ source: autocomplete.sources.hits(index, {hitsPerPage: 5}), displayKey: 'title', templates: { suggestion: function(suggestion) { sectionValue = suggestion._highlightResult.section.value.replace(/\-/g, " ") titleValue = suggestion._highlightResult.title.value result ="<a href='" + suggestion.url + "'>" + "<div class='autosuggest-section'>" + sectionValue + "</div><div class='autosuggest-title'>" + titleValue + "</div></a>"; return result; }, empty: function() { return '<div class="aa-empty">We don\'t have anything on that topic. Please try editing your search or typing something new.</div>'; }, footer: function () { return "<div class='aa-footer'><span class='middle'>|</span><span class='left'><a href='/site-search/?q=" + hcwhtopInput.value + "'>More results</a></span><span class='right'><a href='https://0-search-crossref-org.wam.leeds.ac.uk/?q=" + hcwhtopInput.value + "'>Search metadata</a></span></div>"; } } } ]).on('autocomplete:selected', function(event, suggestion, dataset) { location.href = suggestion.url; }); var hcwhInput = document.getElementById("howcanwehelp"); autocomplete('#howcanwehelp', { hint: false, openOnFocus:true }, [{ source: autocomplete.sources.hits(index, {hitsPerPage: 5}), displayKey: 'title', templates: { suggestion: function(suggestion) { sectionValue = suggestion._highlightResult.section.value.replace(/\-/g, " ") titleValue = suggestion._highlightResult.title.value result ="<a href='" + suggestion.url + "'>" + "<div class='autosuggest-section'>" + sectionValue + "</div><div class='autosuggest-title'>" + titleValue + "</div></a>"; return result; }, empty: function () { return '<div class="aa-empty">We don\'t have anything on that topic. Please try editing your search or typing something new.</div>'; }, footer: function () { $searchstring = hcwhInput.value; return "<div class='aa-footer'><span class='middle'>|</span><span class='left'><a href='/site-search/?q=" + hcwhInput.value + "'>More results</a></span><span class='right'><a onclick='fakeClick();' class='metadatalink' href='#'>Search metadata</a></span></div>"; } } } ]).on('autocomplete:selected', function(event, suggestion, dataset) { location.href = suggestion.url; }); }); </script> <script type="text/javascript"> var _paq = _paq || []; _paq.push(["setDocumentTitle", document.domain + "/" + document.title]); _paq.push(["setCookieDomain", "*.www.crossref.org"]); _paq.push(["setDomains", ["*.www.crossref.org"]]); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//crossref.piwikpro.com/"; _paq.push(['setTrackerUrl', u+'piwik.php']); _paq.push(['setSiteId', 1]); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); })(); </script> <noscript><p><img src="//crossref.piwikpro.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript> </body> </html>