init
authorMichael Hausenblas http://sw-app.org/mic.xhtml#i
Thu, 21 Jul 2011 17:50:07 +0100
changeset 0 058c5a66b773
child 1 dee94c95eeb8
init
.hgignore
bp/index.html
bp/local-style.css
bp/respec-config.js
bp/respec-ref.js
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Thu Jul 21 17:50:07 2011 +0100
@@ -0,0 +1,2 @@
+syntax: glob
+.DS_Store
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bp/index.html	Thu Jul 21 17:50:07 2011 +0100
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN"
+                      "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Best Practices for Publishing Linked Data</title>
+	<meta name="description" content="Best Practices for Publishing Linked Data" />
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<script type="text/javascript"src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script>
+	<script src="respec-ref.js"></script>
+	<script src="respec-config.js"></script>
+	<link rel="stylesheet" type="text/css" href="local-style.css" />
+</head>
+<body>
+
+<section id="abstract">
+<p>
+This document provides best practices and guidance to create high quality, re-usable Linked Open Data (LOD). 
+</p>
+</section>
+
+<section id='sotd'>
+  <p>This document is work in progress.</p>
+</section>
+
+<section class="introductory">
+<h2>Scope</h2>
+
+<p>
+This is ...
+</p>
+</section>
+
+<!--    INTRODUCTION    -->
+<section>
+<h2>Introduction</h2>
+
+<section>
+<h3>Overview</h3>
+<p>
+<a href="http://www.w3.org/DesignIssues/LinkedData.html" title="Linked Data - Design Issues">Linked Data</a> addresses key requirements of open government by providing a family of international standards for the publication, dissemination and reuse of structured data. Further, Linked Data, unlike previous data formatting and publication approaches, provides a simple mechanism for combining data from multiple sources across the Web.
+</p>
+<p>
+In an era of reduced local, state and federal budgets, there is strong economic motivation to reduce waste and duplication in data management and integration. Linked Open Data is a viable approach to publishing governmental data to the public, but only if it adheres to some basic principles.
+</p>
+
+<p class='todo'>TODO: more motivation and SOTA</p>
+
+</section>
+
+
+<!--    PROCUREMENT   -->
+<section>
+<h3>Procurement</h3>
+<p class='responsible'>Katherine Goodier (L3 Communications)</p>
+<p>
+Specific products and services involved in governments publishing linked data will be defined, suitable for use during government procurement. Just as the <a href="http://www.w3.org/WAI/intro/wcag" title="WCAG Overview">Web Content Accessibility Guidelines</a> allow governments to easily specify what they mean when they contract for an accessible Website, these definitions will simplify contracting for data sites and applications.
+</p>
+</section>
+
+
+<!--    VOCABULARY SELECTION   -->
+<section>
+<h3>Vocabulary Selection</h3>
+<p class='responsible'>Michael Hausenblas (DERI), Ghislain Atemezing (INSTITUT TELECOM), David Price (TopQuadrant)</p>
+<p>
+The group will provide advice on how governments should select RDF vocabulary terms (URIs), including advice as to when they should mint their own. This advice will take into account issues of stability, security, and long-term maintenance commitment, as well as other factors that may arise during the group's work.
+</p>
+</section>
+
+
+<!--    URI CONSTRUCTION   -->
+<section>
+<h3>URI Construction</h3>
+<p class='responsible'>Ghislain Atemezing (INSTITUT TELECOM), Michael Hausenblas (DERI)</p>
+<p>
+This section specifies how to create good URIs for use in government linked data. Inputs include <a href="http://www.w3.org/TR/cooluris/" title="Cool URIs for the Semantic Web">Cool URIs for the Semantic Web</a>, <a href="http://www.cabinetoffice.gov.uk/media/308995/public_sector_uri.pdf">Designing URI Sets for the UK Public Sector</a> (PDF), and <a href="http://data.gov.uk/resources/uris" title="Creating URIs | data.gov.uk">Creating URIs</a> (data.gov.uk). Guidance will be produced not only for minting URIs for governmental entities, such as schools or agencies, but also for vocabularies, concepts, and datasets.
+</p>
+</section>
+
+
+<!--    VERSIONING   -->
+<section>
+<h3>Versioning</h3>
+<p class='responsible'>Dean Allemang (TopQuadrant), Cory Casanave, Hadley Beeman (LinkedGov)</p>
+<p>
+This section specifies how to publish data which has multiple versions, including variations such as:
+<ul>
+	<li>data covering different time periods</li>
+	<li>corrected data about the same time period</li>
+	<li>the same data published using different vocabularies, formats, and presentation styles</li>
+	<li>retracting published data</li>
+</ul>
+</p>
+</section>
+
+
+<!--    STABILITY   -->
+<section>
+<h3>Stability</h3>
+<p class='responsible'>Anne Washington (George Mason University)</p>
+<p>
+This section specifies how to publish data so that others can rely on it being available in perpetuity, persistently archived if necessary.
+</p>
+</section>
+
+
+<!--    LEGACY DATA   -->
+<section>
+<h3>Legacy Data</h3>
+<p class='responsible'>David Price (TopQuadrant), Michael Hausenblas (DERI)</p>
+<p>
+This section contains advices concerning how to expose legacy data, data which is being maintained in pre-existing (non-linked-data) systems.
+</p>
+</section>
+
+
+<!--    COOKBOOK   -->
+<section>
+<h3>Cookbook</h3>
+<p class='responsible'>Bernadette Hyland (3 Round Stones), Bart van Leeuwen (Fire Dept Amsterdam)</p>
+<p>
+This section provides a collection of advice on smaller, more specific issues, where known solutions exist to problems collected for the Community Directory. This part is going to be separated out as a Working Group Note, or website, rather than a Recommendation. It may, instead, become part of the Community Directory site.
+</p>
+<p class='todo'>TODO: decide how to proceed with this section; maybe intro here and then link to website?</p>
+</section>
+
+
+<!--    ACK   -->
+<section class="appendix">
+<h2>Acknowledgments</h2>
+<p>
+The editors are very thankful for comments and suggestions ...
+</p>
+</section>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bp/local-style.css	Thu Jul 21 17:50:07 2011 +0100
@@ -0,0 +1,145 @@
+
+.ldhcode {
+margin: 0px;
+padding: 10px;
+background: #ffffee;
+border: 1px solid #ffff88;
+}
+.turtlecode {
+margin: 0px;
+padding: 10px;
+background: #eeffee;
+border: 1px solid #88dd88;
+}
+.fig {
+text-align: center;
+}
+.fig img {
+border-bottom: 1px solid #bebebe;
+padding: 20px;
+margin-top: 20px;
+}
+.fig div {
+padding: 5px;
+}
+.fig div span {
+font-weight: bold;
+}
+.xsec h3 {
+font-size: 16px;
+text-align: left;
+margin-bottom: 5px;
+font-weight: bold;
+color: black;
+}
+.bc {
+text-align: left;
+border: 1px solid #e0e0e0;
+background: #ffffff url("http://upload.wikimedia.org/wikipedia/commons/d/db/Crystal_Clear_mimetype_vcard.png") no-repeat right -16px;
+padding: 20px 50px 20px 10px;
+margin: 0px;
+margin-top: 0px;
+}
+
+.todo {
+border: 3px solid #ff0;
+margin: 0 0 0 20px;
+padding: 10px;
+}
+
+.responsible {
+border: 3px solid #6a6;
+margin: 0 0 0 20px;
+padding: 10px;
+}
+
+
+ol.prereq li {
+padding-bottom: 10px;
+}
+ul.checklist-toc {
+margin-left: 20px;
+width: 650px;
+}
+ul.checklist-toc li {
+margin: 5px;
+padding: 10px;
+border: 1px solid #8f8f8f;
+list-style: none;
+}
+ul.inline-opt {
+margin-left: 20px;
+}
+ul.inline-opt li {
+margin: 5px;
+padding: 10px;
+}
+dl.decl dd {
+padding-bottom: 1em;	
+}
+dl.refs {
+margin: 10px;
+padding: 10px;
+}
+dl.refs dt {
+padding-bottom: 5px;
+}
+dl.refs dd {
+padding-bottom: 10px;
+margin-left: 15px;
+}
+dl.decl {
+border: 1px dashed black;
+padding: 10px;
+margin-left: 100px;
+margin-right: 100px;
+}
+dl.decl dt {
+padding-bottom: 5px;
+}
+dl.decl dd {
+padding-bottom: 10px;
+}
+dl tt {
+font-size: 110%;
+}
+table.example {
+border: 0px solid #9e9e9e;
+border-bottom: 0px;
+width: 100%;
+padding: 0px;
+margin-top: 20px;
+}
+table.example th {
+border-bottom: 1px solid #bebebe;
+border-top: 0px solid #bebebe;
+}
+table.example td {
+vertical-align: top;
+padding: 10px;
+padding-top: 10px;
+}
+table.example caption {
+border-top: 1px solid #bebebe;
+padding: 5px;
+caption-side: bottom;
+margin-bottom: 30px;
+}
+table.example caption span {
+font-weight: bold;
+}
+table.xtab {
+width: 100%;
+padding: 2px;
+background: #d0d0d0;
+}
+table.xtab th {
+border: 0px;
+border-bottom: 1px solid #fefefe;
+text-align: left;
+padding: 2px;
+padding-bottom: 1px;
+}
+
+.diff { font-weight:bold; color:#0a3; }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bp/respec-config.js	Thu Jul 21 17:50:07 2011 +0100
@@ -0,0 +1,97 @@
+var respecConfig = {
+    // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
+    specStatus:           "ED",
+    publishDate:          "2011-07-21",
+    //copyrightStart:       "2010",
+
+    // the specification's short name, as in http://www.w3.org/TR/short-name/
+    shortName:            "gld-bp",
+    //subtitle:             "",
+    // if you wish the publication date to be other than today, set this
+    // publishDate:  "2009-08-06",
+
+    // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
+    // and its maturity status
+    //previousPublishDate:  "2011-06-26",
+    //previousMaturity:     "ED",
+    //previousDiffURI:      "http://dvcs.w3.org/hg/gld/bp/",
+    diffTool:             "http://www.aptest.com/standards/htmldiff/htmldiff.pl",
+
+    // if there a publicly available Editor's Draft, this is the link
+    edDraftURI:           "http://dvcs.w3.org/hg/gld/bp/",
+
+    // if this is a LCWD, uncomment and set the end of its review period
+    // lcEnd: "2009-08-05",
+
+    // if you want to have extra CSS, append them to this list
+    // it is recommended that the respec.css stylesheet be kept
+    extraCSS:             [
+        "http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"
+    ],
+
+    // editors, add as many as you like
+    // only "name" is required
+    editors:  [
+        { name: "Michael Hausenblas", url: "http://sw-app.org/mic.xhtml#i",
+          company: "DERI", companyURL: "http://www.deri.ie" }
+    ],
+
+    // authors, add as many as you like. 
+    // This is optional, uncomment if you have authors as well as editors.
+    // only "name" is required. Same format as editors.
+
+    //authors:  [],
+
+    // name of the WG
+    wg:           "Government Linked Data Working Group",
+
+    // URI of the public WG page
+    wgURI:        "http://www.w3.org/2011/gld/",
+
+    // name of the public mailing to which comments are due
+    wgPublicList: "public-gld-wg",
+
+    // URI of the patent status for this WG, for Rec-track documents
+    // !!!! IMPORTANT !!!!
+    // This is important for Rec-track documents, do not copy a patent URI from a random
+    // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
+    // Team Contact.
+    wgPatentURI:  "",
+    maxTocLevel: 3,
+    preProcess: [ preProc ]
+    //alternateFormats: [ {uri: "diff-20110507.html", label: "diff to previous version"} ],
+};
+
+function updateExample(doc, content) {
+  // perform transformations to make it render and prettier
+  content = content.replace(/<!--/, '');
+  content = content.replace(/-->/, '');
+  content = doc._esc(content);
+  content = content.replace(/\*\*\*\*([^*]*)\*\*\*\*/g, '<span class="diff">$1</span>') ;
+  return content ;
+}
+
+function updateDTD(doc, content) {
+  // perform transformations to
+  // make it render and prettier
+  content = '<pre class="dtd">' + doc._esc(content) + '</pre>';
+  content = content.replace(/!ENTITY % ([^ \t\r\n]*)/g, '!ENTITY <span class="entity">% $1</span>');
+  content = content.replace(/!ELEMENT ([^ \t$]*)/mg, '!ELEMENT <span class="element">$1</span>');
+  return content;
+}
+
+function updateSchema(doc, content) {
+  // perform transformations to
+  // make it render and prettier
+  content = '<pre class="dtd">' + doc._esc(content) + '</pre>';
+  content = content.replace(/&lt;xs:element\s+name=&quot;([^&]*)&quot;/g, '&lt;xs:element name="<span class="element" id="schema_element_$1">$1</span>"') ;
+  return content;
+}
+
+function updateTTL(doc, content) {
+  // perform transformations to
+  // make it render and prettier
+  content = '<pre class="sh_sourceCode">' + doc._esc(content) + '</pre>';
+  content = content.replace(/@prefix/g, '<span class="sh_keyword">@prefix</span>');
+  return content;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bp/respec-ref.js	Thu Jul 21 17:50:07 2011 +0100
@@ -0,0 +1,127 @@
+var preProc = {
+      apply:  function(c) {
+                // extend the bibliography entries
+                berjon.biblio["MICRODATA"] = "<cite><a href=\"http://www.w3.org/TR/microdata/\">Microdata</a></cite> Ian Hickson; et al. 04 March 2010. W3C Working Draft. URL: http://www.w3.org/TR/microdata/ ";
+                berjon.biblio["XHTML-RDFA"] = "<cite><a href=\"http://www.w3.org/TR/xhtml-rdfa/\">XHTML+RDFa</a></cite> Manu Sporny; et al. 31 March 2011. W3C Working Draft. URL: http://www.w3.org/TR/xhtml-rdfa/ ";
+                berjon.biblio["HTML-RDFA"] = "<cite><a href=\"http://dev.w3.org/html5/rdfa/\">HTML+RDFa</a></cite> Manu Sporny; et al. 24 May 2011. W3C Working Draft. URL: http://dev.w3.org/html5/rdfa/ ";
+                berjon.biblio["HOWTO-LODP"] = "<cite><a href=\"http://linkeddata.org/docs/how-to-publish\">How to Publish Linked Data on the Web</a></cite>, C. Bizer, R. Cyganiak, and Tom Heath, Community Tutorial 17 July 2008. URL: http://linkeddata.org/docs/how-to-publish";
+                berjon.biblio["COOL-SWURIS"] = "<cite><a href=\"http://www.w3.org/TR/cooluris/\">Cool URIs for the Semantic Web</a></cite>, L. Sauermann and R. Cyganiak, W3C Interest Group Note 03 December 2008. URL: http://www.w3.org/TR/cooluris/";
+                berjon.biblio["VOID-GUIDE"] = "<cite><a href=\"http://www.w3.org/TR/void/\">Describing Linked Datasets with the VoID Vocabulary</a></cite>, K. Alexander, R. Cyganiak, M. Hausenblas, and J. Zhao, W3C Interest Group Note 03 March 2011. URL: http://www.w3.org/TR/void/";
+                berjon.biblio["RDFA-CORE-PROFILE"] = "<cite><a href=\"http://www.w3.org/profile/rdfa-1.1\">RDFa Core Default Profile</a></cite>, I. Herman, W3C RDF Web Applications Working Group 02 June 2011. URL: http://www.w3.org/profile/rdfa-1.1";
+                berjon.biblio["XHTML-RDFA-PROFILE"] = "<cite><a href=\"http://www.w3.org/profile/html-rdfa-1.1\">HTML+RDFa Core Default Profile</a></cite>, I. Herman, W3C RDF Web Applications Working Group 24 May 2011. URL: http://www.w3.org/profile/html-rdfa-1.1";
+                berjon.biblio["RFC2616"] = "<cite><a href=\"http://www.w3.org/Protocols/rfc2616/rfc2616.html\">Hypertext Transfer Protocol -- HTTP/1.1</a></cite>, R. Fielding; et al. June 1999. Internet RFC 2616. URL: http://www.w3.org/Protocols/rfc2616/rfc2616.html."
+
+                // process the document before anything else is done
+                var refs = document.querySelectorAll('adef') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var sp = document.createElement( 'dfn' ) ;
+                    var tit = item.getAttribute('title') ;
+                    if (!tit) {
+                        tit = con;
+                    }
+                    sp.className = 'adef' ;
+                    sp.title=tit ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+                refs = document.querySelectorAll('aref') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var sp = document.createElement( 'a' ) ;
+                    sp.className = 'aref' ;
+                    sp.setAttribute('title', con);
+                    sp.innerHTML = '@'+con ;
+                    p.replaceChild(sp, item) ;
+                }
+                // local datatype references
+                refs = document.querySelectorAll('ldtref') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    if (!item) continue ;
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var ref = item.getAttribute('title') ;
+                    if (!ref) {
+                        ref = item.textContent ;
+                    }
+                    if (ref) {
+                        ref = ref.replace(/\n/g, '_') ;
+                        ref = ref.replace(/\s+/g, '_') ;
+                    }
+                    var sp = document.createElement( 'a' ) ;
+                    sp.className = 'datatype';
+                    sp.title = ref ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+                // external datatype references
+                refs = document.querySelectorAll('dtref') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    if (!item) continue ;
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var ref = item.getAttribute('title') ;
+                    if (!ref) {
+                        ref = item.textContent ;
+                    }
+                    if (ref) {
+                        ref = ref.replace(/\n/g, '_') ;
+                        ref = ref.replace(/\s+/g, '_') ;
+                    }
+                    var sp = document.createElement( 'a' ) ;
+                    sp.className = 'externalDFN';
+                    sp.title = ref ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+                // now do terms
+                refs = document.querySelectorAll('tdef') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    if (!item) continue ;
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var ref = item.getAttribute('title') ;
+                    if (!ref) {
+                        ref = item.textContent ;
+                    }
+                    if (ref) {
+                        ref = ref.replace(/\n/g, '_') ;
+                        ref = ref.replace(/\s+/g, '_') ;
+                    }
+                    var sp = document.createElement( 'dfn' ) ;
+                    sp.title = ref ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+                // now term references
+                refs = document.querySelectorAll('tref') ;
+                for (var i = 0; i < refs.length; i++) {
+                    var item = refs[i];
+                    if (!item) continue ;
+                    var p = item.parentNode ;
+                    var con = item.innerHTML ;
+                    var ref = item.getAttribute('title') ;
+                    if (!ref) {
+                        ref = item.textContent ;
+                    }
+                    if (ref) {
+                        ref = ref.replace(/\n/g, '_') ;
+                        ref = ref.replace(/\s+/g, '_') ;
+                    }
+
+                    var sp = document.createElement( 'a' ) ;
+                    var id = item.textContent ;
+                    sp.className = 'tref' ;
+                    sp.title = ref ;
+                    sp.innerHTML = con ;
+                    p.replaceChild(sp, item) ;
+                }
+            }
+    } ;
\ No newline at end of file