Sarven Capadisli's Web Feed https://csarven.ca/atom 2024-01-16T22:48:26.319Z Copyright 2024 Sarven Capadisli . License: https://creativecommons.org/licenses/by/4.0/ . Rights and license are feed only. dokieli https://csarven.ca/#i Sarven Capadisli https://csarven.ca/linked-specifications-reports Linked Specifications, Test Suites, and Implementation Reports 2017-09-29T00:00:00Z 2018-01-15T00:00:00Z https://csarven.ca/#i Sarven Capadisli <section id='abstract'> <h2>Abstract</h2> <div property='schema:abstract' datatype='rdf:HTML'> <p>This article describes the semantic structure and linking of the W3C Recommendation <cite><a href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a></cite> (LDN), its test suite, and implementation reports.</p> <p>Semantically interlinking and detailed machine-readability of components related to Web standards and their implementations is novel, and can be useful for coherently documenting software projects and their conformance with specifications. Everything presented here is open source and reusable by other specifications (W3C standards or not), test suites, and implementations.</p> <p>As a concrete example of the benefits of this approach, the LDN test suite is itself an LDN implementation for the purpose of automating the collection and aggregation of implementation reports which were used directly towards the formal standardisation process.</p> </div> </section> <section resource='#introduction' rel='schema:hasPart' inlist='' id='introduction'> <h2 typeof='deo:Introduction' resource='#introduction' property='schema:name'>Introduction</h2> <div property='schema:description' datatype='rdf:HTML'> <p>A technical specification describes a set of requirements for a technology, for example data models, protocols, and application behaviour. The W3C publishes <q>Technical Reports</q> — also known as <q>specifications</q> and sometimes called <q>standards</q> once they are widely adopted. These documents are intended to help different (current or future) implementations to have common core functionality and quality, comply with accessibility and internationalisation guidelines, and take security and privacy considerations into account. When an application, for instance, implements a specification, it can be checked against that specification’s conformance criteria for normative requirements. Specifications are typically accompanied with test suites to assist implementations to identify their conformance level as well as areas for improvement. Similarly, reports and feedback help specifications to improve and advance towards publication. Thus, a specification and conforming implementations are integral to ensuring valid and interoperable applications. In the context of the Web, specifications enable discoverability of data and services, data exchange, and predictability of side effects of certain requests.</p> <p>In the wild, specifications and implementation reports are human-readable documents, and commonly the information within them is not machine-readable, at least from the perspective of exposing <cite>Linked Data</cite> on the Web. That is, there is a lack of globally identifiable and discoverable structured data in these documents, and they are not well linked to one another or to other resources on the Web; a machine consumer cannot reliably conduct a <q>follow your nose</q> type of exploration, or provide search mechanisms without considerable customisation per resource. There are HTML templates for specifications which facilitate embedding of some structured data, but they tend to describe items like document level sectioning, references, contributors, or metadata. On the other hand, information on each <em>specification requirement</em> and <em>conformance classifications</em> remain as unstructured prose, or at least geared towards human consumption.</p> <p>As for implementation reports, there is even less consistency across the board on how these documents are represented and accessed, let alone any definitive methods for data exchange or information retrieval.</p> <p>Having the specifications and implementation reports appropriately interlinked and retrievable can facilitate their automated discovery and reuse. One attainable use case is to be able to find applications that match a certain conformance criteria, eg. in order to have fine-grained bundling of software packages. While this would typically include normative requirements, tests can potentially capture and reveal optional features of specifications. Prospective consumers of the compliance reports can be application developers finding appropriate software for use, as well as automatic software package managers.</p> <p>This article describes the development of an interlinked, machine-readable W3C Recommendation, its test suite, and implementation reports as a whole. The W3C specification in question is <cite><a rel='cito:citesAsEvidence cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/" data-versionurl='https://www.w3.org/TR/2017/REC-ldn-20170502/' data-versiondate='2017-05-02'>Linked Data Notifications</a></cite> (<abbr title='Linked Data Notifications'>LDN</abbr>). The associated automated <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/">test suite</a></cite> covers each requirement of the specification with individual tests, and the test suite documentation is semantically linked with the specification itself accordingly. Once the tests have been run, the test suite generates a similarly linked implementation report. This report is submitted using LDN itself as the notification mechanism (more on this later). The listing of implementation reports (software conforming to the specification) is thus automatically updated. <a href="https://csarven.ca/linked-specifications-reports/#figure-linked-specifications-reports">Figure 1</a> depicts an overview of linking the LDN specification, its test suite, the generated implementation report for the dokieli project, reports summary, and an article citing the specification.</p> <figure resource='#figure-linked-specifications-reports' rel='schema:hasPart' id='figure-linked-specifications-reports'> <object width='640' type='image/svg+xml' rel='schema:image' height='427' data="https://csarven.ca/media/images/articles/linked-specifications-reports.svg"></object> <figcaption property='schema:name'>An overview of linking a specification, test suite, generated implementation report for the project, reports summary, and an article citing the specification</figcaption> </figure> <p>The information patterns discussed in the <a href="https://csarven.ca/linked-specifications-reports/#specification">specification</a> and the <a href="https://csarven.ca/linked-specifications-reports/#implementation-reports">implementation reports</a> sections should be reusable across other specifications and related components. Sources are available from:</p> <ul> <li>The specification: <a href="https://www.w3.org/TR/ldn/">https://www.w3.org/TR/ldn/</a></li> <li>The test suite: <a href="https://linkedresearch.org/ldn/tests/">https://linkedresearch.org/ldn/tests/</a></li> <li>Implementation reports summary and individual reports: <a href="https://linkedresearch.org/ldn/tests/summary">https://linkedresearch.org/ldn/tests/summary</a></li> </ul> <p>The test suite uses <em>mayktso</em> (<a href="https://github.com/csarven/mayktso">https://github.com/csarven/mayktso</a>) as the LDN receiver, but any conformant receiver implementation will work here.</p> <p>The prefixes and namespaces that are used in this article are listed under the <a href="https://csarven.ca/linked-specifications-reports/#document-convention">document convention</a> section.</p> </div> </section> <section resource='#related-work' rel='schema:hasPart' inlist='' id='related-work'> <h2 typeof='deo:RelatedWork' resource='#discussion' property='schema:name'>Related Work</h2> <div property='schema:description' datatype='rdf:HTML'> <p>Our approach uses existing standards and best practices throughout. Here we have a look at some work relevant to obtaining human and machine-readable specifications and test reports.</p> <dl> <dt id='generation-of-technical-reports'>Generation of technical reports</dt> <dd><cite><a rel='cito:citesAsAuthority' href="https://github.com/w3c/respec">ReSpec</a></cite> is a tool for creating technical documents and web standards in HTML(+RDFa) that is commonly used for W3C specifications. There are also various <cite><a rel='cito:discusses' href="https://www.rfc-editor.org/pubprocess/tools/">tools for creating Internet Drafts</a></cite> and publishing them as <abbr title='Request For Comments'>RFCs</abbr>, eg. at IETF, IANA. These approaches allow document authors to include structured data eg. in XML, JSON(-LD), in addition to text in prose as input before converting the source format to HTML.</dd> <dt id='generation-of-vocabularies'>Generation of vocabularies</dt> <dd>Web standards often take the form of vocabularies. Some tools to generate the human-readable version of a vocabulary may also include some semantic markup. <a rel='cito:discusses' href="https://github.com/dgarijo/Widoco">Widoco</a> (<cite><a rel='cito:citesAsAuthority' href="http://dgarijo.com/papers/widoco-iswc2017.pdf">A Wizard for Documenting Ontologies</a></cite>) and <a rel='cito:discusses' href="http://www.essepuntato.it/lode/">LODE</a> (<cite><a rel='cito:citesAsAuthority' href="http://speroni.web.cs.unibo.it/publications/peroni-2012-live-documentation-environment.pdf">Live OWL Documentation Environment</a></cite>) focus on describing vocabularies and ontologies, and HTML output. The W3C <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/prov-o/">PROV Ontology</a></cite>’s term definitions was generated using <a rel='cito:discusses' href="https://github.com/timrdf/prov-lodspeakr">prov-lodspeakr</a> — input being an RDF Turtle with OWL annotations, and the output of HTML sections that was integrated into the specification.</dd> <dt id='generation-of-implementation-reports'>Generation of implementation reports</dt> <dd>The W3C SPARQL 1.1’s Service Description <a rel='cito:citesAsAuthority' href="https://www.w3.org/2009/sparql/docs/tests/">testing process</a> generates implementation reports in RDF/XML and Turtle using the <cite>EARL</cite> vocabulary.</dd> <dd>The <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/shacl/">Shapes Constraint Language</a></cite> (<abbr title='Shapes Constraint Language'>SHACL</abbr>) has a <a rel='cito:discusses' href="http://w3c.github.io/data-shapes/data-shapes-test-suite/">test suite and implementation report</a> HTML document (using ReSpec) that defines the format and process of the tests. It refers to individual test reports in Turtle as data dumps accessible from GitHub.</dd> <dd>Most closely related to the work described in this article is the W3C <cite><a rel='cito:citesAsAuthority' href="http://rdfa.info/earl-reports/index.html">RDFa 1.1 Processor Conformance</a></cite> that makes EARL reports from test suite available in HTML+RDFa, and alternatively in Turtle and JSON-LD. The tests however reference criteria URIs that do not exist; neither part of the summary document or in the <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/rdfa-core/">RDFa Core 1.1</a></cite> specification. The same approach is taken in the <cite><a rel='cito:discusses' href="https://json-ld.org/test-suite/reports/">JSON-LD Implementation Report</a></cite>.</dd> </dl> <p>All of these approaches have and do work well in their respective areas, as well as meeting their target user’s needs. The missing connection among them is that a uniform resource discovery is not possible between the test reports and the individual conformance criteria in the specifications, where a given information at a particular URL is both human and machine-processable.</p> <p>We next describe our approach, which links the specification and implementation reports via the test suite itself.</p> </div> </section> <section resource='#specification' rel='schema:hasPart' inlist='' id='specification'> <h2 property='schema:name'>Specification</h2> <div property='schema:description' datatype='rdf:HTML'> <p id='ldn'><cite><a href="https://www.w3.org/TR/ldn">Linked Data Notifications</a></cite> (LDN) is a W3C Recommendation, published in May 2017, which defines a protocol for discovery, creation and reuse of machine-readable notifications over HTTP.</p> <p>The W3C process requires the creation of a test suite, and the submission of reports about implementations which pass any or all of the tests. The LDN editors took the liberty to both use this process to exemplify the LDN protocol itself, as well as to generate discoverable Linked Data about the specification and its implementations.</p> <p>The LDN <a href="https://www.w3.org/TR/ldn/">technical report</a> has an HTML+RDFa representation. It used existing vocabularies (as of 2017-05). The document is a type of a <code>doap:Specification</code> and it has provenance information such as:</p> <ul> <li><code>prov:wasRevisionOf</code> for the earlier version of the specification.</li> <li><code>schema:datePublished</code> for the publication date.</li> <li><code>schema:author</code> and <code>schema:contributor</code> of the document and their partial descriptions.</li> <li><code>doap:repository</code> pointing at the specification’s repository, and <code>doap:bug-database</code> for issues.</li> <li><code>rdfs:seeAlso</code> for related stuff and the test suite’s location.</li> <li><code>as:inReplyTo</code> provides some context for the specification.</li> <li><code>xhv:license</code> for license (W3C default).</li> </ul> <p>This metadata covers what is required by W3C publishing standards.</p> <p>It also has some discourse components like <code>schema:abstract</code>, <code>schema:description</code> for each section with <code>schema:name</code> for short labels, and <code>schema:hasPart</code> to relate nested sections. Some sections have specific types, eg. <code>deo:Introduction</code>, <code>deo:Acknowledgements</code>, and <code>skos:Concept</code>.</p> <p>In order to specify how the specification’s requirements are linked to from the implementation reports, we need to look at the specification as something that provides the definitions of the concepts which the implementation reports can refer to in their assertions.</p> <p>One way to define the shape of the data structure is done with the <cite><a rel='cito:citesAsPotentialSolution' href="https://www.w3.org/TR/vocab-data-cube">RDF Data Cube vocabulary</a></cite> (<abbr title='The RDF Data Cube Vocabulary'>QB</abbr>), and the definitions for its components with the <cite><a rel='cito:citesAsPotentialSolution' href="https://www.w3.org/TR/skos-reference/">Simple Knowledge Organization System</a></cite> (<abbr title='Simple Knowledge Organization System'>SKOS</abbr>) vocabulary. The <cite><a rel='cito:citesAsPotentialSolution' href="http://www.w3.org/TR/EARL10/">Evaluation and Report Language</a></cite> (<abbr title='Evaluation and Report Language'>EARL</abbr>) vocabulary is used to describe the test results and facilitate their exchange between applications.</p> <p>The <code>qb:DataStructureDefinition</code> (<abbr title='Data Structure Definition'>DSD</abbr>) describes the shape of the multi-dimensional data which will be used in the reports, and is embedded in the LDN specification. In a hypercube, the dimensions serve to identify an observation, and the measure is for the observed value. The DSD is provided in the specification so that systems familiar with the QB vocabulary can have a sense of the structure independently of the actual use of EARL in the reports. Furthermore, alternative test suites can be built reusing the same DSD.</p> <figure resource='#code-ldn-dsd' rel='schema:hasPart' id='code-ldn-dsd' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#code-ldn-dsd'><code id='code-ldn-dsd-1'><a href="https://www.w3.org/TR/ldn/#data-structure-definition">ldn:data-structure-definition</a></code><code id='code-ldn-dsd-2'> a qb:DataStructureDefinition ;</code><code id='code-ldn-dsd-3'> qb:component</code><code id='code-ldn-dsd-4'> [ qb:dimension <span class='highlight-earl-subject'>earl:subject</span> ] ,</code><code id='code-ldn-dsd-5'> [ qb:dimension <span class='highlight-earl-test'>earl:test</span> ] ,</code><code id='code-ldn-dsd-6'> [ qb:dimension <span class='highlight-earl-mode'>earl:mode</span> ] ,</code><code id='code-ldn-dsd-7'> [ qb:measure <span class='highlight-earl-result'>earl:result</span> ] .</code></pre> <figcaption property='schema:name'>A snippet of the data structure definition as defined in the LDN specification in Turtle syntax.</figcaption> </figure> <p>The 3 dimension properties of type <code>qb:DimensionProperty</code> (ie. <code>earl:subject</code>, <code>earl:test</code>, <code>earl:mode</code>), and 1 measure property is of type <code>qb:MeasureProperty</code> (ie. <code>earl:result</code>):</p> <ul> <li><code class='highlight-earl-subject'>earl:subject</code> for the application that’s being tested.</li> <li><code class='highlight-earl-test'>earl:test</code> for the test criterion.</li> <li><code class='highlight-earl-mode'>earl:mode</code> for how the test was conducted.</li> <li><code class='highlight-earl-result'>earl:result</code> for the test result.</li> </ul> <p>LDN has conformance classes for each implementation role: sender, receiver, and consumer. A <code class='highlight-skos-conceptscheme'>skos:ConceptScheme</code> is defined per role, and each concept scheme <code class='highlight-skos-hastopconcept'>skos:hasTopConcept</code> referring to an individual requirement as a <code class='highlight-skos-concept'>skos:Concept</code>. They all have their <code class='highlight-skos-preflabel'>skos:prefLabel</code> and <code class='highlight-skos-definition'>skos:definition</code>, and encapsulate the human-visible text of the requirements, for example: senders are required to send the <a href="https://www.w3.org/TR/ldn/#test-sender-header-post-content-type-json-ld">payload in JSON-LD</a>.</p> <figure resource='#code-ldn-tests-concepts' rel='schema:hasPart' id='code-ldn-tests-concepts' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#ldn-tests-concepts'><code id='ldn-tests-concepts-1'>&lt;&gt;</code><code id='ldn-tests-concepts-2'> schema:hasPart ldn:ldn-tests-sender .</code><code id='ldn-tests-concepts-4'></code><code id='ldn-tests-concepts-3'>ldn:ldn-tests-sender</code><code id='ldn-tests-concepts-5'> a <span class='highlight-skos-conceptscheme'>skos:ConceptScheme</span> ;</code><code id='ldn-tests-concepts-6'> <span class='highlight-skos-preflabel'>skos:prefLabel</span> "LDN Tests Sender"@en ;</code><code id='ldn-tests-concepts-7'> <span class='highlight-skos-hastopconcept'>skos:hasTopConcept</span> <a href="https://www.w3.org/TR/ldn/#test-sender-header-post-content-type-json-ld">ldn:test-sender-header-post-content-type-json-ld</a> .</code><code id='ldn-tests-concepts-8'></code><code id='ldn-tests-concepts-9'>ldn:test-sender-header-post-content-type-json-ld</code><code id='ldn-tests-concepts-10'> a <span class='highlight-skos-concept'>skos:Concept</span> ;</code><code id='ldn-tests-concepts-11'> skos:topConceptOf ldn:tests-sender ;</code><code id='ldn-tests-concepts-12'> <span class='highlight-skos-definition'>skos:definition</span> "the body of the POST request MUST contain the notification payload in JSON-LD with header Content-Type: application/ld+json"@en .</code></pre> <figcaption property='schema:name'>A snippet of specification requirement in Turtle syntax</figcaption> </figure> <p>Each requirement represented as a concept has an HTML <code>id</code> attribute and a URI. These URIs correspond with observations’ dimensions values in the test reports.</p> </div> </section> <section resource='#implementation-reports' rel='schema:hasPart' inlist='' id='implementation-reports'> <h2 property='schema:name'>Implementation Reports</h2> <div property='schema:description' datatype='rdf:HTML'> <p>The motivation for the test suite and the generated reports is to have their information equally consumable by human and machines. The human-friendly parts typically have an HTML user interface, and so making them also machine-processable extends their reuse. We do this by incorporating the structured data for the report in the test suite itself so that a report URL can accommodate both cases. This means that the test suite frames its expressions using the EARL and QB vocabularies, resulting in reuse of globally identifiable language — this is in contrast to creating an application-centric language that is virtually disconnected from everything else.</p> <p>A test report gets generated when a tester submits the results of running the <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/">LDN Test Suite</a></cite>. The report contains the outcome of all test criterion as multi-dimensional data for a given type of implementation (sender, receiver, consumer).</p> <figure resource='#figure-dokieli-ldn-implementation-report' rel='schema:hasPart' id='figure-dokieli-ldn-implementation-report'> <img width='640' rel='schema:image' height='1000' src="https://csarven.ca/media/images/articles/dokieli-ldn-implementation-report.jpg" alt='Screenshot of dokieli’s LDN implementation report and test results as a sender'/> <figcaption property='schema:name'>Screenshot of dokieli’s LDN implementation report and test results as a sender</figcaption> </figure> <p>All reports have their own URLs, and a representation in HTML+RDFa (optionally in other RDF serialisations via content negotiation at this particular test server). See for example <cite><a rel='cito:citesAsEvidence' href="https://dokie.li/">dokieli</a></cite>’s <a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753">implementation report and test results</a> as a sender (<a href="https://csarven.ca/linked-specifications-reports/#figure-dokieli-ldn-implementation-report">figure 2</a>). This provides the human-visible information, eg. what was tested and the results also in machine-readable form. The report can be seen as a dataset composed of observations based on the structure that was specified in the specification. Hence, each test report is a <code>qb:DataSet</code> (and generally equivalent in <code>as:Object</code>) where its <code>qb:structure</code> refers to <code>https://www.w3.org/TR/ldn/#data-structure-definition</code>. The dataset has <code>as:published</code> and <code>as:actor</code> for the agent that initiated the test and generated the report. The report may be accompanied with an additional <code>as:summary</code>. An example report at <a href="https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753" class='highlight-observation-url'>https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753</a> has the following core information:</p> <figure resource='#code-ldn-test-report' rel='schema:hasPart' id='code-ldn-test-report' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#code-ldn-test-report'><code id='code-ldn-test-report-1'>&lt;&gt;</code><code id='code-ldn-test-report-2'> a qb:DataSet ;</code><code id='code-ldn-test-report-3'> qb:structure <a href="https://www.w3.org/TR/ldn/#data-structure-definition">ldn:data-structure-definition</a> .</code><code id='code-ldn-test-report-4'></code><code id='code-ldn-test-report-5'>&lt;<a href="https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753#test-sender-header-post-content-type-json-ld" class='highlight-observation-url'>https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753#test-sender-header-post-content-type-json-ld</a>&gt;</code><code id='code-ldn-test-report-6'> a qb:Observation, earl:Assertion ;</code><code id='code-ldn-test-report-7'> qb:dataSet &lt;&gt; ;</code><code id='code-ldn-test-report-8'> <span class='highlight-earl-subject'>earl:subject</span> &lt;<a href="https://dokie.li" class='highlight-subject-project'>https://dokie.li/</a>&gt; ;</code><code id='code-ldn-test-report-9'> <span class='highlight-earl-test'>earl:test</span> <a href="https://www.w3.org/TR/ldn/#test-sender-header-post-content-type-json-ld">ldn:test-sender-header-post-content-type-json-ld</a> ;</code><code id='code-ldn-test-report-10'> <span class='highlight-earl-mode'>earl:mode</span> earl:automatic ;</code><code id='code-ldn-test-report-11'> <span class='highlight-earl-result'>earl:result</span> [</code><code id='code-ldn-test-report-12'> a earl:TestResult ;</code><code id='code-ldn-test-report-13'> <span class='highlight-earl-outcome'>earl:outcome</span> earl:passed ;</code><code id='code-ldn-test-report-14'> <span class='highlight-earl-info'>earl:info</span> "&lt;code&gt;Content-Type: application/ld+json; profile=&amp;quot;http://www.w3.org/ns/anno.jsonld&amp;quot;&lt;/code&gt; received."^^rdf:HTML ] .</code></pre> <figcaption property='schema:name'>A snippet of a test result dataset and an observation in Turtle syntax</figcaption> </figure> <p>The test results are provided in an HTML table, where each test is expressed as an <code>qb:Observation</code> (and equivalent <code>earl:Assertion</code>) in RDFa containing:</p> <ul> <li>a <code class='highlight-earl-subject'>earl:subject</code> that refers to the URI of the application, eg. <a href="https://dokie.li/" class='highlight-subject-project'>dokieli</a>, a <code>doap:Project</code> as an <a href="https://www.w3.org/TR/ldn/#ldn-sender">LDN Sender</a>.</li> <li>a <code class='highlight-earl-test'>earl:test</code> with the range being one the requirements (concepts) from the specification.</li> <li>a <code class='highlight-earl-mode'>earl:mode</code> referring to one of the EARL test modes that were carried out: <a href="https://www.w3.org/TR/EARL10/#automatic">automatic</a>, <a href="https://www.w3.org/TR/EARL10/#manual">manual</a>, <a href="https://www.w3.org/TR/EARL10/#semiAuto">semi-automatic</a>, <a href="https://www.w3.org/TR/EARL10/#undisclosed">undisclosed</a>, <a href="https://www.w3.org/TR/EARL10/#unknownMode">unknown</a>.</li> <li>and a <code class='highlight-earl-result'>earl:result</code> that gives information on the test <code class='highlight-earl-outcome'>earl:outcome</code>: <a href="https://www.w3.org/TR/EARL10-Schema/#passed">passed</a>, <a href="https://www.w3.org/TR/EARL10-Schema/#failed">failed</a>, <a href="https://www.w3.org/TR/EARL10-Schema/#inapplicable">inapplicable</a>, <a href="https://www.w3.org/TR/EARL10-Schema/#cantTell">cannot tell</a>, <a href="https://www.w3.org/TR/EARL10-Schema/#untested">untested</a>, as well as detailed <code class='highlight-earl-info'>earl:info</code> about the particular experiment.</li> </ul> <p>The implementation test report has some basic information linking to the <code>doap:Project</code> with a <code>doap:name</code>, and its <code>doap:maintainer</code>.</p> <p>All of the sender, receiver, and consumer reports are available in separate aggregate tables in <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/summary">LDN Tests Summary</a></cite>. The summary is a <code>void:Dataset</code> where each report is linked as a <code>void:subset</code>. This makes individual reports alternatively findable if the exploration starts from the summary of all test results.</p> </div> </section> <section resource='#usage' rel='schema:hasPart' inlist='' id='usage'> <h2 property='schema:name'>Usage</h2> <div property='schema:description' datatype='rdf:HTML'> <p id='implementation-description'>At this point we have the test reports referring to specific parts of the specification. We can continue to further extend this linked data graph with other things. One extension possibility is to describe individual implementations further by stating that they implement the specification, or parts of it. This is a relatively simple exercise of making statements about the project such that it <code>doap:implements</code> the specification: <a href="https://www.w3.org/TR/ldn/">https://www.w3.org/TR/ldn/</a>, which <code>doap:programming-language</code>s it uses, the project’s <code>doap:repository</code> and so on. For more details, see <a href="https://dokie.li/">https://dokie.li/</a> on how the DOAP vocabulary is used as well as a reference to LDN.</p> <p id='implementation-conformance'>Coming from the direction of the reports, we can also precisely know the conformance level of each implementation. This is useful to deterministically know that an implementation conforms to specification’s core requirements, which is necessary for interoperability, as well as their coverage of the optional features.</p> <p id='ldn-test-suites'>The LDN Tests Suite puts the LDN protocol into practice by acting as an LDN receiver implementation (based on <cite><a rel='cito:citesAsEvidence' href="https://github.com/csarven/mayktso">mayktso</a></cite>). It also acts as a sender and consumer LDN implementation. Each part of the test suite (for <a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/sender">Senders</a>, <a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/receiver">Receivers</a>, and <a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/consumer">Consumers</a>) advertise an <code>ldp:inbox</code>. Upon completion of a run of the tests, the system generates the report data and sends an LDN notification to the Inbox. The payload of the notification is the full report as RDF.</p> <p id='ldn-consumers'>As an LDN Consumer, the test suite generates the <a href="https://linkedresearch.org/ldn/tests/summary">summary</a> of the reports by fetching and processing Inbox contents. The notifications are aggregated automatically, and the semantics of the submitted reports are retained.</p> <p>Once the notifications are fetched from the reports Inbox, an HTML+RDFa representation (alternatively in other RDF serialisations upon content negotiation) of the response is returned for a human- and machine-readable summary. The services are decoupled; that is, an implementer may generate their report independently of the test suite, and submit it vial the standard LDN protocol. Furthermore, projects can implement their own consumers and reuse the report data generated by the test suite directly, for example to demonstrate to potential users their conformance to the LDN specification.</p> <p id='citations'>An opportunity arises when the specification is available with structured data by way of having ordinary Web articles simply refer to different sections and concepts. For example, the scholarly article on <cite><a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-data-notifications">Linked Data Notifications</a></cite> uses the <cite><a href="http://purl.org/spar/cito/">CiTO</a></cite> vocabulary to cite the specification with <code>cito:citesAsAuthority</code>. Another peer reviewed article, <cite><a rel='cito:citesAsEvidence' href="https://csarven.ca/dokieli-rww">Decentralised Authoring, Annotations and Notifications for a Read-Write Web with dokieli</a></cite>, contextually cites the specification with <code>cito:citesAsPotentialSolution</code> from its <a rel='cito:citesAsEvidence' href="https://csarven.ca/dokieli-rww#architectural-overview">architectural overview</a> section, as well as the LDN Test Suite with <code>cito:citesAsAuthority</code> from its <a rel='cito:citesAsEvidence' href="https://csarven.ca/dokieli-rww#adoption">adoption</a> section. This is useful in that we can have articles linked to what is already available with minimal effort. Including this article that you are currently reading and interacting with.</p> <p>The realisation here is that we have everything operating in a way that is interoperable: the specification, test suite, discovery of the reports, and academic articles, all reusing existing vocabularies.</p> </div> </section> <section resource='#discussion' rel='schema:hasPart' inlist='' id='discussion'> <h2 typeof='deo:Discussion' resource='#discussion' property='schema:name'>Discussion</h2> <div property='schema:description' datatype='rdf:HTML'> <p>The work here can serve as a demonstration or a guideline on what can be achieved by similar types of specifications and test suites. EARL and QB provide the foundations to <q>connect the dots</q> in these documents for the purpose of improving quality assurance, validation, and sharing the output of a working group as structured data on the Web.</p> <p>The key takeaways are:</p> <ul> <li>Human and machine-readable documents via HTML+RDFa are feasible for specifications and implementation reports.</li> <li>The connection between EARL and the QB vocabulary is suitable for multi-dimensional data without having to define new component specifications for the data cube.</li> <li>Individual observations (test results) can be identified and discovered through contextual links in the specification, with the use of EARL and QB vocabularies.</li> <li>The LDN protocol can support the possibility to send, receive and consume notifications about the implementation reports, as well as help with their discovery and reuse.</li> <li>It is possible for other documents to refer to specific parts of the specification, test suite and reports.</li> </ul> <p>We conclude by offering some suggestions to specification editors, test suite builders, and implementers:</p> <p>Specification editors should consider taking advantage of the level of expressivity that is possible and reuse the existing human-visible content towards machine-readability.</p> <p>It requires a considerable amount of work to devise the shape of test reports, so basing the test suite on EARL and QB can simplify and streamline this process. The approach also benefits from making the reports identifiable, discoverable, exchangeable, and reusable on the Web.</p> <p>Lastly, implementations should have machine-readable descriptions, eg. at their homepages, so that the test reports can refer to them and provide the possibility to collect more detailed information about their features.</p> </div> </section> <section resource='#acknowledgements' rel='schema:hasPart' inlist='' id='acknowledgements'> <h2 typeof='deo:Acknowledgements' resource='#acknowledgements' property='schema:name'>Acknowledgements</h2> <div property='schema:description' datatype='rdf:HTML'> <p>The work on the LDN specification and its test suite was done in collaboration with <a href="https://rhiaro.co.uk/#me">Amy Guy</a>. Thanks to <a href="http://mynarz.net/#jindrich">Jindřich Mynarz</a>, <a href="http://soiland-reyes.com/stian/#me">Stian Soiland-Reyes</a>, and <a href="http://www.eurecom.fr/~troncy/">Raphaël Troncy</a> for giving early feedback on this article.</p> </div> </section> <section resource='#document-convention' rel='schema:hasPart' inlist='' id='document-convention'> <h2 property='schema:name'>Document Convention</h2> <div property='schema:description' datatype='rdf:HTML'> <dl> <dt><code>as</code></dt> <dd><a href="https://www.w3.org/ns/activitystreams">https://www.w3.org/ns/activitystreams#</a></dd> <dt><code>cito</code></dt> <dd><a href="http://purl.org/spar/cito/">http://purl.org/spar/cito/</a></dd> <dt><code>doap</code></dt> <dd><a href="http://usefulinc.com/ns/doap">http://usefulinc.com/ns/doap#</a></dd> <dt><code>earl</code></dt> <dd><a href="http://www.w3.org/ns/earl">http://www.w3.org/ns/earl#</a></dd> <dt><code>ldn</code></dt> <dd><a href="https://www.w3.org/TR/ldn/">https://www.w3.org/TR/ldn/#</a></dd> <dt><code>prov</code></dt> <dd><a href="http://www.w3.org/ns/prov">http://www.w3.org/ns/prov#</a></dd> <dt><code>qb</code></dt> <dd><a href="http://purl.org/linked-data/cube">http://purl.org/linked-data/cube#</a></dd> <dt><code>rdf</code></dt> <dd><a href="http://www.w3.org/1999/02/22-rdf-syntax-ns">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a></dd> <dt><code>schema</code></dt> <dd><a href="http://schema.org/">http://schema.org/</a></dd> <dt><code>skos</code></dt> <dd><a href="http://www.w3.org/2004/02/skos/core">http://www.w3.org/2004/02/skos/core#</a></dd> <dt><code>void</code></dt> <dd><a href="http://rdfs.org/ns/void">http://rdfs.org/ns/void#</a></dd> <dt><code>xhv</code></dt> <dd><a href="http://www.w3.org/1999/xhtml/vocab">http://www.w3.org/1999/xhtml/vocab#</a></dd> </dl> </div> </section> https://csarven.ca/i-am-here-now i am here now 2017-06-24T00:00:00Z https://csarven.ca/#i <pre>ask yourself "where am i now?" tell yourself "i am here now" ask yourself again in the future "where am i now?" tell yourself "i am here now"</pre> https://csarven.ca/faipdaaf Full Article, Immediate, Permanent, Discoverable, and Accessible to Anyone Free of charge 2017-03-14T00:00:00Z 2017-03-14T00:00:00Z https://csarven.ca/#i Sarven Capadisli <p id='background'>Background: We have <a href="https://csarven.ca/linked-data-notifications">an article</a> that is peer-reviewed and accepted by <a href="http://2017.eswc-conferences.org/">an academic community</a>, however we do not agree with the publisher's copyright form (essentially giving exclusive rights). Here is what we are proposing instead.</p> <p id='derived-from'>This proposal is derived from <cite><a rel='prov:wasDerivedFrom cito:extends' href="http://users.ecs.soton.ac.uk/harnad/Hypermail/Amsci/3224.html">FIPATRAFTO</a></cite> by <a href="https://en.wikipedia.org/wiki/Stevan_Harnad">Stevan Harnad</a>. We think <em>discoverability</em> (e.g., something referring to the article, or findable) and to <em>anyone</em> is important.</p> <p>Your feedback and contribution to this proposed agreement (in CC0) is much welcome. You are invited to use it as a template.</p> <section resource='#agreement' rel='schema:hasPart' id='agreement'> <h2 property='schema:name'>FAIPDAAF Agreement</h2> <dl> <dt>Identifier</dt> <dd>https://csarven.ca/faipdaaf#agreement</dd> </dl> <dl id='document-license'> <dt>License</dt> <dd><a title='Creative Commons Zero' rel='schema:license' href="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0</a></dd> </dl> <dl typeof='skos:Concept' resource='#concept-faipdaaf' rel='schema:hasPart' id='concept-faipdaaf'> <dt property='skos:notation'>FAIPDAAF</dt> <dd property='skos:definition' datatype='rdf:HTML'>Full Article, Immediate, Permanent, Discoverable, and Accessible to Anyone Free of charge</dd> </dl> <div property='schema:description' datatype='rdf:HTML'> <p>The authors provide the contribution to <cite>Acme Corporation</cite> with the Creative Commons Attribution 4.0 International license (<a href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</a>) under the following conditions:</p> <ul> <li>the <em>full article</em>; text and media</li> <li><em>immediately</em> and <em>permanently</em></li> <li><em>discoverable</em> and <em>accessible</em> from their services</li> <li>to <em>anyone</em> (humans and machines)</li> <li><em>free</em> of charge</li> </ul> </div> </section> https://csarven.ca/okieli-dokieli okieli dokieli 2023-04-27T00:00:00Z 2023-05-02T09:58:17.932Z https://csarven.ca/#i <p><cite><a rel='cito:discusses' href="https://dokie.li/">dokieli</a></cite> is a socially-aware clientside editor for decentralised article publishing, annotations and social interactions with an ocean of open web standards at its disposal.</p> <p>I made the <a rel='cito:citesAsSourceDocument' href="https://github.com/linkeddata/dokieli/commit/96249ff8e0282eaaf1ba28e0188e4550ed35ca28">first commit to dokieli</a> 10 years ago. I built what I needed, and use it (still). This is the story of procrastination of epic proportions, making connections, and having fun.</p> <hr/> <p id='path-to-academia'>After working on the <cite><a rel='cito:discusses' href="https://en.wikipedia.org/wiki/StatusNet">StatusNet</a></cite> platform in 2010, I found myself back in academia pursuing a master's degree, perhaps for no particular reason other than to change my focus in life and to play with <abbr title='Semantic Web'>SW</abbr>/<abbr title='Linked Data'>LD</abbr> stuff.</p> <p id='academics-publishers'>It became clear from early on that – ironically – academics essentially operate within a paper-centric framework to create and disseminate publicly-funded knowledge… usually by delegating it to third-party publishers which still operate in the 15th century.</p> <p id='researchers-web'>This was all strange to me, as I'd assumed SW/LD researchers would be at the front lines of making academic information freely available to anyone, getting the best out of the Open Web Platform, along with everything they've been advancing. <a rel='cito:discusses' href="https://en.wikipedia.org/wiki/Tim_Berners-Lee"><em>The</em> original web developer</a> offered <a rel='cito:discusses' href="https://web.archive.org/web/20180826220707/https://groups.google.com/forum/message/raw?msg=alt.hypertext/eCTkkOoWTAY/bJGhZyooXzkJ">the WWW project</a> to help information sharing and <q cite='http://www.worldcat.org/oclc/729965164'>designed it for a social effect – to help people work together</q>; with hindsight, there were mostly societal challenges, rather than technical ones.</p> <p id='school-of-thought'>As a person from the <q>control yourself</q> and <q>do it yourself</q> school of thought, it was hard for me to just accept the status quo. Essentially, academics had to communicate their findings by crafting static PDFs based on publishers' print templates and third-party services to publish them on a website somewhere, and, most disturbingly, were pressured to waive their intellectual rights or perish. I was given the option to choose to play along with the rules written in stone, choose to ignore the elephant in the room, choose to learn TeX, choose to obey the scholarly communication industrial complex, choose to waste taxpayers' money with the privileges afforded to me, choose my future. But then I thought, why would I want to do a thing like that? I chose not to do those things. I chose something else. I chose to take myself outside the box, to test the boundaries of authority, and demonstrate what the native affordances of the web could enable for research communication. Being the underdog was a calling. The good news was that I wasn't alone in wanting to change things, and many had been working on at all levels of opening up and modernising scholarly communication for a long time. The bad news was that multinational conglomerates have been a parasite in the education system for a long time.</p> <p id='initial-challenges'>There was a plethora of dismissals from people at the mere idea of self-publishing one's own research (and development) using off-the-shelf web standards and not giving in to whatever so-called publishers had to offer. How dare I, a no-name junior researcher, question the practice and principles of superstar researchers? One of the initial challenges that some people raised was that the document, for reasons beyond my comprehension, needed to look and feel like an academic <em>paper</em>. Some even expected pixel-perfection when printed, as well as random features being well-supported in all web browsers. Challenge accepted. Some communities apparently even preferred to first read the left column and then scroll back to the top of the page and read the right column on their screen. They were stuck in a static two-dimensional space when they have an interactive hypermedia system right in front of them. This was something I had to entertain for the time being because, as I saw it, there were far more interesting things to do with documents, at the very least better user interactions based on structured units of information. I wanted to demonstrate that the research community, especially the content creators, can be <a href="https://www.w3.org/TR/webarch/#uri-ownership">URI owners</a> for <a href="https://www.w3.org/DesignIssues/Axioms.html#Universality2">any resource of significance</a> in their articles: problem statements, motivation, hypothesis, arguments, workflow steps, methodology, design, results, evaluation, conclusions, future challenges, as well as all inline semantic citations, to name a few! Using RDFa in markup languages was ideal and completely within reach. <a href="https://csarven.ca/linked-research-decentralised-web#why-rdfa">Why RDFa? Because!</a> Besides, that was just plumbing considering that an authoring and publishing tool for end-users was the goal. Since HTML and CSS had been mature for such a long time in 2011, getting the view in reasonable shape wasn't so much of a challenge. I mean, <cite><a rel='cito:discusses' href="https://csszengarden.com/">CSS Zen Garden</a></cite> and other initiatives had widely made their point a decade before about web standards. I demonstrated HTML+RDFa+CSS that replicated well-known layouts for research documents in computer and information science, e.g., <a href="https://dokie.li/lncs-splnproc"><abbr title='Lecture Notes in Computer Science'>LNCS</abbr></a> and <a href="https://dokie.li/acm-sigproc-sp"><abbr title='Association for Computing Machinery'>ACM</abbr></a>, to drive the point that academic articles via LaTeX/PDF had nothing above and beyond to offer especially when they tend to end up on the web any way. From then onwards, I tried to get the attention of the wider SW/LD community at conferences, mailing lists, and random encounters about making visible changes. Activism was already underway.</p> <p id='path-to-phd'>In 2012, I published my master’s thesis, <cite><a rel='cito:discusses' href="https://csarven.ca/statistical-linked-dataspaces">Statistical Linked Dataspaces</a></cite>, and by incorporating everything that I've said was doable. To fulfil the academic requirements, I generated a PDF from the web browser print dialogue and submitted it along with the print copy. By that point, I was quite engaged in the Linked Data space and academic work, so I transitioned to pursuing a Ph.D. degree.</p> <p id='coin-linked-research'>In 2013, the HTML templates and stylesheets became more prevalent as I actively used them to publish my own academic articles on my website and output a dead-weight PDF from the web browser to fulfil the demands of web conferences and journals. Of course, I still argued with the SW/LD community about the nonsense of PDFs, publishers, the way conferences are organized (and being manipulated by publishers), and everything in between. Figured the least SW/LD conferences can do is accept contributions to the field using HTML and friends on equal grounds. I coined <a href="https://csarven.ca/linked-research"><q>Linked Research</q></a> as part of a call for polemics to suggest that we can use the web stack and everything else that's already at our disposal, and have applications that use the data to communicate more effectively. Alongside the initiative, I put out research articles in HTML+RDFa, CSS, and initial JavaScript to exemplify publishing and interactions, and committed the <a href="https://github.com/linkeddata/dokieli">source code</a> as open source (which moved to the <em>linkeddata</em> GitHub organisation in 2015).</p> <p id='initial-editor'>By 2014, I was investing quite a bit of time researching and enriching articles with anything I could get my hands on. After all, there was already a lot of work out there on SW <a href="https://csarven.ca/linked-research-decentralised-web#vocabularies">vocabularies to describe units of research information</a>. I introduced JavaScript to help generate a table of contents, show fragments, fetch Linked Data, build references, and export the HTML to file via the DOM. While there were some advancements, trying to get the whole community to come along even an inch, and for authors to consider switching their existing ways, remained challenging. I tried to make it clear that this work was not strictly for academic articles, and that a single-page application that is progressively enhanced can help create and edit any kind of article, including reviews and assessments, technical specifications, news, social media posts, and even slideshows. At this point, the project still did not have a unique name beyond the idea of it being an editor alongside the initiative to <cite><a rel='cito:discusses' href="https://csarven.ca/call-for-linked-research">Call for Linked Research</a></cite>.</p> <p id='dokiyeli'>In early to mid-2015, more work was done towards the writing aspect using HTTP, Web Storage, and other user interactions. In mid-2015, I joined <cite><a rel='cito:discusses' href="https://solid.mit.edu/">the Solid project at MIT</a></cite> (nowadays <cite><a rel='cito:discusses' href="https://solidproject.org/">Solid Project</a></cite>), which had a high overlap with the core ideas around how clientside applications can be used to write and publish articles in a context where individuals control their own identity and resources. By that point, I was working less and less on statistical linked dataspaces and analysis towards my Ph.D., and more and more on Solid and what I was considering as “procrastination”. In mid to late 2015, with another procrastinator, we split the <cite><a rel='cito:discusses' href="https://linkedresearch.org/">Linked Research</a></cite> initiative from the tooling and called it <em>dokieli</em>. It is really a made up word inspired from both <a href="https://en.wikipedia.org/wiki/Ned_Flanders">Ned Flanders</a>’ <cite><a rel='cito:discusses' href="https://simpsons.fandom.com/wiki/Okily_Dokily!">okily dokily!</a></cite> phrase, and <a href="https://en.wikipedia.org/wiki/The_Orb">the Orb</a>’s <cite><a rel='cito:discusses' href="https://en.wikipedia.org/wiki/Okie_Dokie_It%27s_The_Orb_on_Kompakt">Okie Dokie It's the Orb on Kompakt</a></cite>. Nowadays, people typo dokieli all the time, which is acceptable, and everyone pronounces it differently, which is great.</p> <p id='read-write-essentials'>By late 2015, it was possible for the user to bring their own <cite><a rel='cito:discusses' href="https://www.w3.org/2005/Incubator/webid/spec/identity/">WebID</a></cite> for authentication as well as to make use of their profiles, use common editing and authoring features, perform write operations against documents, create annotations, send notifications, and perhaps most interestingly the “save as” feature to copy the document and its media to a personal storage or anywhere they were authorised to (based on <cite><a type='spec:Specification' rel='cito:discusses' href="https://solidproject.org/TR/wac">Web Access Control</a></cite>) in Solid. That about covered the essentials to move things forward.</p> <p id='solid-dokieli-influence'>From 2015 to the present, Solid has played an instrumental role in situating and clarifying dokieli's scope and approach with respect to read-write operations across the Web. This has enabled content creators and readers to remain in control. dokieli remains an application within the web browser, either embedded in an HTML document or as a browser add-on, with no server-specific dependencies, desktop installations, or centralised components. It uses open web standards and takes advantage of personal storage, profiles, and other Linked Data.</p> <p id='ocean-of-web-standards'>In addition to the development of what is currently known as the <cite><a type='spec:Specification' rel='cito:discusses' href="https://solidproject.org/TR/protocol">Solid Protocol</a></cite>, the availability of technical specifications between 2016-2017, such as the <cite><a rel='cito:discusses' href="https://www.w3.org/TR/annotation-model/">Web Annotation Data Model</a></cite>, <cite><a rel='cito:discusses' href="https://www.w3.org/TR/annotation-html/">Embedding Web Annotations in HTML</a></cite>, <cite><a type='spec:Specification' rel='cito:discusses' href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a></cite> (<abbr title='Linked Data Notifications'>LDN</abbr>), <cite><a rel='cito:discusses' href="https://www.w3.org/TR/activitypub/">ActivityPub</a></cite>, and <cite><a rel='cito:discusses' href="https://www.w3.org/TR/activitystreams-vocabulary/">Activity Vocabulary</a></cite>, to name a few, allowed some of the most significant features and interactions in dokieli to fall into place. If there was ever a doubt about its mission and potential, that all just further grounded the work on web standards, and doubled-down on interoperability. There is a complete <a rel='rdfs:seeAlso' href="https://github.com/linkeddata/dokieli#specifications">list of specifications that dokieli implements</a>.</p> <p id='decentralised-information'>It was amazing to see how a user can share a document with anyone in their contacts, which are discovered through their profile, by sending their inbox a notification. It was also possible to demonstrate how another user can annotate (e.g., motivated by assessing, bookmarking, commenting, describing, highlighting, questioning, replying, tagging) anything of interest in a document by storing it at their preferred location, sending a notification about it to the document's inbox, and making it possible for other applications to reuse the annotations. dokieli would find the document's inbox, fetch its notifications, discover the social activities and annotations about the article somewhere on the Web, and then present the annotation to the reader precisely in the context where it was originally annotated. The article, inbox, notification, annotation, and profiles can all be controlled by different parties, working with completely decentralised information on the Web.</p> <p id='mature-patterns'>Even in 2016, the HTML+RDFa patterns were mature and flexible enough to be used for proceedings for conferences and workshops (CEUR-WS) and even technical report (W3C). The W3C accepted the dokieli version of the LDN specification since the required CSS rendered the underlying HTML just like other specifications, and it passed all publication rules. Additionally, the LDN test suite and the underlying tool <cite><a rel='cito:discusses' href="https://github.com/csarven/mayktso">mayktso</a></cite> for HTTP interactions were derived from dokieli's source code, which turned out to be great return on investment.</p> <p id='dokieli-rww'>In early 2017, I self-published a peer-reviewed article <cite><a rel='cito:discusses' href="https://csarven.ca/dokieli-rww">Decentralised Authoring, Annotations and Notifications for a Read-Write Web with dokieli</a></cite>, which currently has a mixture of meaningful and a mess of external annotations by random people testing it out. Mission accomplished.</p> <p id='connecting-the-dots'>By mid-2017, there was plenty of material available to facilitate communication about <a href="https://csarven.ca/linked-research-decentralised-web#decentralised-linked-research-application">Solid and Linked Research</a>, and people from different communities took notice when I gave workshops and talks at conferences and research labs. dokieli helped people to understand the core concepts and connect the dots. It also helped me to understand works in libraries and archives that have been around for so long, especially the notion of decoupled functions and reconstructing information flows for a unit of communication. All of this helped me tremendously to refocus my dissertation on what I had been passionate about for years.</p> <p id='codebase-modularisation'>In late 2017, another procrastinator who had been involved with the project for some time got frustrated with the codebase to the point where they decided to take it upon themselves to modularise the code. This made it easier for the code to be maintained, and attracted other contributors.</p> <p id='linked-specifications-reports'>By this point, it was also possible to demonstrate how various kinds of documents can be described and linked together, for instance a technical specification, its test suite, implementation report of a project, reports summary, the project, and an article citing the specification in <cite><a rel='cito:discusses' href="https://csarven.ca/linked-specifications-reports">Linked Specifications, Test Suites, and Implementation Reports</a></cite>.</p> <p id='adoption-wild'>In 2018, I was still working on my dissertation (writing it using dokieli, of course). Much of the time went into adding features that I wanted to use as well as to further help communicate applying Solid towards Linked Research. I incorporated all kinds of stuff related to archiving, robust links, versioning resources, and improvements on the graph visualisation (and navigating through the Linked Data), and citations. Some web conferences agreed to accept research articles in HTML+RDFa perhaps due to a combination of years of activism around Linked Research, evidence supporting its feasibility, and their own initiative. However, since the conferences still had attachment issues to for-profit publishers, authors needed to provide a LaTeX version of their articles somewhere in the pipeline. I was content to take what we can get because it was proof that the discussion and considerations in the SW/LD community started to change. Some research teams got on board with the idea of Linked Research and Solid, and not only started to have HTML+RDFa based articles but they also built their own tooling. That was further proof that the ideas caught on, and it wasn't about a particular tool. There are some <a rel='cito:discusses' href="https://csarven.ca/linked-research-decentralised-web#adoption-of-dokieli">works that adopted</a> dokieli and <a rel='cito:discusses' href="https://github.com/linkeddata/dokieli/wiki#examples-in-the-wild">examples in the wild</a>.</p> <p id='linked-research-decentralised-web'>The implementation of dokieli has served as a core contribution to my dissertation in 2019, <cite><a rel='cito:discusses' href="https://csarven.ca/linked-research-decentralised-web">Linked Research on the Decentralised Web</a></cite>, demonstrating how a chain of operations can be orchestrated for decentralised units of scholarly communication. It helped to clarify and promote key notions: <a rel='cito:discusses' href="https://csarven.ca/linked-research-decentralised-web#degree-of-control">degree of control</a> and <a rel='cito:discusses' href="https://csarven.ca/linked-research-decentralised-web#self-publishing">self-publishing</a>. They got good mileage towards helping people understand Linked Research and Solid. dokieli was just one of the key applications that helped people “get” Solid.</p> <p id='third-party-control-considered-harmful'>Later in 2019, I felt confident enough to proclaim that <q cite='https://csarven.ca/presentations/third-party-control-considered-harmful/'>third-party control considered harmful</q> to a scholarly publishers association, and challenged them to make a better offer than the open proposal, where, for example, for approximately 100 EUR/year, one can self-publish with unlimited individually-controlled resources; universally accessible, interoperable; publicly archivable; reusable by standards-compliant applications; social interactions; privacy respecting. I compared this option to the alternative, such as waiving rights and/or wasting thousands to put up a single PDF on a website. There has been zero responses to the challenge… it remains to be a mystery. What ultimately mattered were some questions for the academic community: What constitutes “open”? What are the constraints? How inclusive? Who ultimately controls your online identities and data? What are the real costs to participate? How about social pressure? Are we devising ethically grounded mechanisms and artifacts?</p> <p id='specs-qa'>From 2019 onwards, a part of the work on dokieli aimed to improve the human and machine readability of (Solid) technical specifications by enabling the identification, description, and reuse of significant units of information, perhaps more prominently the requirements and concepts. Additionally, it demonstrated how specifications, test coverage, and implementation reports are linked, making it relatively easy for specification editors, authors, and implementers to understand how specifications can be improved by better observing what their documents expressed and where improvements are needed. However, there is still exciting work ahead before it truly becomes a specification editing environment, and I would be the first to say that.</p> <p id='codebase-tests'>In 2022, another procrastinator found the project exciting and became involved to modernise the codebase. Perhaps they were puzzled as to how something like this could continue for close to a decade without having tests!</p> <hr/> <p id='codebase-quality'>The quality of the code is far from perfect and we didn't have the luxury of time to architect what grew organically. As any side project might go, some of the components and the libraries it depends on have aged and are due for updates, but all in all, it is still functional. There was no dedicated full-time team to work on the project but I hope that will change one day. dokieli has served its social and technical purpose abundantly, and I believe it still has untapped potential.</p> <p id='technical-challenges'>There have been all sorts of significant challenges that dokieli either works with, or around. Authentication mechanisms and libraries are among the first things that come to mind. If there is anything that's been technically problematic for using dokieli (and Solid for that matter), it has been the state of authentication (in Solid). Users creating and controlling their own WebIDs and storage space have also been challenging for a number of reasons that are beyond the scope of dokieli.</p> <p id='dokieli-showcases'>dokieli is an implementation which showcases various disparate parts – web standards, technologies, and social ideals – coming together in a cohesive way to serve readers and creators to take full advantage of the capabilities of the Web. There is more to the application than first meets the eye. It would be great to have more demos and improve its documentation.</p> <p id='inspirations'>During the development of dokieli, I drew inspiration from many other tools. The closest works to dokieli are <q cite='https://www.w3.org/People/Berners-Lee/WorldWideWeb.html'>the first web browser - or browser-editor rather - was called <cite><a rel='cito:discusses' href="https://en.wikipedia.org/wiki/WorldWideWeb">WorldWideWeb</a></cite></q>, and <cite><a rel='cito:discusses' href="https://www.w3.org/Amaya/">Amaya</a></cite>, a desktop web browser and editor that was developed by W3C from 1996-2012 to provide a framework for experimenting with and validating web specifications. It allows documents to be created and updated with remote access features.</p> <p id='contributors'>There have been many people instrumental in the development of the ideas and the code of dokieli. You can see some of these great <a rel='cito:credits' href="https://github.com/linkeddata/dokieli/#contributors">contributors</a> on the GitHub repository. I am grateful to these folks who invested their time and expertise. It is equally important to acknowledge the folks that dismissed the ideas or the tool itself in some shape or form. Their views either strengthened the necessary activism or translated into a healthy dose of spite driven development.</p> <p id='made-with-fun'>dokieli has been a proof-of-concept in every sense of the word. Never a product, and never an end in itself. A playground, a laboratory, made with fun, but with progressing serious issues at its heart. The last ten years of dokieli have been an adventure.</p> <p>What's next?</p> <p>Whatever it is, let's make it so!</p> https://csarven.ca/self-review-chairing Self-Review: Chairing 2023-10-23T00:00:00Z 2023-10-25T20:01:54.328Z https://csarven.ca/#i <p id='standards-privilege'><q><del>Decisions</del><ins>Standards</ins> are made by those who show up.</q>, so goes the saying. But, it is a privilege to have the opportunity to show up, so we ought to use it for common good.</p> <p id='reflecting-experience'>I have had the privilege of working on open web standards since 2006 with individuals and organisations from diverse backgrounds, all sharing a common passion for making the web a better place. In this article I reflect on my experience serving as the <a href="https://www.w3.org/Guide/chair/role.html">chair</a> of a group, and mention some technical contributions as an editor, author, and implementer. The most current list of my <a href="https://csarven.ca/cv#technical-community-contributions">technical and community contributions</a> and related <a href="https://csarven.ca/cv#presentations-and-talks">presentations and talks</a> is available.</p> <p id='init-open-standards-contributions'>My contributions to open standards development began with <a rel='cito:discusses' href="https://html.spec.whatwg.org/multipage/acknowledgements.html#acknowledgments">HTML5</a> and <a rel='cito:discusses' href="http://microformats.org/wiki/index.php?title=Special:Contributions&amp;limit=500&amp;target=Csarven">microformats</a> (2006); worked on laconi.ca/identi.ca/<cite><a rel='cito:discusses' href="https://en.wikipedia.org/wiki/StatusNet">StatusNet</a></cite> platform (2008) — a global open source project designed to empower individuals, organisations, and communities to manage their social activities in a decentralised and federated architecture — leading up to <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/community/ostatus/wiki/images/9/93/OStatus_1.0_Draft_2.pdf">OStatus</a></cite> (2010), which then paved the way for me to making technical and chairing contributions to W3C Interest Groups (<abbr title='Interest Group'>CG</abbr>), Community Groups (<abbr title='Community Group'>CG</abbr>), and Working Groups (<abbr title='Working Group'>WG</abbr>). Here is a slice of that:</p> <dl id='w3c-groups-contributions'> <dt><a rel='cito:discusses' href="https://www.w3.org/groups/cg/webid/">WebID Community Group</a> (2011–present)</dt> <dd><cite><a href="https://www.w3.org/2005/Incubator/webid/spec/identity/">WebID 1.0 - Web Identity and Discovery</a></cite>, <cite><a href="https://www.w3.org/2005/Incubator/webid/spec/tls/">WebID-TLS - WebID Authentication over TLS</a></cite>, <cite><a href="https://www.w3.org/ns/auth/cert#">The Cert Ontology</a></cite></dd> <dt><a rel='cito:discusses' href="https://www.w3.org/groups/wg/linkeddata/">Government Linked Data Working Group</a> (2011–2014)</dt> <dd><cite><a href="https://www.w3.org/TR/vocab-data-cube/">The RDF Data Cube Vocabulary</a></cite>, <cite><a href="https://www.w3.org/TR/ld-bp/">Best Practices for Publishing Linked Data</a></cite></dd> <dt><a rel='cito:discusses' href="https://www.w3.org/groups/wg/social">Social Web Working Group</a> (2014–2018)</dt> <dd><cite><a href="https://www.w3.org/TR/activitystreams-core/">Activity Streams 2.0</a></cite>, <cite><a href="https://www.w3.org/TR/activitystreams-vocabulary/">Activity Vocabulary</a></cite>, <cite><a href="https://www.w3.org/TR/activitypub/">ActivityPub</a></cite>, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a></cite></dd> <dt><a rel='cito:discusses' href="https://www.w3.org/groups/wg/annotation/">Web Annotation Working Group</a> (2014–2018)</dt> <dd><cite><a href="https://www.w3.org/TR/annotation-model/">Web Annotation Data Model</a></cite>, <cite><a href="https://www.w3.org/TR/annotation-vocab/">Web Annotation Vocabulary</a></cite>, <cite><a href="https://www.w3.org/TR/annotation-protocol/">Web Annotation Protocol</a></cite>, <cite><a href="https://www.w3.org/TR/annotation-html/">Embedding Web Annotations in HTML</a></cite></dd> <dt><a rel='cito:discusses' href="https://www.w3.org/groups/cg/solid/">Solid Community Group</a> (2018–present)</dt> <dd><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://solidproject.org/TR/protocol">Solid Protocol</a></cite>, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://solidproject.org/TR/wac">Web Access Control</a></cite>, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://solidproject.org/TR/notifications-protocol">Solid Notifications Protocol</a></cite>, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://solidproject.org/ED/qa">Solid QA</a></cite>, and almost everywhere in <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://solidproject.org/TR/">Solid Technical Reports</a></cite></dd> </dl> <p id='w3c-participation'><a href="https://www.w3.org/users/46140" rel='foaf:account' about='https://csarven.ca/'>I have been participating</a> in several dozen W3C Groups on various topics with varying levels of engagement as an individual representing a W3C Member, <cite><a rel='cito:discusses' href="https://www.w3.org/Consortium/Process/#advisory-committee-representative">Advisory Committee</a></cite> representative, <cite><a rel='cito:discusses' href="https://www.w3.org/2023/Process-20230612/#invited-expert-in-a-working-group">Invited Expert</a></cite>, independent contributor, and chair. I value the works of the <a href="https://www.w3.org/groups/cg/pwe/">Positive Work Environment Community Group</a> (<abbr title='Positive Work Environment'>PWE</abbr>) and the <a href="https://www.w3.org/groups/cg/w3process/">W3C Process Community Group</a>. I have been incorporating their recent developments in processes and guidelines to day to day work, and contribute to them where I can.</p> <p id='exemplifying-standards'>Following the <q>control yourself</q> and <q>do it yourself</q> schools of thought, I've implemented products that adhere to specifications. I have been building what I needed, and use it (still). Perhaps it all started on my personal website (2004). In most recent years, I have been focusing on exemplifying standards through the <cite><a rel='cito:discusses' href="https://dokie.li/">dokieli</a></cite> application, a socially-aware clientside editor for decentralised article publishing, annotations and social interactions — see <cite><a rel='cito:citesForInformation' href="https://csarven.ca/okieli-dokieli">okieli dokieli</a></cite> on how this work is intertwined with an ocean of open web standards, or if you are limited on time, think of the first <cite><a rel='cito:discusses' href="https://en.wikipedia.org/wiki/WorldWideWeb">WorldWideWeb</a></cite> browser-editor or <cite><a rel='cito:discusses' href="https://www.w3.org/Amaya/">Amaya</a></cite> using latest standards in the Open Web Platform.</p> <section resource='#diving-into-solid' rel='schema:hasPart' inlist='' id='diving-into-solid'> <h2 property='schema:name'>Diving into Solid</h2> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://solidproject.org/ED/protocol'> <p>Solid adds to existing Web standards to realise a space where individuals can maintain their autonomy, control their data and privacy, and choose applications and services to fulfil their needs.</p> <footer> <cite><a rel='cito:includesQuotationFrom' href="https://solidproject.org/ED/protocol">Solid Protocol</a></cite> </footer> </blockquote> <p>We are tasked to fix the Web, society, or something? Right… easy peasy.</p> <p id='init-solid'>In 2015, I had the opportunity to dive into the <cite><a rel='cito:discusses' href="https://solidproject.org/">Solid Project</a></cite> commenced at <a rel='cito:discusses' href="https://solid.mit.edu/">MIT</a> as a visiting Ph.D. student, working with friends and colleagues involved in and around everything personal and social web. I am grateful to have met individuals who guided me to be more mindful of concerns of individuals and groups, implications of what we are attempting to build, and to fundamentally remain ethically grounded while at it. I truly find this to be the most challenging aspect of our work.</p> <p id='self-publishing-specification-development'>In 2019, sometime after self-publishing my dissertation, <cite><a rel='cito:discusses' href="https://csarven.ca/linked-research-decentralised-web">Linked Research on the Decentralised Web</a></cite> — making the case for a Solid-like approach for research communication — on my Solid server with dokieli, I focused back on the development of technical reports and chairing the W3C Solid CG.</p> <p id='solid-evolution-contributions'>I have been actively contributing to Solid's evolution, witnessing its growth from research and development — remembering our Friday hackdays with vegan pizza; contributing to server development with the needs of users with applications, and conformance to specifications; developing a browser-based authoring and annotation application (dokieli); initialising and cultivating a community; evangelising and lecturing the underlying concepts through talks at conferences, visiting research labs, and organising workshops; taking part in the standardisation process; and so forth.</p> </div> </section> <section resource='#chairing-the-group' rel='schema:hasPart' inlist='' id='chairing-the-group'> <h2 property='schema:name'>Chairing the Group</h2> <div property='schema:description' datatype='rdf:HTML'> <p id='chairing-motivation'>In late 2019, I took on the chair role in the Solid CG. The role needed a commitment, and I had experience in W3C Groups. I was familiar with the W3C process and the broader community, and have learned from previous individuals in chairing and similar roles. I believed I would be fair and effective, so I wanted to apply my knowledge and experience to help the project move forward. I also learned a lot by doing.</p> <p id='chairing-is-a-service'>I embraced a guiding principle: <em>chairing is a service</em> to the group and the open standards community by adhering to <cite><a rel='cito:citesAsRecommendedReading' href="https://open-stand.org/about-us/principles/">The Modern Paradigm for Standards</a></cite>. I took the role seriously, set my performance criteria, left any affiliations I had at the door, and remained open to adapting to the community's needs.</p> <p id='chairing-context'>Some context: during most of my time as chair, the CG followed the <cite><a rel='cito:discusses' href="https://github.com/solid/process/blob/main/README.md">Solid Process</a></cite>. It had its <cite>editors team</cite>, of which I have been a member, appointed by the <cite>director</cite> (<a href="https://www.w3.org/People/Berners-Lee/card#i">TimBL</a>) of the Solid Project. This team is not to be conflated with the editors of all specifications in the CG. In hindsight, the Solid Process had its merits in certain areas and partly served its purpose, however it generally ended up complicating our ability to getting things done. I will come back to this later when I talk about the <a href="https://csarven.ca/self-review-chairing/#cg-charter">CG charter</a>. At various times I had to balance different forces. I had to find creative ways to evaluate and prioritise the roadmap of the movement led by the Solid director — whom I learned a lot from — with the general and specific needs of the CG. I also encountered direct and indirect pressure from my workplace (at the time) that I had to resist — expectations conflicting with my roles in the CG and open standards development. So, all of that put together, it was unnecessarily complicated and stressful, to say at the very least.</p> <p id='growing-as-a-person'>Facing technical and social challenges prompted me to grow as a person and encouraged me to review my own principles and values. Depending on participation, on a good day we (CG) were aligned and moved as a group, and on a bad day, we clashed, lost time, and energy. I lost trust and gained trust in individuals, myself, and in the project or certain projects, and sometimes all on the same day. I have lost contact with some colleagues, improved existing relationships, made new allies, and helped others connect. Through chairing and other technical involvement, I developed a better understanding into how we frequently get caught up in protecting our artifacts and attaching ourselves to objects (be it ideas, plans, implementations, issues, or pull requests), which may be a way of protecting the extensions of ourselves. From my perspective, it took a lot of mindfulness and acting in good faith to move together.</p> <p id='chairing-neutrality'>Chairing required me to leave my own sense of logic at the door, set aside own preferences, actively work towards compromises. I tried my best to facilitate consensus, and not compromise on fundamental expectations of the role. I still shared own findings and proposals when I thought that they would be beneficial to the group, but I was also prepared to let go of things and have the group organically evolve and make decisions. I think any seasoned chair would agree that this is all easier said, and takes work and a lot of patience and emotional bandwidth to navigate through things.</p> <p id='sound-flawed-decisions'>Looking back, I am cognisant that I have made both sound and flawed decisions over the years. And a bunch all over the place depending who we ask.</p> <p id='communication-is-hard'>Communicating in text is challenging, audio is an improvement, video is even better, but nothing ever compares to face to face, or working things out on a whiteboard. This has been indisputable in every group I have been part of. I enjoyed making light jokes in meetings and chats when the group felt receptive and relaxed. It's also great to see people sharing personal anecdotes from time to time.</p> </div> </section> <section resource='#say-process-again' rel='schema:hasPart' inlist='' id='say-process-again'> <h2 property='schema:name'>Say Process Again!</h2> <div property='schema:description' datatype='rdf:HTML'> <p id='solid-process-w3c-processes'>Initially, the governance and processes towards standardisation in the group started out with one foot on the Solid Process and the other on W3C processes. The CG generally practised <q>rough consensus</q> decision-making, and fortunately hardly ever needed to decide on substantive technical issues by voting as we were able to reach consensus and compromise most of the time.</p> <p id='solid-process-shortcoming'>Over time it became apparent that the Solid Process fell short and did not reflect reality. The group found it technically complicated and convoluted, and newcomers could not make sense of it. The process depended on certain roles (such as the "editors team") that have been inadequate and inactive for a number of years. A process was only useful if it served our needs and participants abided to it. We needed to improve things.</p> <p id='cg-charter'>The <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/community/solid/charter/">Solid CG charter</a></cite>, which I proposed in 2023, bears a resemblance to a WG charter, aligned with the practices and process of the W3C community, while still intended to be under the umbrella of the Solid Project. The CG charter was to supersede the Solid Process with respect to specification development, aimed to simplify and codify things; be representative of current working practice and goals; maintain openness and transparency; be approachable or informative to anyone; and to communicate group's ongoing endeavours. The charter was generally well received in the CG. We worked on it for about two months, incorporating great feedback in all areas, and finally reached consensus on its adoption. It was also interesting to note certain individuals and groups who are otherwise vocal or represented did not contribute to the discussion or improvement of the charter.</p> <p id='cg-chair-selection'>As per W3C CG process, typically the existing chairs appoint co-chairs, and life goes on as with an oligarchy. That did not seem adequate to me, and I chose not to exercise my supposed superpowers (as the sole chair) as to who I wanted to add as a co-chair. It may seem strange or concerning to some to know that I actually had to argue for a participatory democratic process in the CG charter to ensure an inclusive and representative approach by using the ranked-choice voting method for chair selection. Despite some folks not understanding the Solid Process (and its inadequacy, as evidenced) or W3C processes, there were complaints about why I did not assign people that the director suggested. Some even complained that voting is far too easily gamed. The response to that was to update the charter to be even more aligned with the W3C Process and doing something similar to <cite><a rel='cito:discusses' href="https://www.w3.org/2023/Process-20230612/#AB-TAG-elections">Advisory Board and Technical Architecture Group Elections</a></cite>. Besides, other experienced and engaged CGs had already embraced a similar approach, demonstrating that my proposal was in alignment with established practices.</p> <p id='wg-charter'>When we (CG) picked up the draft Solid WG proposal, it required a rewrite due to essential corrections and improvements. The majority of these revisions were informed by the lessons learnt from common formal objections, ensuring that the charter accurately reflected the activities of the Solid CG and the broader community. Evidently, these improvements helped pre-empt typical formal objections at the outset and reduced the need for multiple rounds of discussions among the CG, W3C Team, and Members. There are however other objections and change requests that are currently being addressed by the CG. Interestingly, a key W3C <cite><a rel='cito:discusses' href="https://www.w3.org/2023/Process-20230612/#team-decision">Team Decision</a></cite> ended being the primary source of objections or request for changes to the WG charter.</p> <p id='chair-journey-reflection'>I believe this journey reflects my leadership, adaptability, integrity, and commitment to improving the CG and work towards the WG. I dedicated considerable effort, in collaboration with the community, to enhance inclusivity and transparency. I am offering these experiences as a valuable guidance for future contributors and chairs volunteering to take on this multidisciplinary challenge in order to achieve more democratic and diverse outcomes.</p> </div> </section> <section resource='#charters-and-contribution-guidelines' rel='schema:hasPart' inlist='' id='charters-and-contribution-guidelines'> <h2 property='schema:name'>Charters and Contribution Guidelines</h2> <div property='schema:description' datatype='rdf:HTML'> <p id='reusing-w3c-material'>I have noticed that the group could benefit from further support and guidance on open standards development, for instance on how the group conducted itself in a W3C space, as well as developing experience towards publishing technical reports and test suites. This presented a chance for me to further learn as well. I figured that the CG could better take advantage of the W3C material by having it operate a bit more like a WG and follow the W3C Process where useful or applicable. This had a couple of benefits: to help the group take advantage of existing W3C processes, findings, recommendations, infrastructure, and so forth; to help the group to situate and familiarise themselves with W3C know-hows during the incubation phase (so that if and when work items are transitioned to a WG, participants can be well-informed with the rules and expectations as opposed to diving cold); and proactively mitigating internal and potential formal objections down the road in the Recommendation track. To that end, I embraced the <a href="https://www.w3.org/Guide/">collective wisdom and advice of W3C</a> (all the way to open issues and ongoing discussions), and plugged-in anything that I could get my hands on to improve group's processes and development. Some folks were on board with these ideas while others needed more time and convincing to adjust themselves, and some others had their own agenda.</p> <p id='cg-topical-charters'>I had previously proposed topical charters in the group for Test Suite and Notifications. These served well to keep things in scope and to meet some goals. Their output has been <cite><a href="https://solidproject.org/ED/qa">Solid QA</a></cite> (and ongoing work on test suites and tests), <cite><a href="https://solidproject.org/TR/notifications-protocol">Solid Notifications Protocol</a></cite>, as well as related specifications (as listed in the <a href="https://solidproject.org/TR/#notification-channel-type-registry">notification channel type registry</a>).</p> <p id='cg-contributing-guide'>I have put in a lot of work into developing the CG <cite><a rel='cito:discusses' href="https://github.com/w3c-cg/solid/blob/main/CONTRIBUTING.md">Contributing Guide</a></cite> to capture a shared understanding of what's in practice, providing detailed information on how individuals can contribute to the CG, as well as guidance on external communication.</p> <p id='cg-meetings'>I have also developed the CG <cite><a rel='cito:discusses' href="https://github.com/w3c-cg/solid/blob/main/meetings/README.md">Meeting Guidelines</a></cite>, detailing expectations and descriptions of various roles in meetings. As for the meetings themselves, the CG uses a collaborative editor where we have an assigned scribe. The CG has adopted the practise where meeting participants have been improving the transcription with corrections, missing information or links. I have created a <a rel='cito:discusses' href="https://github.com/w3c-cg/solid/blob/main/meetings/template.md">meeting template</a> that the CG has been using for some time now. I must say that I was initially sceptical of some participants preference (at the time) to using a collaborative editor for minute taking instead of W3C's infrastructure, i.e., <abbr title='Internet Relay Chat'>IRC</abbr> with helper bots. I have noticed that with a culture of trust and a meeting template, it has proven to be useful. We have even developed <cite><a rel='cito:discusses' href="https://virginiabalseiro.github.io/solid-ecosystem-monitor/">Solid Ecosystem Monitor</a></cite> — an application that presents our meeting data with visualisations.</p> </div> </section> <section resource='#eating-our-own-cooking' rel='schema:hasPart' inlist='' id='eating-our-own-cooking'> <h2 property='schema:name'>Eating Our Own Cooking</h2> <div property='schema:description' datatype='rdf:HTML'> <p>Building and using what we need helps to advance things significantly.</p> <p id='adequate-implementation-experience'>I wanted the CG to aim high: build up <a rel='cito:discusses' href="https://www.w3.org/Consortium/Process/#adequate-implementation">adequate implementation experience</a> in order to work effectively; demonstrate the maturity of the specifications; and establish a culture as if the works were progressing toward the W3C Recommendation track, with the hope that it happens in due course. Towards that end, we have worked on use cases and surveys; call for implementations; the QA process and tests; supporting and coordinating with implementers (in chats, issues, and PRs); and actually using what we build, among other things. While not everything worked great, sufficiently, or entirely adequately, these endeavours contributed to the overall objective, allowing the group to develop a more robust understanding of processes and coordination.</p> <p id='self-publishing'>I employ a Solid server to host this personal website (csarven.ca). What better way to publish human- and machine-readable of one's own information, including personal identity, profile description, articles, to social activities; having applications make use of that data; break things; and find ways to improve implementations and specifications?</p> <p id='dokieli-qa-spec-development'>Over the past years, I have been developing and showcasing dokieli to energise the group with a publicly accessible implementation as well as to demonstrate various use cases, proof of concepts for new specification features, and providing implementation feedback to specifications. dokieli has helped towards the QA work by showcasing how specifications, test coverage, and implementation reports are linked, making it relatively easy for specification editors, authors, and implementers to understand how specifications can be improved by better observing what their documents expressed and where improvements are needed.</p> <figure resource='#knowledge-graph' rel='schema:hasPart' id='knowledge-graph'> <p property='schema:description' datatype='rdf:HTML'>Linked Data aware applications can <span rel='schema:potentialAction' about=''><a typeof='schema:ViewAction' href="https://csarven.ca/self-review-chairing/#knowledge-graph-action">view</a></span> the <a property='schema:name' rel='schema:object' id='knowledge-graph-action' href="https://solidproject.org/TR/" about='#knowledge-graph-action'>Solid Technical Reports Knowledge Graph</a>.</p> </figure> <p id='encouraging-voluntarism'>I have also tried to encourage voluntarism by first being an example myself, requesting experts or doers to take initiative, especially when suggesting an approach or particular direction. I found it immensely important to show genuine appreciation and celebrate all forms of contributions, from recording or following up on an issue, creating important PRs which improve specifications, to improving the text of meeting minutes.</p> </div> </section> <section resource='work-items' rel='schema:hasPart' inlist='' id='work-items'> <h2 property='schema:name'>Work Items</h2> <div property='schema:description' datatype='rdf:HTML'> <p>It would take a whole another article to adequately cover the progress and evolution of the work before and during the CG.</p> <p id='awww'>Generally I referred to the <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/webarch/">Architecture of the World Wide Web, Volume One</a></cite> for guidance to ensure that the work items are compatible in scope of the group.</p> <p id='managing-apathy'>At times there was apathy in the group and so it wasn't particularly easy to claim that we've reached consensus. I tried to not rush on the proposals until there was some signal in favour or against them in reviews, chats, or meetings. It was a challenge for me to keep a balance between upholding our time commitments and allowing sufficient time for feedback and improvements.</p> <p id='transitioning-incubated-work'>That said, we have managed to move things forward — although sometimes painfully slow — to a point where they were mature enough to be transitioned from the incubation space to a standards track (as part of the <a href="https://csarven.ca/self-review-chairing/#wg-charter">WG charter</a> proposal).</p> <p id='volunteers-propelling-solid'>While the group has a roadmap, project board, meetings, issues, pull requests, and so forth, it all came down to who showed up, when, and what they could do. After all, most development is carried out by volunteers (some would, perhaps derogatorily, refer to them as "hobbyists"), whose availability, motivation, and funding varies. The fact that this project has been mostly propelled by volunteers goes to show that there are more effective, humane and cooperative models of development that go beyond the narrow-minded transactional model that is prevalent in tech culture.</p> </div> </section> <section resource='#inclusivity-and-conduct' rel='schema:hasPart' inlist='' id='inclusivity-and-conduct'> <h2 property='schema:name'>Inclusivity and Conduct</h2> <div property='schema:description' datatype='rdf:HTML'> <p id='inclusive-safe-space'>Technical work aside, a community lacks substance if it isn't inclusive and ensures a safe environment. Even though W3C had considerable efforts in this area that the Solid community and the CG has put to use, cultivating a healthy community and abiding to acceptable behaviour doesn't happen magically.</p> <p id='code-of-conducts'>I contribute to the development of the <cite><a rel='cito:discusses' href="https://github.com/solid/process/blob/main/code-of-conduct.md">Solid Community Code of Conduct</a></cite> (<abbr title='Code of Conduct'>CoC</abbr>) — which extends the <cite><a rel='cito:discusses' href="https://www.w3.org/Consortium/cepc/">Positive Work Environment at W3C: Code of Ethics and Professional Conduct</a></cite>. As Solid CG chair, I had the responsibility to ensure that participants abide by the terms and spirit of the Solid and W3C CoCs. I also served as a member of the Solid CoC committee, and took part in processing of reports, mediating conflicts, and implementing necessary disciplinary actions.</p> <p id='coc-challenges'>I want to reflect a bit more on this important topic: My experiences as a CoC committee member were filled with challenges. It involved addressing unacceptable behaviour, and not all reports of violations were (or can be) resolved to everyone's satisfaction. Regrettably, I have seen friends and colleagues leaving the community because of some individuals with unacceptable or counter-productive behaviours, some of which occurred even before the establishment of the Solid CoC. Managing the tone of discourse is also a delicate task, so as not to be overzealous or block fluid communication. I have figured that while it took me considerable effort to try to transform unconstructive behaviours of some individuals into constructive behaviours, e.g., by inviting to take on a role or picking up a task of their choice, it generally led to two outcomes: they changed their ways to contribute or they stop being unconstructive (at least in the short-term). That said, I acknowledge that it is an ongoing effort to work together and make the community a place that is a safe and inclusive space for all. I am aware of the need to improve myself and contributions in this area. Including for example taking care of my own mental and emotional well-being when the situation arises.</p> <p id='accessible-participation'>So goes the W3C operating principle for effective participation is to allow access across disabilities, across country borders, and across time. To that end, I tried to set reminders to participants in meetings, chats, and elsewhere. I felt that helping people regardless of their accessibility needs or technical expertise kept me grounded and go together. It certainly took additional time from my end — which was part of the job, as far as I was concerned — but I understood that it meant the world to some people. That in and itself made the work feel worthwhile.</p> <p id='diversity-equity-inclusivity'>I have also been part of the wider <cite><a rel='cito:discusses' href="https://github.com/solid/process/blob/main/dei-team.md">Solid Diversity, Equity, and Inclusivity Team</a></cite> to help increase outreach of Solid’s work into communities with underrepresented groups. The group was mostly active in 2021 but then it stalled. I am aware that some individuals still carry on, so I'm cheering for them. From the CG end of things, I have made efforts to incorporate individuals from a diversity of backgrounds with interest to making technical contributions to take on the role of an editor, author, or implementer. I only tried to amplify their voice and make myself available to them when they needed my assistance. When motivated individuals have the opportunity to take ownership or lead in their work, they tend to do great.</p> </div> </section> <section resource='#constructive-conflict-resolution' rel='schema:hasPart' inlist='' id='constructive-conflict-resolution'> <h2 property='schema:name'>Constructive Conflict Resolution</h2> <div property='schema:description' datatype='rdf:HTML'> <p id='sel-recalibration'>Our tone and the way we conduct ourselves impacts others and there are consequences to our actions. I have had my own share of knee-jerk reactions, and so I also had to self-reflect. Showing appreciation of others time and considerations, and being empathic, went a long way. It helped me to calibrate myself and find ways to understand and compromise when disagreements arise.</p> <p id='conflicts-as-opportunities'>While minimising or avoiding conflicts may be generally better, I do see conflicts as opportunities that need to be converted into constructive outcomes. Based on what I have seen, coming up with proposals to resolve issues to be both quite self-rewarding and useful to the community, especially when it showed our shared needs, finding reasonable negotiations and compromises that we can make, and setting things in motion. For example, the work towards Solid QA partly came out of a resolution to a strong social and technical conflict among some participants in the group. Similarly, the CG charter was due to CG's need to be more effective, and ever more democratic.</p> <p id='pwe-materials'>I am constantly on the lookout for resources and materials to improve my skills, including running more efficient meetings. I have found the materials provided by the PWE CG to be quite valuable. I make modest contributions to the PWE, stay updated on their progress, and integrate any relevant changes or advancements into the Solid CG.</p> <p id='cg-protecting-process'>I have actively preserved CG's assets and maintained group consensus and consent. Including in situations in which I had to handle misconducts of some participants not adhering to group process and taking actions without group's consent. It has been my observation that when some folks actively undermine the whole group in order to fulfil their private agenda, they had lost the narrative of open standards development. The group handled such cases by allowing individuals to save face in the short-term, and by recognising the need for disciplinary policies and procedures. These policies involve training participants in the community's values and culture to maintain a healthy and constructive workspace in the long-term.</p> <p id='managing-conflict-challenges'>It goes without saying that I was challenged in managing conflicts — a part of me wanted to be firm on rules and expectations, but I almost always took things lighter, and tried to find constructive ways out of a situation. In my limited experience, understanding our differences and commonalities, approaching situations with empathy, and de-escalating are key factors in addressing various matters.</p> </div> </section> <section resource='#coordination' rel='schema:hasPart' inlist='' id='coordination'> <h2 property='schema:name'>Coordination</h2> <div property='schema:description' datatype='rdf:HTML'> <p id='w3c-inclusivity-teamwork-lessons'>I have had the privilege of coordinating with the W3C Team and the community. I think fundamentally I learned about inclusivity and teamwork, and that we need to work at it instead of taking it as something for granted. I did my share bit to align with W3C efforts and I had nothing but welcoming and supporting faces. There were always some random technical matters that people (and myself included) didn't always agree on but almost always found a way to have arrive at a mutual understanding.</p> <p id='w3c-team-staff-coordination'>During the CG and WG charter development, I took the opportunity to coordinate with W3C Team to have stuff running properly for the group. It involved anything from licensing matters with W3C legal, to transitioning CG's work items to the proposed Solid WG as its deliverables, to coordinating with the staff to run the CG chair election. The cherry on top of all is that, I have announced that I will be stepping down as the chair and will help the group with the transfer.</p> <p id='organising-cross-group-meetings'>I have organised joint meetings with other W3C Groups, such as the <a rel='cito:discusses' href="https://www.w3.org/groups/cg/credentials">Credentials Community Group</a>, <a rel='cito:discusses' href="https://www.w3.org/groups/cg/wicg">Web Platform Incubator Community Group</a>, <a rel='cito:discusses' href="https://www.w3.org/groups/cg/webagents/">Autonomous Agents on the Web Community Group</a>, and the <a rel='cito:discusses' href="https://www.w3.org/groups/cg/socialcg/">Social Web Community Group</a>. These meetings have been instrumental in fostering collaboration and understanding, building bridges, and aligning efforts. There were visible improvements and adoptions of related works in Solid work items, as well as their incorporation into the projects of individuals and organisations.</p> <p id='solid-webid-mutual-understanding'>I have also led a mutual understanding between the Solid and WebID CGs in a way that was ultimately beneficial to everyone by proposing that the Solid WG charter adopts the WebID 1.0 specification as a deliverable. For Solid specifications, work on the WebID specification needed to be finalised. As there was plethora of publishing and implementation experience, as well as use of WebIDs in the wild, it made sense to graduate this work from the CG to a WG under a standards track. This proposal received unanimous approval from the actively involved participants, a relatively rare occurrence in such processes.</p> </div> </section> <section resource='#make-it-so' rel='schema:hasPart' inlist='' id='make-it-so'> <h2 property='schema:name'>Make It So!</h2> <div property='schema:description' datatype='rdf:HTML'> <p>It has been my honour to serve as the CG chair. True effectiveness is achieved when we adhere to common principles and values in the standards development process, while remembering that there are humans behind the technical work we are doing. Social implications are the basis and the reason why all the technical work is happening, and it's very easy to lose sight of that in the day-to-day. Social all the way down.</p> </div> </section> https://csarven.ca/language-and-connectivity Language and Connectivity 2018-12-27T00:00:00Z 2018-12-27T00:00:00Z https://csarven.ca/#i Sarven Capadisli info@csarven.ca <p>We purpose language — a technology — to shape ourselves and everything around us.</p> <p>I often found oral and written communication challenging. I jammed more information than I needed to, and sometimes left out important bits. It was all connected and relevant (in my head) but I couldn't map my thoughts to words that well. I hacked my way through within the boundaries of time and space. That affected my relationship with the world.</p> <p>I started to learn English when I moved to Ontario. In Montreal, I took French lessons for half a year, but I didn't keep up. When I lived in the Netherlands, I tried to pick up Dutch but wasn't successful. Learning German in Switzerland had a similar result. I figured my enthusiasm to learn a new language wasn't stronger than the persistence it needed. Naturally, not being fluent in the local language shaped my social relations. I didn't completely understand what it did to my connection to society and myself until later.</p> <p>Being able to verbally communicate with more people is naturally beneficial. I still aim to learn new languages. On the other hand, lack of fluent communication had some useful qualities as well. At the very least, I thought I was able to take advantage of it. In a social setting, once people learn that I am not able to understand them, at some point in the social dance, I unlocked a superpower. The ability to ease in and out of involvement in conversations. The idling time meant that I can cosy up in my bubble, inside a bigger bubble with the other occupants. As dipping in and out of communication was generally socially acceptable (at least in parts of the world that I've lived in), I kept this behaviour. I am able to detach myself from people and attach back as need to, or at will. In my mind, I am able to think about everything and nothing while in people's presence. I value this time because it somehow comforts me when I can get away with it. Ironically, those are also some of the times I can feel connected to humanity, as is. Just being there.</p> https://csarven.ca/linked-data-notifications Linked Data Notifications: a resource-centric communication protocol 2016-12-15T00:00:00Z 2016-12-15T00:00:00Z https://csarven.ca/#i Sarven Capadisli info@csarven.ca https://rhiaro.co.uk/#me Amy Guy amy@rhiaro.co.uk https://deiu.me/profile#me Andrei Sambra deiu@mit.edu http://eis.iai.uni-bonn.de/ChristophLange Christoph Lange langec@cs.uni-bonn.de http://eis.iai.uni-bonn.de/SoerenAuer Sören Auer auer@cs.uni-bonn.de https://www.w3.org/People/Berners-Lee/card#i Tim Berners-Lee timbl@w3.org <section id='abstract'> <h2>Abstract</h2> <div property='schema:abstract' datatype='rdf:HTML'> <p>In this article we describe the Linked Data Notifications (LDN) protocol, which is a <a href="https://www.w3.org/TR/ldn/">W3C Candidate Recommendation</a>. Notifications are sent over the Web for a variety of purposes, for example, by social applications. The information contained within a notification is structured arbitrarily, and typically only usable by the application which generated it in the first place. In the spirit of Linked Data, we propose that notifications should be reusable by multiple authorised applications. Through separating the concepts of <em>senders</em>, <em>receivers</em> and <em>consumers</em> of notifications, and leveraging Linked Data principles of shared vocabularies and URIs, LDN provides a building block for decentralised Web applications. This permits end users more freedom to switch between the online tools they use, as well as generating greater value when notifications from different sources can be used in combination. We situate LDN alongside related initiatives, and discuss additional considerations such as security and abuse prevention measures. We evaluate the protocol’s effectiveness by analysing multiple, independent implementations, which pass a suite of formal tests and can be demonstrated interoperating with each other.</p> </div> </section> <section id='keywords'> <h2>Keywords</h2> <div> <ul rel='schema:about'> <li><a resource='http://dbpedia.org/resource/Communications_protocol' href="https://en.wikipedia.org/wiki/Communications_protocol">Communications protocol</a></li> <li><a resource='http://dbpedia.org/resource/Decentralization' href="https://en.wikipedia.org/wiki/Decentralization">Decentralisation</a></li> <li><a resource='http://dbpedia.org/resource/Linked_data' href="https://en.wikipedia.org/wiki/Linked_data">Linked Data</a></li> <li><a resource='http://dbpedia.org/resource/Social_web' href="https://en.wikipedia.org/wiki/Social_web">Social web</a></li> </ul> </div> </section> <section resource='#introduction' rel='schema:hasPart' inlist='' id='introduction'> <h2 property='schema:name'>Introduction</h2> <div property='schema:description' datatype='rdf:HTML'> <p>Notifications are sent over the Web for a variety of purposes, including social applications: <q>You have been invited to a graduation party!</q>, <q>Tim commented on your blog post!</q>, <q>Liz tagged you in a photo</q>. The notification data may be displayed to a human to acknowledge, or used to trigger some other application-specific process (or both). <span typeof='dio:DesignIssue' resource='#design-intent' rel='dio:generatedByIntent' property='schema:description' datatype='rdf:HTML' about='#design-issue' id='issue'>In a decentralised architecture, notifications can be a key element for federation of information, and application integration. However in <span typeof='dio:Active' resource='#design-issue-status' rel='dio:hasStatus'>centralised systems which prevail today</span>, this data is structured arbitrarily and typically only usable by the application that generated it in the first place. Current efforts towards <em>re-decentralising</em> the Web [<a href="https://csarven.ca/linked-data-notifications/#ref-1" class='ref'>1</a>, <a href="https://csarven.ca/linked-data-notifications/#ref-2" class='ref'>2</a>, <a href="https://csarven.ca/linked-data-notifications/#ref-3" class='ref'>3</a>] are moving towards architectures in which data storage is decoupled from application logic, freeing end users to switch between applications, or to let multiple applications operate over the same data. So far, notifications are considered to be <em>ephemeral</em> resources which may disappear after transport, and thus are excluded from being designed for reuse.</span></p> <p typeof='dio:DesignIntent' resource='#design-issue' rel='dio:generatesIssue' property='schema:description' id='design-intent' datatype='rdf:HTML' about='#design-intent'>We argue that notification data should not be locked into particular systems. We designed the <em>Linked Data Notifications (LDN)</em> protocol to support sharing and reuse of notifications <em>across</em> applications, regardless of how they were generated or what their contents are. We describe how the principles of identification, addressability and semantic representation can be applied to notifications on the Web. Specifying LDN as a formal protocol allows independently implemented, heterogeneous applications which generate and use notifications, to seamlessly work together. Thus, LDN supports the decentralisation of the Web as well as encourages the generation and consumption of Linked Data.</p> <p typeof='dio:DesignDecision' resource='#protocol' rel='dio:governsDesign' property='schema:description' id='design-decision' datatype='rdf:HTML' about='#design-decision'>We build on existing W3C standards and Linked Data principles. In particular, the storage of notifications is compatible with the <cite>Linked Data Platform</cite> standard; notifications are identified by HTTP URIs; and notification contents are available as JSON-LD. A key architectural decision is the separation of concerns between <em>senders</em>, <em>receivers</em>, and <em>consumers</em> of notifications. Implementations of the protocol can play one or more of these roles, and interoperate successfully with implementations playing the complementary roles. This means that notifications generated by one application can be reused by a completely different application, accessed via the store where the notification data resides, through shared Linked Data vocabularies. LDN also pushes the decentralised approach further by allowing any <em>target</em> resource to advertise its Inbox anywhere on the Web; that is, targets do not need to be coupled to or controlled by a receiver, and can make use of a third-party <em>Inbox as a service</em>.</p> <p>LDN is a W3C <a href="https://www.w3.org/TR/ldn/" rel='cito:citesAsAuthority cito:citesAsSourceDocument' about=''>Candidate Recommendation</a> via the <cite><a href="https://www.w3.org/wiki/Socialwg">Social Web Working Group</a></cite> [<a href="https://csarven.ca/linked-data-notifications/#ref-4" class='ref'>4</a>]. <span rel='dio:supportedBy' about='#design-decision'>The first two authors (<span resource='https://csarven.ca/#i'>Sarven Capadisli</span> and <span resource='https://rhiaro.co.uk/#me'>Amy Guy</span>) of this article are the co-editors of the specification.</span></p> <p>Use cases for decentralised notifications are particularly evident in social networking (status updates, interactions, games); scholarly communication (reviews, citations); and changes of state of resources (datasets, versioning, sensor readings, experimental observations). We describe the requirements which guided the development of the protocol and discuss related work, including current alternative approaches and complementary protocols which can work alongside LDN. We summarise the protocol itself, and specific architectural considerations that were made. We built a test suite which can be used to confirm that implementations conform with the specification, and we describe 17 implementations which interoperate with each other.</p> <div resource='#concept-scheme' rel='schema:hasPart' id='concept-scheme' about=''> <p typeof='skos:ConceptScheme' resource='#concept-scheme'><span property='skos:definition'>As the following terms used throughout this article may be subject to different interpretations by different communities, we provide some definitions here.</span></p> <p rel='skos:hasTopConcept'>By <strong typeof='skos:Concept' resource='#concept-scheme' rel='skos:topConceptOf' property='skos:prefLabel' id='concept-decentralisation' about='#concept-decentralisation'>decentralisation</strong>, we mean <span property='skos:definition' about='#concept-decentralisation'>data and applications are loosely coupled, and users are empowered to choose where their data is stored or held. We focus on Web-based decentralisation, where content is transported over HTTP, and resources are identified with URIs.</span> An <strong typeof='skos:Concept' resource='#concept-scheme' rel='skos:topConceptOf' property='skos:prefLabel' id='concept-inbox' about='#concept-inbox'>Inbox</strong> is <span property='skos:definition' about='#concept-inbox'>a container or directory (attached to a Web resource) which is used to store and serve a collection of notifications.</span> A <strong typeof='skos:Concept' resource='#concept-scheme' rel='skos:topConceptOf' property='skos:prefLabel' id='concept-notification' about='#concept-notification'>notification</strong> is <span property='skos:definition' about='#concept-notification'>a retrievable resource which returns RDF. The contents of notifications are intended to describe a change in state of some other resource, or contain new information for the attention of a user or process, and may be subject to constraints of the Inbox it is contained in.</span> </p> </div> <!-- <p>Using this article as the target for notifications, we welcome readers' feedback via LDN.</p> --> </div> </section> <section resource='#related-work' rel='schema:hasPart' inlist='' id='related-work'> <h2 property='schema:name'>Related Work</h2> <div typeof='deo:RelatedWork' resource='#related-work' property='schema:description' datatype='rdf:HTML'> <p>Here we review previous and ongoing efforts towards delivering notifications in a decentralised manner. Many systems which make use of notifications operate either in a completely centralised way, or are decentralised only in the sense that different instances of the <em>same</em> codebase need to interoperate; we restrict our review to mechanisms which do not expect the notification to be received or used only by the same software or platform which sent it.</p> <p>The contents of a notification is either: 1) URLs, indicating relations between Web resources, or 2) a ‘fat ping’ containing a blob of information. Semantic Pingback, Webmention, and Provenance Pingback follow the first form, and are also known as <cite>linkbacks</cite>, the suite of protocols that essentially allows Web documents to automatically reciprocate hyperlinks. This has the advantage that a verification mechanism can be tightly specified (the URL of the target must appear in the content of the source), but the disadvantage that notifications are only available for use cases involving Web publishing.</p> <p id='semantic-pingback-and-webmention'><cite><a href="https://aksw.github.io/SemanticPingback/">Semantic Pingback</a></cite> [<a href="https://csarven.ca/linked-data-notifications/#ref-2" class='ref'>2</a>] and <cite><a href="https://www.w3.org/TR/webmention">Webmention</a></cite> [<a href="https://csarven.ca/linked-data-notifications/#ref-5" class='ref'>5</a>] both update the original <cite><a href="http://www.hixie.ch/specs/pingback/pingback">Pingback</a></cite> [<a href="https://csarven.ca/linked-data-notifications/#ref-6" class='ref'>6</a>] mechanism by replacing the XML-RPC transport mechanism by a <code>x-www-form-urlencoded</code> request with two parameters (<code>source</code> and <code>target</code>). Resources which are the target for a notification advertise the respective receiving service or endpoint via a <code>Link</code> relation, either in HTTP headers or HTML. Semantic Pingback additionally enables discovery of the Pingback service where target is available as RDF. While the content at source may indicate (in any convention or serialisation format) the type of relation between the source and target URLs, this information about the relation is not transmitted to the receiver’s endpoint; only the source and target URLs are sent. As such, there is also no way to distinguish between multiple potential mentions of the target at the source; this is left up to the receiver to interpret. Semantic Pingback does encourage generation of additional semantics about the relation(s) between the source and the target by processing the source as RDF if possible, and also defines specific ways for a receiving server to handle incoming pingback data in order to add the source data to an RDF knowledge base [<a href="https://csarven.ca/linked-data-notifications/#ref-2" class='ref'>2</a>]. Beyond verifying that the source contains the URL of the target, Webmention does not specify any further requirements of the receiving server; nor is it expected that “mentions” are retrievable once they have been sent. </p> <p id='provenance-pingback'>A <cite><a href="http://www.w3.org/TR/prov-aq/#provenance-pingback">Provenance Pingback</a></cite> endpoint is also advertised via the HTTP <code>Link</code> header; it accepts a list of URIs for provenance records describing uses of the resource [<a href="https://csarven.ca/linked-data-notifications/#ref-7" class='ref'>7</a>]. Provenance Pingback does not specify any further behaviour by the receiving server, but the contents at the URIs listed in the notification body must be semantic data.</p> <p>Other notification mechanisms send more information than just URLs in the notification body; due to each mechanism’s focused use case, the payload is restricted to a particular vocabulary.</p> <p><cite><a href="http://www.cibiv.at/~niko/dsnotify/">DSNotify</a></cite> is a centralised service which crawls datasets and observes changes to links with the specific use case of preserving link integrity between Linked Open Data resources. Third-party applications can register with the sending service to receive notifications of changes in the form of a specific XML payload [<a href="https://csarven.ca/linked-data-notifications/#ref-8" class='ref'>8</a>]. With the <cite><a href="https://www.w3.org/2001/sw/wiki/SparqlPuSH">sparqlPuSH</a></cite> service, users may input a SPARQL query, the results of which are the specific updates they are interested in. The query is run periodically by the service, and the results are converted to RSS and Atom feeds, which is sent to a <a href="http://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html">PubSubHubbub</a> hub to which the user can subscribe [<a href="https://csarven.ca/linked-data-notifications/#ref-9" class='ref'>9</a>]. The <cite><a href="http://www.openarchives.org/rs/notification/1.0/notification">ResourceSync Change Notification</a></cite> specification also sends update notifications via a <abbr title='PubSubHubbub'>PuSH</abbr> hub, this time with an XML payload based on the Sitemap format [<a href="https://csarven.ca/linked-data-notifications/#ref-10" class='ref'>10</a>]. Each of these mechanisms is triggered by subscription requests. That is, a user must actively solicit messages from a particular service, rather than having a way for a service to select a notification target and autonomously discover where to send notifications to.</p> </div> </section> <section resource='#requirements-and-design-considerations' rel='schema:hasPart' inlist='' id='requirements-and-design-considerations'> <h2 property='schema:name'>Requirements and Design Considerations</h2> <div property='schema:description' datatype='rdf:HTML'> <p>In this section we discuss our considerations for a <span typeof='dio:DesignIntent' property='schema:description' datatype='rdf:HTML' about='#design-intent-linked-data'>Web notification protocol that conforms to the Linked Data design principles</span>, as well as <span typeof='dio:DesignIntent' property='schema:description' datatype='rdf:HTML' about='#design-intent-best-practices'>best practices for applications</span>. We use these considerations to establish both concrete requirements and points of implementation-specific flexibility for the protocol.</p> <section resource='#modularity' rel='schema:hasPart' inlist='' id='modularity'> <h3 property='schema:name'>R1 Modularity</h3> <div typeof='dio:DesignRequirement' resource='#design-intent' rel='dio:addressedBy' property='schema:description' datatype='rdf:HTML' about='#modularity'> <p>To encourage modularity of applications, one should differentiate between different classes of implementation of the protocol. Two parties are involved in the creation of a notification: a <em>sender</em>, generating the notification data, and a <em>receiver</em>, storing the created resource. We also have the role of a <em>consumer</em>, which reads the notification data and repurposes it in some way. A software implementation can of course play two or all three of these roles; the important part is that it need not. A consuming application can read and use notification data without being concerned about ever sending or storing notifications.</p> </div> </section> <section resource='#reusable-notifications' rel='schema:hasPart' inlist='' id='reusable-notifications'> <h3 property='schema:name'>R2 Reusable notifications</h3> <div typeof='dio:DesignRequirement' resource='#design-intent' rel='dio:addressedBy' property='schema:description' datatype='rdf:HTML' about='#reusable-notifications'> <p>The relationship between the <em>consumer</em> and <em>receiver</em> roles is key to notifications being reusable. A consumer must be able to autonomously find the location of notifications for or about the particular resource it is interested in. To achieve this we place a requirement on the receiver to expose notifications it has been sent in such away to permit other applications to access them; and specify how any resource can advertise its receiving endpoint for consumers to discover. To promote fair use or remixing of notification contents, applications can incorporate rights and licensing information into the data. Similarly, applications may include additional information on licensing resources that the notification refers to. The presence of this type of information is important for consumers to assess the (re)usability of data.</p> </div> </section> <section resource='#persistence-and-retrievability' rel='schema:hasPart' inlist='' id='persistence-and-retrievability'> <h3 property='schema:name'>R3 Persistence and Retrievability</h3> <div typeof='dio:DesignRequirement' resource='#design-intent' rel='dio:addressedBy' property='schema:description' datatype='rdf:HTML' about='#persistence-and-retrievability'> <meta resource='#design-intent-best-practices' rel='dio:addressedBy'/> <meta resource='#design-issue-optimising-implementation' rel='dio:identifies'/> <p>There is a social expectation and technical arguments for ensuring the persistence of identifiers of Web resources [<a href="https://csarven.ca/linked-data-notifications/#ref-11" class='ref'>11</a>]. This is inconsistent with the traditionally ephemeral nature of notifications. Applications may benefit from referring to or reusing notifications if the notifications are known to be available in the long term, or indicate their expected lifespan [<a href="https://csarven.ca/linked-data-notifications/#ref-12" class='ref'>12</a><!-- , <a href="https://www.w3.org/TR/dwbp/#UniqueIdentifiers" title="Best Practice 9: Use persistent URIs as identifiers of datasets"></a>, <a href="https://tools.ietf.org/html/rfc7089"></a>-->].</p> <p>A <em>RESTful architecture</em> [<a href="https://csarven.ca/linked-data-notifications/#ref-13" class='ref'>13</a>] is well suited for persistent notifications, as it involves organisation of atomic resources, their discovery and description, and a lightweight API for the <abbr title='create, read, update, and delete'>CRUD</abbr> (create, read, update, and delete) operations [<a href="https://csarven.ca/linked-data-notifications/#ref-14" class='ref'>14</a>]. This enforces the notion that notifications are considered resources in their own right, with their own dereferencable URIs.</p> <p>We need to consider both the needs of software systems and humans when large amounts of notification data are being generated and shared between diverse applications which may be operating without knowledge of each other. To organise and manage large amount of notifications over time, mechanisms should be in place to break representations of collections of notifications into multiple paged responses that may be easier to consume by applications.</p> <p>Relatedly, receivers may carry out resource management or garbage collection, or permit consumers or other applications to do so. For example, an application to consume messages might let an authenticated and authorised user ‘mark as read’ by adding a triple to the notification contents.</p> </div> </section> <section resource='#adaptability' rel='schema:hasPart' inlist='' id='adaptability'> <h3 property='schema:name'>R4 Adaptability</h3> <div typeof='dio:DesignRequirement' property='schema:description' datatype='rdf:HTML' about='#adaptability'> <meta resource='#design-intent-linked-data' rel='dio:addressedBy'/> <meta resource='#design-issue-data-formats' rel='dio:identifies'/> <p>Linked Data applications benefit from domain-driven designs; that is, functionality being small and focussed on a particular purpose, rather than generic. We believe a notification protocol should be adaptable for different domains, but that there is no need to create multiple domain-specific notification protocols; the fundamental mechanics are the same.</p> <p typeof='dio:DesignRequirement' resource='#adaptability' rel='dio:refines' property='schema:description' datatype='rdf:HTML' about='#target-representation' id='target-representation'><strong>R4-A</strong>: Any resource may be the <em>target</em> of a notification. By target, we mean a notification may be addressed <em>to</em> the resource, be <em>about</em> the resource, or for a sender to otherwise decide that it is appropriate to draw the attention of the resource (or resource owner) to the information in the notification body. As such, any Web resource must be able to advertise an endpoint to which it can receive notifications. Resources can be RDF or non-RDF (such as an image, or CSV dataset), and may be informational (a blog post, a user profile) or non-informational (a person).</p> <p typeof='dio:DesignRequirement' resource='#adaptability' rel='dio:refines' property='schema:description' datatype='rdf:HTML' about='#notification-body' id='notification-body'><strong>R4-B</strong>: We do not purport to be able to design a notifications ontology which is appropriate for every domain. Thus we consider the <em>contents</em> of a notification to be application specific. From a sender’s perspective, we derive two core principles: a notification can contain <em>any data</em>; a notification can use <em>any vocabulary</em>. From a consumer’s perspective, interoperability between different applications occurs through vocabulary reuse, and shared understanding of terms. This is in accordance with Linked Data principles in general. The practical upshot of this is that a calendar application which consumes event invitations using the <cite><a href="https://www.w3.org/TR/rdfcal/">RDF Calendar</a></cite> vocabulary is likely to completely ignore notifications containing the <cite><a href="https://www.w3.org/TR/prov-o/">PROV Ontology</a></cite>, even if it finds them all stored in the same place. For two independent applications operating in the <em>same</em> domain, a shared understanding of appropriate vocabulary terms is assumed.</p> <div typeof='dio:DesignRequirement' resource='#adaptability' rel='dio:refines' property='schema:description' datatype='rdf:HTML' about='#notification-verification' id='notification-verification'> <p>However from a receiver’s perspective, exposing itself to receive any blobs of RDF data from unknown senders may be problematic. Thus, <strong>R4-C</strong>: it should be possible for the receiver to enforce restrictions and accept only notifications that are acceptable according to its own criteria (deemed by e.g., user configuration; domain-specific receivers). This can be used as an anti-spam measure, a security protection, or for attaining application and data integrity.</p> <p>Rejecting notifications which do not match a specific pattern in their contents, or the <em>shape</em> of the data, is one way to filter. For example, if the Inbox owner knows that they will only ever use a consuming application which processes friend requests, they can configure their receiver to filter out anything that does not match the pattern for a friend request, helping their consumer to be more efficient. If the notification constraints are also advertised by the receiving service as structured descriptions, generation and consumption of the notifications can be further automated. Possible specifications for doing so are W3C <cite><a href="https://www.w3.org/TR/shacl/">Shapes Constraint Language (SHACL)</a></cite> [<a href="https://csarven.ca/linked-data-notifications/#ref-15" class='ref'>15</a>] or <cite><a href="https://shexspec.github.io/spec/">ShEx</a></cite>.</p> <p>Receivers may wish to filter notifications by verifying the sender, through for example a whitelist or a Web of trust. This requires an authentication mechanism and since different authentication mechanisms are appropriate for different applications, the notification protocol should ideally be usable alongside various methods such as clientside certificates, e.g., WebID+TLS, token-based, e.g., OAuth 2.0, or digital signatures.</p> <p>As <q>anyone can say anything about anything</q> a receiver may choose to resolve any external resources referred to by the notification, and cross-check the notification contents against authoritative sources. This is similar to how Semantic Pingback and Webmention require fetching and parsing of the source URL to verify existence of the target link.</p> </div> </div> </section> <section resource='#subscribing' rel='schema:hasPart' inlist='' id='subscribing'> <h3 property='schema:name'>R5 Subscribing</h3> <div typeof='dio:DesignRequirement' resource='#design-intent' rel='dio:addressedBy' property='schema:description' datatype='rdf:HTML' about='#subscribing'> <p>In general, applications may require that new notifications are pushed to them in real-time, or to request them at appropriate intervals. To take this into account, we expand our definition of senders, receivers and consumers with the following interaction expectations: notifications are <em>pushed</em> from senders to receivers; and <em>pulled</em> from receivers by consumers.</p> <p>Thus, an application which offers an endpoint or callback URL to which notifications should be sent directly is a receiver, and an application which fetches notifications from an endpoint on its own schedule is a consumer. Much of the related work <em>requires</em> notifications to be explicitly solicited to trigger sending. Since in a decentralised model, receivers may not be aware of possible sources for notifications, our sender-receiver relationship depends on the sender’s autonomy to make such decisions by itself. This does not preclude the scenario in which a receiver may wish to solicit notifications from a particular sender, but as there are already subscription mechanisms in wide use on the Web, we do not need to specify it as part of LDN. For example, <cite><a href="https://www.w3.org/TR/websub/">WebSub</a></cite> (recent W3C evolution of PubSubHubbub), the <cite>WebSocket Protocol</cite>, or <cite>HTTP Web Push</cite>.</p> </div> </section> <p>Given our adoption of Linked Data principles and a RESTful architecture, a further design decision was to ensure minimal compatibility with the <cite><a href="https://www.w3.org/TR/ldp/">Linked Data Platform</a></cite> (LDP) specification [<a href="https://csarven.ca/linked-data-notifications/#ref-16" class='ref'>16</a>]. LDP is a RESTful read-write API for RDF resources, which groups related resources together into constructs known as <q>Containers</q>. Thus, existing LDP servers can be used to store notifications, as new notifications can be created by <code>POST</code>ing RDF to a container.</p> </div> </section> <section resource='#protocol' rel='schema:hasPart' inlist='' id='protocol'> <h2 property='schema:name'>The LDN Protocol</h2> <div typeof='deo:Contribution dio:Design' resource='#protocol' property='schema:description' datatype='rdf:HTML'> <p>The <dfn id='ldn'>Linked Data Notifications (<abbr title='Linked Data Notifications'>LDN</abbr>)</dfn> protocol describes how servers (receivers) can receive messages pushed to them by applications (senders), as well as how other applications (consumers) may retrieve those messages. Any resource can advertise a receiving endpoint (Inbox) for notification messages. Messages are expressed in RDF, and can contain arbitrary data. It is not dependent on a complete implementation of LDP, but comprises an easy-to-implement subset. LDN is a <cite><a href="https://www.w3.org/TR/ldn">W3C Candidate Recommendation</a></cite> [<a href="https://csarven.ca/linked-data-notifications/#ref-4" class='ref'>4</a>].</p> <figure resource='#figure-linked-data-notifications-overview' rel='schema:hasPart' inlist='' id='figure-linked-data-notifications-overview'> <object width='640' type='image/svg+xml' rel='schema:image' height='305' data="https://www.w3.org/TR/ldn/linked-data-notifications-overview.svg"></object> <figcaption property='schema:name'>Overview of Linked Data Notifications</figcaption> </figure> <section resource='#sender-to-receiver' rel='schema:hasPart' inlist='' id='sender-to-receiver'> <h3 property='schema:name'>Sender to receiver interactions</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The following steps (in order without skipping) describe the interaction between sender and receiver:</p> <p>(1) A sender is triggered, either by a human or an automatic process, to deliver a notification; (2) The sender chooses a target resource to send notifications to; (3) The sender discovers the location of the target’s <em>Inbox</em> through the <code>ldp:inbox</code> relation in the HTTP <code>Link</code> header or RDF body of the target resource; (4) The sender creates the body of the notification according to the needs of application; (5) The sender makes a <code>POST</code> to the Inbox URL, containing the body in JSON-LD or in another serialisation acceptable by the server; (6) The receiver optionally applies filtering rules, and sends the appropriate HTTP response code to accept or reject the notification; (7) The receiver exposes the notification data (according to appropriate access control) for use by consumers.</p> </div> </section> <section resource='#consumer-to-receiver' rel='schema:hasPart' inlist='' id='consumer-to-receiver'> <h3 property='schema:name'>Consumer to receiver interactions</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The following steps (in order without skipping) describe the interaction between consumer and receiver:</p> <p>(1) A consumer selects a target and discovers the location of its Inbox in the same way as the sender; (2) A receiver responds to <code>GET</code> requests made to the Inbox URL with a listing of the URLs of notifications that have previously been accepted, linked to the Inbox with the <code>ldp:contains</code> predicate; <span resource='#persistence-and-retrievability' rel='dio:fulfillsRequirement' about='#protocol'>(3) The receiver responds to <code>GET</code> requests made to the individual notification URLs with JSON-LD (or optionally other serialisations);</span> <span resource='#reusable-notifications' rel='dio:fulfillsRequirement' about='#protocol'>(4) Following the retrieval of notification listings or individual notifications, the consumer may perform further processing, combine with some other data, or simply present the results in a suitable human-readable way.</span></p> </div> </section> <section resource='#example-notifications' rel='schema:hasPart' inlist='' id='example-notifications'> <h3 property='schema:name'>Example Notifications</h3> <div property='schema:description' datatype='rdf:HTML'> <p>For more example notification payloads, see the <a href="https://www.w3.org/TR/ldn/">LDN specification</a>.</p> <figure resource='#sending-notification-request' rel='schema:hasPart' inlist='' id='sending-notification-request' class='listing'> <pre typeof='fabio:Script' property='schema:description' about='#sending-notification-request'><code>{</code><code> "@context": { "sioc": "http://rdfs.org/sioc/ns#" }</code><code> "@id": "",</code><code> "@type": "sioc:Comment",</code><code> "sioc:content": "This is a great article!",</code><code> "as:inReplyTo": { "@id": "http://example.org/article" },</code><code> "sioc:created_at": { "@value": "2015-12-23T16:44:21Z" }</code><code>}</code></pre> <figcaption property='schema:name'>A notification about a comment created by a user (JSON-LD).</figcaption> </figure> <figure resource='#notification-qualified-relation' rel='schema:hasPart' inlist='' id='notification-qualified-relation' class='listing'> <pre typeof='fabio:Script' property='schema:description' about='#notification-qualified-relation'><code>@prefix as: &lt;https://www.w3.org/ns/activitystreams#&gt; .</code><code>@prefix cito: &lt;http://purl.org/spar/cito/&gt; .</code><code>&lt;&gt; a as:Announce</code><code> as:object &lt;https://linkedresearch.org/resources#r-903b83&gt; ;</code><code> as:target &lt;https://csarven.ca/dokieli#architecture&gt; .</code><code>&lt;https://linkedresearch.org/resources#r-903b83&gt;</code><code> cito:citesAsPotentialReading</code><code> &lt;https://csarven.ca/linked-data-notifications#protocol&gt; .</code></pre> <figcaption property='schema:name'>An announcement of a specific citation relation between two entities (Turtle).</figcaption> </figure> </div> </section> </div> </section> <section resource='#implementations' rel='schema:hasPart' inlist='' id='implementations'> <h2 property='schema:name'>Implementations</h2> <div property='schema:description' datatype='rdf:HTML'> <p>Here we summarise the 17 LDN implementations we are aware of to date. They are built by 10 different teams or individuals using different tool stacks (5 clientside JavaScript, 3 PHP, 3 NodeJS, 3 Python, 1 Perl, 1 Virtuoso Server Pages, 1 Java) and have submitted <a href="https://github.com/w3c/ldn/tree/master/implementations">implementation reports</a> as part of the W3C standardisation process. We note that any <a href="https://www.w3.org/wiki/LDP_Implementations">LDP implementation</a> is a conforming LDN receiver; we refer here to the ones we have tested. We discuss the value of these implementations further in the <a href="https://csarven.ca/linked-data-notifications/#analysis-and-evaluation">Evaluation</a> section.</p> <table id='ldn-implementations'> <caption>LDN Implementations</caption> <thead> <tr> <th>Implementation</th> <th>Class<sup><a href="https://csarven.ca/linked-data-notifications/#implementations-key">*</a></sup></th> <th>Description</th> </tr> </thead> <tfoot><tr> <td colspan='3'> <dl class='abbr'> <dt><sup id='implementations-key'>*</sup></dt><dd>Conformance classes: S – sender, C – consumer, R – receiver.</dd> <dt><sup id='author-implementations'>a</sup></dt><dd>Implementations by the authors</dd> </dl> <p>Source: <a href="https://github.com/w3c/ldn/tree/master/implementations">https://github.com/w3c/ldn/tree/master/implementations</a></p> </td> </tr></tfoot> <tbody> <tr> <th><a href="https://carbonldp.com">CarbonLDP</a></th> <td>R</td> <td>Data storage platform (LDP)</td> </tr> <tr> <th><a href="https://dokie.li/">dokieli</a><sup>a</sup></th> <td>S,C</td> <td>Clientside editor and annotator</td> </tr> <tr> <th><a href="https://github.com/linkeddata/errol">errol</a><sup>a</sup></th> <td>S</td> <td>Generic message sending client</td> </tr> <tr> <th><a href="http://fedora-commons.org/">Fedora Commons</a></th> <td>R</td> <td>Open source repository platform (LDP)</td> </tr> <tr> <th><a href="https://github.com/Kongaloosh/IndieAnndroid">IndieAnndroid</a></th> <td>R</td> <td>Personal blogging platform</td> </tr> <tr> <th><a href="https://github.com/albertmeronyo/linked-edit-rules">Linked Edit Rules</a></th> <td>S</td> <td>Statistical dataset consistency checker</td> </tr> <tr> <th><a href="https://github.com/csarven/mayktso">mayktso</a><sup>a</sup></th> <td>R</td> <td>Personal data store (LDP)</td> </tr> <tr> <th><a href="https://github.com/rhiaro/onscreen">OnScreen</a><sup>a</sup></th> <td>C</td> <td>Notifications display client</td> </tr> <tr> <th><a href="https://github.com/albertmeronyo/pyldn">pyldn</a></th> <td>R</td> <td>Standalone Inbox</td> </tr> <tr> <th><a href="https://github.com/kjetilk/p5-rdf-linkeddata-notifications">RDF-LinkedData-Notifications</a></th> <td>R</td> <td>Standalone Inbox</td> </tr> <tr> <th><a href="https://github.com/rhiaro/sloph">sloph</a><sup>a</sup></th> <td>S,R</td> <td>Social publishing &amp; quantified self</td> </tr> <tr> <th><a href="https://github.com/melvincarvalho/vocab">Solid Words</a></th> <td>S</td> <td>Foreign language learning app</td> </tr> <tr> <th><a href="https://github.com/solid/solid-client">solid-client</a></th> <td>S</td> <td>Clientside library for LDP</td> </tr> <tr> <th><a href="https://github.com/solid/solid-inbox">solid-inbox</a></th> <td>C</td> <td>Clientside social message reader</td> </tr> <tr> <th><a href="https://github.com/solid/solid-notifications">solid-notifications</a></th> <td>S,C</td> <td>Clientside library for LDN</td> </tr> <tr> <th><a href="https://github.com/solid/node-solid-server">solid-server</a></th> <td>R</td> <td>Personal data storage server (LDP)</td> </tr> <tr> <th><a href="https://github.com/openlink/virtuoso-opensource">Virtuoso</a>+<a href="http://ods.openlinksw.com/wiki/ODS/OdsBriefcase">ODS Briefcase</a></th> <td>R,C</td> <td>Personal data storage server (LDP)</td> </tr> </tbody> </table> <p>We highlight social scholarly communication use cases with <cite><a href="https://dokie.li/">dokieli</a></cite>, a clientside editor for decentralised scientific article publishing, annotations and social interactions [<a href="https://csarven.ca/linked-data-notifications/#ref-17" class='ref'>17</a>]. dokieli uses LDN to send and consume notifications: When a reader comments on a fragment of text in an article, the application discovers the article’s Inbox and sends a notification about the annotation. dokieli also consumes notifications from this Inbox to fetch and display the annotation as marginalia (<a href="https://csarven.ca/linked-data-notifications/#figure-dokieli-annotation">figure 2</a>). A reader can share a dokieli-enabled article with their contacts; dokieli discovers each contact’s Inbox and sends a notification there (<a href="https://csarven.ca/linked-data-notifications/#figure-dokieli-share">figure 3</a>). When editing an article, the author can add a citation. If an Inbox is discovered in the cited article, dokieli sends a notification there to indicate what part of the article was cited by whom and where. dokieli-enabled articles also consume citation notifications to display these metrics for the author and other readers (<a href="https://csarven.ca/linked-data-notifications/#figure-dokieli-citation">figure 4</a>).</p> <!-- <div class="figure-column-2"> --> <figure resource='#figure-dokieli-annotation' rel='schema:hasPart' inlist='' id='figure-dokieli-annotation'> <video poster='https://dokie.li/media/images/dokieli-annotation.jpg' width='800' controls='controls' preload='none' rel='schema:hasPart' inlist='' id='video-dokieli-annotation'> <source type='video/webm' src="https://dokie.li/media/video/dokieli-annotation.webm" typeof='fabio:Film' resource='https://dokie.li/media/video/dokieli-annotation.webm' rel='schema:hasPart' about='#video-dokieli-annotation'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-annotation.webm">Video</a> of dokieli Web Annotation</figcaption> </figure> <figure resource='#figure-dokieli-share' rel='schema:hasPart' inlist='' id='figure-dokieli-share'> <video poster='https://dokie.li/media/images/dokieli-share.jpg' width='800' controls='controls' preload='none' rel='schema:hasPart' id='video-dokieli-share'> <source type='video/webm' src="https://dokie.li/media/video/dokieli-share.webm" typeof='fabio:Film' resource='https://dokie.li/media/video/dokieli-share.webm' rel='schema:hasPart' about='#video-dokieli-share'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-share.webm">Video</a> of dokieli Share</figcaption> </figure> <!-- </div> --> <figure resource='#figure-dokieli-citation' rel='schema:hasPart' inlist='' id='figure-dokieli-citation'> <video rel='schema:hasPart' about='' width='800' preload='none' poster='https://dokie.li/media/images/dokieli-citation.jpg' id='video-dokieli-citation' controls='controls'> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-citation.webm" resource='https://dokie.li/media/video/dokieli-citation.webm' rel='schema:hasPart' about='#video-dokieli-citation'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-citation.webm">Video</a> of semantic inline citations</figcaption> </figure> <p>Notifications sent by dokieli can be reused by any consuming applications that recognise the vocabulary terms; similarly, dokieli can consume notifications sent by different applications.</p> <p>Further social use cases are demonstrated by <cite><a href="https://rhiaro.co.uk/sloph">sloph</a></cite>, a personal publishing and quantified self platform which acts as a node in a decentralised social network. When new content is created on the server, sloph performs discovery on URLs it finds as values of particular properties of the new content, as well as any URLs in the body of the content, and sends notifications accordingly. For instance:</p> <ul> <li>If a <em>Like</em> activity is generated on the server, sloph uses the <code>object</code> of the <em>Like</em> as the target for a notification. Since dokieli uses the same vocabulary for social interactions (<cite><a href="https://www.w3.org/ns/activitystreams-core">ActivityStreams 2.0</a></cite> [<a href="https://csarven.ca/linked-data-notifications/#ref-18" class='ref'>18</a>]), if the target is a dokieli article, this <em>Like</em> will be displayed (<a href="https://csarven.ca/linked-data-notifications/#figure-sloph-dokieli">figure 5</a>).</li> <li>If the user publishes a blog post containing a link, which may be semantically annotated to indicate the reason for linking, sloph sends a notification to any Inbox discovered at that link.</li> <li>As a receiver, sloph accepts all incoming notifications, but holds for moderation (i.e. places behind access control) any that it cannot automatically verify refer to third-party content published on another domain. If an article written with dokieli publishes a citation of a blog post which advertises a sloph Inbox, sloph will fetch the article and verify whether the relation matches the contents of the notification before exposing the notification for re-use.</li> </ul> <p><cite><a href="http://www.linkededitrules.org/">Linked Edit Rules</a></cite> and <cite><a href="https://melvincarvalho.github.io/vocab/">Solid Words</a></cite> are specialised senders. Linked Edit Rules checks the consistency of statistical datasets against structured constraints, and delivers the consistency report as a notification to the user. Solid Words is a clientside game for learning new words in a foreign language; it delivers the player’s score for each round to their Inbox. <cite><a href="https://apps.rhiaro.co.uk/onscreen">OnScreen</a></cite> is a (crude) generic consumer; as such, it can display notifications sent by both of the aforementioned senders (<a href="https://csarven.ca/linked-data-notifications/#figure-ldn-senders">figure 6</a>).</p> <figure resource='#figure-sloph-dokieli' rel='schema:hasPart' inlist='' id='figure-sloph-dokieli'> <img alt='Screenshots of sloph and dokieli' src="https://csarven.ca/media/images/articles/screenshot-ldn-sloph-dokieli.jpg"/> <figcaption property='schema:name'>A <em>Like</em> notification created by sloph, displayed by dokieli.</figcaption> </figure> <figure resource='#figure-ldn-senders' rel='schema:hasPart' inlist='' id='figure-ldn-senders'> <img alt='Screenshots of Solid Words, Linked Edit Rules, and OnScreen' src="https://csarven.ca/media/images/articles/screenshot-ldn-senders.jpg"/> <figcaption property='schema:name'>A: Solid Words (a sender), B: Linked Edit Rules (a sender), C: OnScreen (a consumer) displaying notifications sent by A and B.</figcaption> </figure> </div> </section> <section resource='#analysis-and-evaluation' rel='schema:hasPart' inlist='' id='analysis-and-evaluation'> <h2 property='schema:name'>Analysis and Evaluation</h2> <div typeof='deo:Evaluation' resource='#analysis-and-evaluation' property='schema:description' datatype='rdf:HTML'> <p>The LDN protocol describes the discovery of a resource’s Inbox whence notifications are sent or consumed, and the sending and exposure of those notifications. Here we analyse how well features of LDN achieve the <a href="https://csarven.ca/linked-data-notifications/#requirements-and-design-considerations">requirements</a> identified previously, and compare this to related work.</p> <p>We have already examined <a href="https://csarven.ca/linked-data-notifications/#implementations">implementations</a> of the specification and described how they interoperate with each other; this can be further tested by running the <a href="https://linkedresearch.org/ldn/tests/">test suite</a>: https://linkedresearch.org/ldn/tests/. We can use this towards an evaluation of its feasibility and effectiveness at interoperability. Given the relatively early stage in the standardisation process (LDN entered Candidate Recommendation in 2016-11), the fast adoption of the LDN specification, quantity of the implementations, and their diversity is promising and further shows LDN’s feasibility. Furthermore, during the development of the specification issues have been raised or discussed by 28 different people (excluding the authors; 21 outside of the Social Web Working Group, 7 within) and the specification has undergone formal review by internationalisation, accessibility, and security specialists. We also discuss in more depth particular challenges that were raised and resolved as part of this process.</p> <section resource='#comparison-summary' rel='schema:hasPart' inlist='' id='comparison-summary'> <h3 property='schema:name'>Comparison summary</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Here we compare existing notification mechanisms from related work. The criteria includes our <a href="https://csarven.ca/linked-data-notifications/#requirements-and-design-considerations">requirements and design considerations</a> (<em>Rx</em>) along with additional technical information which helps to capture some design differences (<em>Tx</em>).</p> <table id='comparison-of-notification-mechanisms'> <caption>Comparison of notification mechanisms</caption> <thead> <tr> <th>Mechanism</th> <th>T1</th> <th>T2</th> <th>T3</th> <th>R1</th> <th>R2</th> <th>R3</th> <th>R4-A</th> <th>R4-B</th> <th>R4-C<sup>p</sup></th> <th>R4-C<sup>v</sup></th> <th>R4-C<sup>o</sup></th> <th>R5</th> </tr> </thead> <tfoot> <tr> <td colspan='14'> <dl class='abbr'> <dt>T1</dt><dd>Notification type</dd> <dt>T2</dt><dd>Delivery method</dd> <dt>T3</dt><dd>Dependencies</dd> <dt>R1</dt><dd>Modularity (application classes: S Sender, R Receiver, C Consumer, U Subscriber/User)</dd> <dt>R2</dt><dd>Reusability</dd> <dt>R3</dt><dd>Persistence - required? how?</dd> <dt>R4-A</dt><dd>Target representation</dd> <dt>R4-B</dt><dd>Notification body</dd> <dt>R4-C<sup>p</sup></dt><dd>Payload processing required?</dd> <dt>R4-C<sup>v</sup></dt><dd>Verification - required? how?</dd> <dt>R4-C<sup>o</sup></dt><dd>Requirements for referenced resources?</dd> <dt>R5</dt><dd>Subscription</dd> </dl> <hr/> <dl class='abbr'> <dt>–</dt><dd>not applicable, out of scope</dd> <dt>/</dt><dd>not specified, in scope</dd> <dt>X</dt><dd>explicitly disallowed</dd> <dt>app</dt><dd>application specific decision</dd> <dt>!</dt><dd>required (<em>MUST</em>)</dd> <dt>+</dt><dd>recommended (<em>SHOULD</em>)</dd> <dt>O</dt><dd>optional (<em>MAY</em>)</dd> <dt>PuSH</dt><dd>PubSubHubbub</dd> </dl> <hr/> <dl class='abbr'> <dt><sup>h</sup></dt><dd>HTML recommended</dd> <dt><sup>j</sup></dt><dd>Alternate RDF formats can be negotiated</dd> <dt><sup>k</sup></dt><dd><code>source</code> and <code>target</code> key–value pairs is required</dd> <dt><sup>q</sup></dt><dd>Provenance records with <a href="http://www.w3.org/TR/prov-o/">PROV Ontology</a></dd> <dt><sup>r</sup></dt><dd>RDF representation recommended</dd> <dt><sup>ra</sup></dt><dd>SPARQL results transformed to RSS/Atom</dd> <dt><sup>s</sup></dt><dd><a href="https://www.sitemaps.org/protocol.html">Sitemaps</a></dd> <dt><sup>t</sup></dt><dd>Described in an RDF store or dataset</dd> </dl> </td> <!-- Notes for how I removed some ?s: * target representation is - when there’s no discovery step for the sender ie. subscription based * verification required is - when there’s a subscription relationship because we assume the receiver trusts the sender -rhiaro --> </tr> </tfoot> <tbody> <tr> <th>Semantic Pingback</th> <td>Linkback</td> <td>POST</td> <td>RDF</td> <td>S R</td> <td>/</td> <td>/</td> <td>Any<sup>r</sup></td> <td>form urlencoded<sup>k</sup></td> <td>!</td> <td>! parse source</td> <td>Any<sup>r</sup></td> <td>X</td> </tr> <tr> <th>Webmention</th> <td>Linkback</td> <td>POST</td> <td>HTML</td> <td>S R</td> <td>–</td> <td>–</td> <td>Any<sup>h</sup></td> <td>form urlencoded<sup>k</sup></td> <td>!</td> <td>! parse source</td> <td>Any<sup>h</sup></td> <td>X</td> </tr> <tr> <th>Provenance Pingback</th> <td>Linkback</td> <td>POST</td> <td>RDF</td> <td>S R</td> <td>/</td> <td>/</td> <td>/</td> <td>URI list</td> <td>/</td> <td>/</td> <td>RDF<sup>q</sup></td> <td>X</td> </tr> <tr> <th>DSNotify</th> <td>Fat ping</td> <td>POST, PUT</td> <td>XML, PuSH</td> <td>S U</td> <td>/</td> <td>–</td> <td>–</td> <td>XML</td> <td>/</td> <td>–</td> <td>RDF<sup>t</sup></td> <td>!</td> </tr> <tr> <th>sparqlPuSH</th> <td>Fat ping</td> <td>POST</td> <td>XML, SPARQL, PuSH</td> <td>S U</td> <td>–</td> <td>–</td> <td>–</td> <td>XML<sup>ra</sup></td> <td>/</td> <td>–</td> <td>RDF<sup>t</sup></td> <td>!</td> </tr> <tr> <th>ResourceSync</th> <td>Fat ping</td> <td>POST</td> <td>XML, PuSH</td> <td>S U</td> <td>/</td> <td>–</td> <td>–</td> <td>XML<sup>s</sup></td> <td>/</td> <td>–</td> <td>?</td> <td>!</td> </tr> <tr> <th>Linked Data Notifications</th> <td>Fat ping</td> <td>POST</td> <td>JSON-LD</td> <td>S R C</td> <td>!</td> <td>! URI</td> <td>Any</td> <td>JSON-LD<sup>j</sup></td> <td>+ app</td> <td>+ app</td> <td>–</td> <td>O app</td> </tr> </tbody> </table> <p>Given that each application requires to follow the steps listed in <q><a href="https://csarven.ca/linked-data-notifications/#sender-to-receiver">Sender to receiver interaction</a></q> and <q><a href="https://csarven.ca/linked-data-notifications/#consumer-to-receiver">Consumer to receiver interactions</a></q> the metrics are dependent on the performance of client and server to do HTTP requests and responses, and their respective payloads.</p> </div> </section> <section resource='#compatibility-with-existing-systems' rel='schema:hasPart' inlist='' id='compatibility-with-existing-systems'> <h3 property='schema:name'>Compatibility with existing systems</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Per <a href="https://csarven.ca/linked-data-notifications/#modularity" rel='dio:fulfillsRequirement' about='#protocol'>R1</a> and <a href="https://csarven.ca/linked-data-notifications/#adaptability" rel='dio:fulfillsRequirement' about='#protocol'>R4</a> we have tried to optimise LDN for use as a module of a larger system. The success of this is demonstrated by implementations which use LDN alongside existing protocols according to their specific needs.</p> <p>The Solid suite of tools, Virtuoso+ODS-Briefcase, and dokieli use <cite><a href="https://www.w3.org/wiki/WebAccessControl">Web Access Control</a></cite> along with an authentication mechanism to apply fine grained access controls to restrict who can send notifications, or who can retrieve notifications from the Inbox. sloph demonstrates an Inbox as a <cite><a href="http://www.webhooks.org/">Webhooks</a></cite> callback URL, for requesting notifications from APIs which post JSON-based payloads. <cite><a href="https://www.w3.org/TR/activitypub/">ActivityPub</a></cite> is a W3C <abbr title='Candidate Recommendation'>CR</abbr> for decentralised social media [<a href="https://csarven.ca/linked-data-notifications/#ref-19" class='ref'>19</a>]. It uses LDN for delivery of notifications with the <a href="https://www.w3.org/ns/activitystreams">ActivityStreams 2.0</a> (AS2) vocabulary, and specifies additional specialised receiver behaviour; also used by sloph. dokieli uses the <cite><a href="https://www.w3.org/TR/annotation-protocol/">Web Annotation Protocol</a></cite>, an LDP-based mechanism for creating new content, which acts as a trigger for notifications to be sent to the Inbox of the annotation target. The <cite><a href="http://fcrepo.github.io/fcrepo-specification/">Fedora API Specification</a></cite> is in the process of being formalised (as an extension of LDP) by the Fedora community. The repository event stream draws upon the LDN specification, allowing LDN consumers and senders to react asynchronously to repository events.</p> <p>Any existing <abbr title='Linked Data Platform'>LDP</abbr> implementation can serve as an LDN receiver. Simply advertising any <code>ldp:Container</code> as the Inbox for a resource is sufficient. We confirmed this with four LDP servers which were developed independently with different code bases, prior to the LDN specification (CarbonLDP, Fedora Commons, Solid Server, Virtuoso).</p> <p>LDN has been integrated into existing domain specific systems: dokieli, Fedora Commons, IndieAnndroid, Linked Edit Rules, sloph, solid-client, Solid Words. Standalone implementations of LDN are also straightforward as a result of this modularity, ie: errol, mayktso, onscreen, pyLDN, RDF-LinkedData-Notifications, solid-inbox, solid-notifications.</p> </div> </section> <section resource='#optimising-implementation' rel='schema:hasPart' inlist='' id='optimising-implementation'> <h3 property='schema:name'>Optimising implementation</h3> <div property='schema:description' datatype='rdf:HTML'> <p rel='dio:generatesIssue' about='#design-intent-best-practices'><span typeof='dio:DesignIssue' resource='#design-intent-best-practices' rel='dio:generatedByIntent' property='schema:description' datatype='rdf:HTML' about='#design-issue-optimising-implementation'>We have considered tradeoffs between the HTTP operations receivers and publishers are <em>required</em> to respond to, and ways in which developers may wish to optimise senders or consumers by reducing outbound requests.<meta resource='dio:Resolved' rel='dio:hasStatus' about='#design-issue-optimising-implementation'/></span></p> <p resource='#solution-optimising-implementation-get-head-link' rel='dio:hasMandatedSolution' about='#design-issue-optimising-implementation'> <meta typeof='dio:MandatedSolution' resource='#design-decision' rel='dio:leadsTo'/> <span typeof='dio:Argument' resource='#argument-optimising-implementation-get-head-link' property='dio:hasArgument'><span property='schema:description' datatype='rdf:HTML'><code>HEAD</code> requests are low cost, and <code>GET</code> requests may be high cost if the body of the resource is large.</span></span> <span typeof='dio:Justification' resource='#justification-optimising-implementation-get-head-link' property='dio:hasJustification'><span property='schema:description' datatype='rdf:HTML'>Given that an Inbox may be discovered from the HTTP headers of a resource, senders and consumers can optimise by attempting a <code>HEAD</code> request for discovery, and only continuing with a <code>GET</code> request if the <code>HEAD</code> is not successful. On the other hand, senders and consumers may be attempting discovery upon RDF resources which they already intend to parse into their own storage. In this case, there is no need for a <code>HEAD</code> request, as a <code>GET</code> will yield both HTTP <code>Link</code> headers and an RDF body, either of which could include the Inbox triple. This means that resources advertising an Inbox must respond to <code>GET</code> requests (even if only with HTTP headers) and may respond to <code>HEAD</code> requests.</span></span> </p> </div> </section> <section resource='#data-formats' rel='schema:hasPart' inlist='' id='data-formats'> <h3 property='schema:name'>Data Formats and Content Negotiation</h3> <div property='schema:description' datatype='rdf:HTML'> <p rel='dio:generatesIssue' about='#design-intent-linked-data'><span typeof='dio:DesignIssue' resource='#design-intent-linked-data' rel='dio:hasStatus' property='schema:description' datatype='rdf:HTML' about='#design-issue-data-formats'>Handling data irrespective of the particular RDF serialisation permits some flexibility, but can be costly to support. We take into account: (a) application interoperability, (b) maintenance of RDF parsers and serialisation libraries, (c) complexity of their inclusion in applications, (d) run-time efficiency.<meta resource='dio:Resolved' rel='dio:hasStatus' about='#design-issue-data-formats'/></span></p> <p resource='#solution-data-formats-json-ld' rel='dio:hasMandatedSolution' about='#design-issue-data-formats'> <meta typeof='dio:MandatedSolution' resource='#design-decision' rel='dio:leadsTo'/> <span typeof='dio:Argument' resource='#argument-data-formats-json-ld' property='dio:hasArgument'><span property='schema:description' datatype='rdf:HTML'>To address these issues, LDN requires all applications to create and understand the JSON-LD syntax, both for the contents of Inbox as well as for individual notifications. Choosing a single serialisation to <em>require</em> is necessary for consistent interoperability, as well as keeping processing requirements or external code dependencies minimal.</span></span> <span typeof='dio:Justification' resource='#justification-data-formats-json-ld' property='dio:hasJustification'><span property='schema:description' datatype='rdf:HTML'>JSON-LD is advantageous in being familiar for developers who are <cite><a href="http://manu.sporny.org/2014/json-ld-origins-2/" typeof='dio:Evidence' rel='dio:hasEvidence'>used to JSON-based APIs but not RDF</a></cite> [<a href="https://csarven.ca/linked-data-notifications/#ref-20" class='ref'>20</a>], and it is compatible with existing JSON libraries or in some cases native programming language data structures.</span></span> </p> <p resource='#solution-data-formats-content-negotiation' rel='dio:hasAlternativeSolution' about='#design-issue-data-formats'>Optionally, <span typeof='dio:Argument' resource='#argument-data-formats-content-negotiation' property='dio:hasArgument'><span property='schema:description' datatype='rdf:HTML'>applications may attempt to exchange different RDF serialisations by performing content negotiation</span></span> (<span typeof='dio:Justification' resource='#justification-data-formats-content-negotiation' property='dio:hasJustification'><span property='schema:description' datatype='rdf:HTML'>receivers can expose <code>Accept-Post</code> headers for senders, and consumers can send <code>Accept</code> headers to receivers</span></span>).</p> </div> </section> <section resource='#precision' rel='schema:hasPart' inlist='' id='precision'> <h3 property='schema:name'>Precision</h3> <div property='schema:description' datatype='rdf:HTML'> <p>In placing no constraints on the contained information, LDN enables a sender to be precise and lossless with the data it is transmitting. Approaches which send only URLs rely on the receiver interpreting a third-party resource, which may or may not contain structured markup or be under the control of the sender. Approaches which offer additional guidance to aid the receiver in interpreting the source document(s) nonetheless still restricts the sender. LDN therefore offers flexibility to senders, increasing the potential uses for the notification mechanism. LDN compensates for increased complexity on the receiver’s end by recommending filtering mechanisms, and moving some of the burden of understanding notifications to the consumer role. As such LDN can cover a broader variety of use cases.</p> </div> </section> <section resource='#accommodating-different-targets' rel='schema:hasPart' inlist='' id='accommodating-different-targets'> <h3 property='schema:name'>Accommodating different targets</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Per <em>R4 Adaptability</em>, we want LDN to be available for all resources in any publishing context. We consider lowering the bar for publishers of target resources to be a worthwhile trade-off against slightly increased complexity for senders and consumers. This is why we require that senders and consumers must be equipped to discover Inboxes through both HTTP headers and RDF content. </p> <p>Since binary formats such as images and video cannot contain an RDF relation, the HTTP header is essential for including them. It also allows the inclusion of resources for which it is undesirable or impractical to add individual Inbox relations, such as to elements in a dataset; or circumstances where the developer responsible for the Inbox relation is unable to modify the content. Conversely, non-informational resources (represented with fragment URIs or 303 redirects) are unable to express HTTP headers. Their relation to an Inbox must be expressed in an RDF source. However, if a sender or consumer has a domain-specific requirement to <em>only</em> ever target non-informational resources, they are exempt from the requirement of discovery via HTTP headers.</p> </div> </section> </div> </section> <section resource='#conclusions' rel='schema:hasPart' inlist='' id='conclusions'> <h2 property='schema:name'>Conclusions</h2> <div typeof='deo:Conclusion' resource='#conclusions' property='schema:description' datatype='rdf:HTML'> <p>In this article we describe LDN, a protocol for decentralised semantic notifications, currently undergoing standardisation at the W3C. Key elements are:</p> <ul> <li>Notifications as retrievable, reusable entities with their own URIs.</li> <li>Distinct conformance classes for senders, receivers, and consumers.</li> <li>Deliberately not defining the vocabulary of notification contents to allow for use in a range of different application domains.</li> <li>Flexibility of authentication and verification, for the same reason.</li> </ul> <p>We outlined design requirements, describe how LDN meets these, and compare this with related work. We consider LDN to have greater modularity and adaptability to different scenarios, as well as good conformance with Linked Data principles. This specification has potential to have high impact in increasing interoperability between decentralised Linked Data applications in related domains, as well as generating new discoverable content for the LOD Cloud. This is evidenced by 17 diverse implementations which can be shown to interoperate with each other, including generic libraries and datastores, and domain-specific applications. Being on the W3C standards track increases the likelihood of further adoption.</p> <!-- Future work? --> <!-- <p>We have yet to assess the implications of applications modifying data that another application also makes use of. This would be a useful study for decentralisation in general.</p> --> </div> </section> <section resource='#acknowledgements' rel='schema:hasPart' prefix='scoro: http://purl.org/spar/scoro/' inlist='' id='acknowledgements'> <h2 property='schema:name'>Acknowledgements</h2> <div typeof='deo:Acknowledgements' property='schema:description' datatype='rdf:HTML' about='#acknowledgements'> <p>This material is based on work supported by the Qatar Computing Research Institute (QCRI), and by the DFG project “Opening Scholarly Communication in Social Sciences” (grant agreement AU 340/9-1).</p> </div> </section> <section id='references'> <h2>References</h2> <div> <ol><li id='ref-1'>Mansour, E., Sambra, A., Hawke, S., Zereba, M., Capadisli, S., Ghanem, A., Aboulnaga, A., Berners-Lee, T.: <cite>A Demonstration of the Solid Platform for Social Web Applications</cite>, WWW, Demo, 2016, <a href="http://www2016.net/proceedings/companion/p223.pdf" rel='schema:citation'>http://www2016.net/proceedings/companion/p223.pdf</a></li><li id='ref-2'>Tramp, S., Frischmuth, P., Ermilov, T., Shekarpour, S., Auer, S.: <cite>An Architecture of a Distributed Semantic Social Network</cite>, Semantic Web Journal, 2012, <a href="http://www.semantic-web-journal.net/sites/default/files/swj201_4.pdf" rel='schema:citation'></a></li><li id='ref-3'>Arndt, N., Junghanns, K., Meissner, R., Frischmuth, F., Radtke, N., Frommhold, M., Martin, M.: <cite>Structured Feedback</cite>, WWW, LDOW, 2016, <a href="http://events.linkeddata.org/ldow2016/papers/LDOW2016_paper_02.pdf" rel='schema:citation'>http://events.linkeddata.org/ldow2016/papers/LDOW2016_paper_02.pdf</a></li><li id='ref-4'>Capadisli, S., Guy, A.: <cite>Linked Data Notifications</cite>, W3C Candidate Recommendation, 2016, <a href="https://www.w3.org/TR/ldn/" rel='schema:citation'>https://www.w3.org/TR/ldn/</a></li><li id='ref-5'>Parecki, A.: <cite>Webmention</cite>, W3C Proposed Recommendation, 2016, <a href="https://www.w3.org/TR/webmention/" rel='schema:citation'>https://www.w3.org/TR/webmention/</a></li><li id='ref-6'>Langridge, S., Hickson, I.: <cite>Pingback 1.0</cite>, 2002, <a href="http://www.hixie.ch/specs/pingback/pingback" rel='schema:citation'>http://www.hixie.ch/specs/pingback/pingback</a></li><li id='ref-7'>Klyne, G., Groth, P.: <cite>PROV-AQ: Provenance Access and Query</cite>, W3C Note, 2013, <a href="http://www.w3.org/TR/prov-aq/" rel='schema:citation'>http://www.w3.org/TR/prov-aq/</a></li><li id='ref-8'>Haslhofer, B., Popitsch, N.: <cite>DSNotify – Detecting and Fixing Broken Links in Linked Data Sets</cite>, WWW, 2010, <a href="http://eprints.cs.univie.ac.at/81/1/2010_WWW_DSNotify.pdf" rel='schema:citation'>http://eprints.cs.univie.ac.at/81/1/2010_WWW_DSNotify.pdf</a></li><li id='ref-9'>Passant, A., Mendes, P.N.: <cite>sparqlPuSH: Proactive notification of data updates in RDF stores using PubSubHubbub</cite>, SFSW, CEUR Workshop Proceedings, Vol. 699, 2010, <a href="http://ceur-ws.org/Vol-699/Paper6.pdf" rel='schema:citation'>http://ceur-ws.org/Vol-699/Paper6.pdf</a></li><li id='ref-10'>Klein, M., Van de Sompel, H., Warner, S., Klyne, G., Haslhofer, B., Nelson, M., Lagoze, C., Sanderson, R.: ResourceSync Framework Specification – Change Notification, 2016, <a href="http://www.openarchives.org/rs/notification/1.0/notification" rel='schema:citation'>http://www.openarchives.org/rs/notification/1.0/notification</a></li><li id='ref-11'>Berners-Lee, T.: <cite>Cool URIs don't change</cite>, W3C, 1998, <a href="https://www.w3.org/Provider/Style/URI.html" rel='schema:citation'>https://www.w3.org/Provider/Style/URI.html</a></li><li id='ref-12'>Archer, P., Loutas, N., Goedertier S., Kourtidis, S.: <cite>Study On Persistent URIs</cite>, 2012, <a href="http://philarcher.org/diary/2013/uripersistence/" rel='schema:citation'>http://philarcher.org/diary/2013/uripersistence/</a></li><li id='ref-13'>Fielding, R. T.: <cite>Architectural Styles and the Design of Network-based Software Architectures</cite>. Doctoral dissertation, University of California, Irvine, 2000, <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm" rel='schema:citation'>http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm</a></li><li id='ref-14'>Page, K.R., De Roure, D.C., Martinez, K.: <cite>REST and Linked Data: a match made for domain driven development?</cite>, WWW, WS-REST, 2011, <a href="http://ws-rest.org/2011/proc/a5-page.pdf" rel='schema:citation'>http://ws-rest.org/2011/proc/a5-page.pdf</a></li><li id='ref-15'>Knublauch, H., Kontokostas, D.: <cite>Shapes Constraint Language</cite>, W3C Working Draft, 2016, <a href="https://www.w3.org/TR/shacl/" rel='schema:citation'></a></li><li id='ref-16'>Speicher, S., Arwe, J., Malhotra, A.: <cite>Linked Data Platform</cite>, W3C Recommendation, 2015, <a href="https://www.w3.org/TR/ldp/" rel='schema:citation'>https://www.w3.org/TR/ldp/</a></li><li id='ref-17'>Capadisli, S., Guy, A., Auer S., Berners-Lee, T.: <cite>dokieli</cite>, 2016, <a href="https://csarven.ca/dokieli" rel='schema:citation'>https://csarven.ca/dokieli</a></li><li id='ref-18'>Snell, J., Prodromou, E.: <cite>Activity Streams 2.0</cite>, W3C Candidate Recommendation, 2016, <a href="https://www.w3.org/TR/activitystreams-core/" rel='schema:citation'>https://www.w3.org/TR/activitystreams-core/</a></li><li id='ref-19'>Webber, C., Tallon, J.: <cite>ActivityPub</cite>, W3C Candidate Recommendation, 2016, <a href="https://www.w3.org/TR/activitypub/" rel='schema:citation'>https://www.w3.org/TR/activitypub/</a></li><li id='ref-20'>Sporny, M.: <cite>JSON-LD and Why I Hate the Semantic Web</cite>, 2014, <a href="http://manu.sporny.org/2014/json-ld-origins-2/" rel='schema:citation'>http://manu.sporny.org/2014/json-ld-origins-2/</a></li> </ol> </div> </section> https://csarven.ca/dokieli-rww Decentralised Authoring, Annotations and Notifications for a Read-Write Web with dokieli 2017-02-27T00:00:00Z 2017-03-12T00:00:00Z https://csarven.ca/#i Sarven Capadisli info@csarven.ca https://rhiaro.co.uk/#me Amy Guy amy@rhiaro.co.uk http://eis.iai.uni-bonn.de/ChristophLange Christoph Lange langec@cs.uni-bonn.de https://ruben.verborgh.org/profile/#me Ruben Verborgh ruben.verborgh@ugent.be http://eis.iai.uni-bonn.de/SoerenAuer Sören Auer auer@cs.uni-bonn.de https://www.w3.org/People/Berners-Lee/card#i Tim Berners-Lee timbl@w3.org <section id='abstract'> <h2>Abstract</h2> <div property='schema:abstract' datatype='rdf:HTML'> <p>Decentralising the creation, publication, and annotation of hypertext documents provides authors with a technological guarantee for independence of any publication authority. While the Web was designed as a decentralised environment, individual authors still lack the ability to conveniently author and publish documents, and to engage in social interactions with documents of others in a truly decentralised fashion. We present <cite><a href="https://dokie.li/" rel='cito:cites'>dokieli</a></cite>, a fully decentralised, browser-based authoring and annotation platform with built-in support for social interactions, through which people retain the ownership of and sovereignty over their data. The resulting “living” documents are interoperable and independent of dokieli since they follow standards and best practices, such as HTML+RDFa for a fine-grained semantic structure, <cite>Linked Data Platform</cite> for personal data storage, and <cite>Linked Data Notifications</cite> for updates. This article describes dokieli’s architecture and implementation, demonstrating advanced document authoring and interaction without a single point of control. Such an environment provides the right technological conditions for independent publication of scientific articles, news, and other works that benefit from diverse voices and open interactions.</p> </div> </section> <section id='keywords'> <h2>Keywords</h2> <div> <ul rel='schema:about'> <li><a resource='http://dbpedia.org/resource/Decentralization' href="https://en.wikipedia.org/wiki/Decentralization">Decentralisation</a></li> <li><a resource='http://dbpedia.org/resource/Human-computer_interaction' href="https://en.wikipedia.org/wiki/Human-computer_interaction">Human-computer interaction</a></li> <li><a resource='http://dbpedia.org/resource/Linked_Data' href="https://en.wikipedia.org/wiki/Linked_Data">Linked Data</a></li> <li><a resource='http://dbpedia.org/resource/Semantic_publishing' href="https://en.wikipedia.org/wiki/Semantic_publishing">Semantic publishing</a></li> <li><a resource='http://dbpedia.org/resource/Social_machine' href="https://en.wikipedia.org/wiki/Social_machine">Social machine</a></li> <li><a resource='http://dbpedia.org/resource/Social_web' href="https://en.wikipedia.org/wiki/Social_web">Social web</a></li> </ul> </div> </section> <section resource='#introduction' rel='schema:hasPart' inlist='' id='introduction'> <h2 property='schema:name'>Introduction</h2> <div typeof='deo:Introduction' resource='#introduction' property='schema:description' datatype='rdf:HTML'> <p rel='schema:hasPart' id='problem-statement' about=''><span typeof='deo:ProblemStatement' property='schema:description' about='#problem-statement'>While the Web was originally conceived as a decentralised platform where every organisation and individual can participate, it became increasingly centralised with <a href="https://news.netcraft.com/archives/category/web-server-survey/">less than 1% of the servers serving more than 99% of the content</a>. The main reason for this is rooted in technology: it is currently much easier and more efficient to author, manage, publish, and search large amounts of similarly structured content using a centralised platform. Blogger, YouTube and Facebook, for example, are centralised authoring, publishing, and search platforms for blog posts, videos or social network content respectively.</span></p> <p>However, independence of centralised platforms is a necessity for ownership of published ideas, and to establish a relation of trust. For example, Facebook has been accused of <a href="http://www.slate.com/articles/technology/technology/2016/05/yes_facebook_is_biased_now_it_should_admit_it.html">bias</a>, <a href="https://www.theguardian.com/media/2016/jul/12/how-technology-disrupted-the-truth">false information</a>, and <a href="https://www.nytimes.com/2016/09/10/technology/facebook-vietnam-war-photo-nudity.html">censorship</a>—but rather than blaming this on any particular platform, we identify it as an unavoidable result of centralisation. After all, there is a continued tension between unrestricted publication rights on the one hand, and a guarantee of balanced, verified information on the other. In a fully decentralised setting, each source is filterless and responsible for its own quality and reputation, while others are free to selectively (dis-)trust certain sources using any mechanism they desire.</p> <p>Decentralised authoring, publication, and annotation furthermore have the potential to impact areas in which centralisation currently determines the pace of evolution. Scientific publishing, for instance, is often bound to centralised review and dissemination processes. Instead, rigorous scientific discourse could be realised with an open, decentralised environment for the annotation of manuscripts, which has the potential to engage more people sooner. Trust then no longer stems from a finite process with limited transparency, but is rather continuously assessed by repeated independent validation. Publication thereby becomes the starting point rather than the end point.</p> <p>If we want to strengthen the decentralised nature of the Web again, we need to develop technologies to simplify the decentralised authoring, management, exploration, and search of Web content.</p> <p>In this article we present the <a href="https://csarven.ca/dokieli-rww/#principles">principles</a> and <a href="https://csarven.ca/dokieli-rww/#architecture-and-technologies">architecture</a> for a fully distributed authoring and publishing system. We describe the dokieli implementation of this architecture as well as an overview on its current <a href="https://csarven.ca/dokieli-rww/#adoption">adoption</a> before we conclude with an outlook on <a href="https://csarven.ca/dokieli-rww/#conclusions">challenges and future work</a>.</p> </div> </section> <section resource='#principles' rel='schema:hasPart' inlist='' id='principles'> <h2 property='schema:name'>Principles</h2> <div typeof='deo:Model' resource='#principles' property='schema:description' datatype='rdf:HTML'> <p>This describes the principles against which decentralised approaches for authoring, annotation and notifications should be designed. These principles are derived from current literature on decentralisation, and Web development best practices.</p> <dl> <dt id='data-storage-independent-of-service-providers'>Data storage independent of service providers</dt> <dd>Users should have a choice in where they store their data and full control over it e.g. with regard to who is allowed to access it. The <cite><a rel='cito:citesAsRelated' href="https://www.researchgate.net/publication/299536747_Industrial_Data_Space_Digital_Souvereignity_Over_Data">Industrial Data Space</a></cite> initiative calls this <q>data sovereignty</q>.</dd> <dt id='interoperability'>Interoperability</dt> <dd>By allowing the application logic to be decoupled from the data, users can switch between applications and personal data storage servers, thereby avoiding a <em>vendor lock-in</em>. To achieve maximum interoperability, applications should conform to well-defined Web standards and protocols (rather than properietary software implementations). Dangers of data silos and some example standards to use to decentralise are given in <cite><a rel='cito:citesAsRelated' href="https://www.w3.org/DesignIssues/CloudStorage.html">Socially-aware Cloud Storage</a></cite>.</dd> <dt id='separation-of-concerns'>Separation of concerns</dt> <dd>A <em>progressive enhancement</em> strategy to connect the structural, presentational, and behavioural layers allows content and base functionality to be accessible through different media and devices (as described in <cite><a rel='cito:citesAsRelated' href="http://hesketh.com/publications/progressive_enhancement_and_the_future_of_web_design.html">Progressive Enhancement and the Future of Web Design</a></cite>).</dd> <dt id='accessibility'>Accessibility</dt> <dd>To lower the barrier for entry for all forms of participation, enhanced functionality should be accessible to users based on the capabilities of their user-agents, storage availability, network access or personal preferences (we consider this to be self-evident, and there are a plethora of Web best practices in this area).</dd> <dt id='freedom-of-expression'>Freedom of expression</dt> <dd>Because there are no central authorities, we must assume applications follow the open-world principle, where <q>any author can say anything about anything</q>. Identifying everything using [de]referenceable IRIs allows any distributed authoring or annotation application to reference and link to previously published content (this overlaps with Principles 1, 3 and 4 in the <cite><a rel='cito:citesAsRelated' href="https://www.w3.org/2001/12/semweb-fin/w3csw">W3C Semantic Web Activity</a></cite> charter).</dd> <dt id='web-of-trust'>Web of Trust</dt> <dd>The Web as a collaborative medium makes it possible for people to take responsibility (or be accountable) for their contributions. It should be possible for people to publish, share, and annotate information while ensuring their provenance, authenticity and integrity [<cite><a rel='cito:citesAsRelated' href="https://pdfs.semanticscholar.org/5e37/daf945094ea9c9df127e06b05282e03e39bd.pdf">Weaving a Web of Trust</a></cite>, <cite><a rel='cito:citesAsRelated' href="https://link.springer.com/content/pdf/10.1007%2F978-3-540-39718-2_23.pdf">Trust Management for the Semantic Web</a></cite>, <cite><a rel='cito:citesAsRelated' href="http://sir-lab.usc.edu/cs586/20151readings/w13-1.pdf">Trust Networks on the Semantic Web</a></cite>].</dd> </dl> </div> </section> <section resource='#related-work' rel='schema:hasPart' inlist='' id='related-work'> <h2 property='schema:name'>Related work</h2> <div typeof='deo:RelatedWork' resource='#related-work' property='schema:description' datatype='rdf:HTML'> <p><cite><a href="http://svn.aksw.org/papers/2011/JWS_SemanticContentAuthoring/public.pdf">User Interfaces for Semantic Authoring of Textual Content</a></cite> gives an overview on relevant related work. A range of quality attributes such as collaboration, interoperability, and scalability, while relevant to our work, we also consider systems and tools on dimensions based on the principles that we have outlined.</p> <p id='cenrtalised-authoring-and-annotation-platforms'><strong>Centralised authoring and annotation platforms</strong>: <span id='googledocs-medium-authorea'><cite><a rel='cito:discusses' href="https://docs.google.com/">Google Docs</a></cite>, <cite><a rel='cito:discusses' href="https://medium.com/">Medium</a></cite>, and <cite><a rel='cito:discusses' href="https://www.authorea.com/">Authorea</a></cite> are examples of Web applications for collaborative creation and publication of content which require account creation and data storage with respective centralised services. They allow multiple participants to annotate and hold discussions around the primary content; users must access their accounts to be notified of updates to conversations, and data from both the main content and related discussion is confined to the service which was used to create it.</span> <span id='wordpress'><cite><a rel='cito:discusses' href="https://wordpress.org/">WordPress</a></cite> is a free and open-source platform for article publication which can be self-hosted on a server controlled by the user. Visitors may sign-in with their WordPress accounts to leave comments on others’ articles, however they are typically under the hosting site’s database.</span> <span id='hypothesis'><cite><a rel='cito:discusses' href="https://hypothes.is/">Hypothesis</a></cite> makes it possible for users to leave annotations on different types of documents on the Web using a browser plugin or via a proxy. Annotations may be private or public, and can be threaded to form conversations around a piece of content. Despite allowing the attachment of annotations to resources hosted anywhere, they depend on centralised account creation and storage for the annotations themselves. Hypothesis is open source, with an API that uses Web Annotations data model, and may be self-hosted, but currently it is not possible to federate between different instances.</span> <span id='pundit'><cite><a rel='cito:discusses' href="http://thepund.it/">Pundit</a></cite> is a set of tools that allow web annotation with highlights, comments and semantic annotations. It is similar to Hypothesis in its architecture and deployment, i.e., annotations made through the pundit client require it to be saved on its corresponding annotations server.</span></p> <p id='decentralised-authoring-and-annotation-platforms'><strong>Decentralised authoring and annotation systems</strong>: <span id='libreoffice-online'>Some authoring and publishing systems already go into a decentralised direction. However, they only realize a relatively small subset of the principles outlined in the last section. <cite><a rel='cito:discusses' href="https://github.com/libreoffice/online">LibreOffice Online</a></cite>, for example, allows collaborative editing of office documents (e.g., Writer) from the Web browser. Content can be stored under different CMSs in the cloud. The document’s interface consists of image tiles which are sent from the server and rendered in the browser. However, it hardly provides accessibility, rich interlinking and annotations or separations of concerns.</span> <span id='smallest-federated-wiki'>The <cite><a rel='cito:discusses' href="http://fed.wiki.org/">Smallest Federated Wiki</a></cite> pages to be forked and maintain personal copies.</span> <span id='amaya'><cite><a rel='cito:discusses' href="https://www.w3.org/Amaya/">Amaya</a></cite> is a desktop Web editor application (to create and update documents) as well as a lightweight browser that was (1993) developed by W3C to provide a framework to test its technologies.</span></p> <p>The tools which provide good collaborative editing UIs appear to do so at the expense of data ownership and interoperability; those which promote creation and publication of data in open reusable formats are lacking facilities for linking discourse and conversation to concepts published. Decentralised creations also mean that each author can choose their own semantics (e.g. their own vocabulary to annotate RDF), and then such decentralised documents can link to each other and their schemas can also be mapped to each other, whereas in centralised platforms this is (if they support semantics at all) often prescribed, either technically enforced, or encouraged by social convention.</p> </div> </section> <section resource='#architecture-and-technologies' rel='schema:hasPart' inlist='' id='architecture-and-technologies'> <h2 property='schema:name'>Architecture and technologies</h2> <div typeof='deo:Contribution' resource='#architecture-and-technologies' property='schema:description' datatype='rdf:HTML'> <p>In this section we discuss an architecture to bridge the gaps in existing work for a decentralised authoring and semantic annotation client-side application, which decouples itself from data and specific server requirements.</p> <section resource='#architectural-overview' rel='schema:hasPart' inlist='' id='architectural-overview'> <h3 property='schema:name'>Architectural overview</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Decentralised read-write environments make it possible for different actors (e.g., authors, reviewers) to have their own personal online storages where they can: manage their data; have socially-aware access controls on the data (e.g., who gets to see and update what); send notifications based on their interactions; and permit different applications to operate on the data, including moving the data from one server to another seamlessly.</p> <p>Figure 1 depicts the contrast between typical centralised and decentralised architectures.</p> <figure resource='#figure-centralised-decentralised-architectures' rel='schema:hasPart' id='figure-centralised-decentralised-architectures'> <object height='300' width='900' type='image/svg+xml' data="https://csarven.ca/media/images/articles/centralised-decentralised-architectures.svg" rel='schema:image'></object> <figcaption property='schema:name'>Typical centralised and decentralised architectures</figcaption> </figure> <p>dokieli as a client-side application can be <a href="https://csarven.ca/dokieli-rww/#deployment">deployed</a> on a single-page or through a browser extension, which can consume and interact with Linked Data (or otherwise) anywhere on the Web. We consider an HTML document with CSS and JavaScript as the default UI of a document. Through the separation of the layers, other UIs can work injunction with the same HTML. This approach is independent from specific server-side software, proprietary APIs or the requirement to have an account.</p> <p>On the other hand, if desired and available, users can participate using their own profiles (WebIDs) located anywhere on the Web, and get to store and make their annotations in their own personal storage, as well as assign access controls to documents. Similarly, a decentralised communications protocol, <cite><a rel='cito:citesAsPotentialSolution' href="https://csarven.ca/linked-data-notifications">Linked Data Notifications</a></cite> (LDN) – <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/">W3C Proposed Recommendation</a></cite> – is used get past the limits of centralisation by enabling communication to happen across independent servers and applications. Figure 2 depicts relations between the kinds of entities which underlay dokieli’s architecture, where nodes are under different domains and authority.</p> <figure resource='#figure-dokieli-architecture-relations' rel='schema:hasPart' id='figure-dokieli-architecture-relations'> <img height='362' width='1024' src="https://csarven.ca/media/images/articles/dokieli-architecture-relations.png" rel='schema:image' alt='Entities and relations within dokieli’s architecture'/> <figcaption property='schema:name'>Entities and relations within dokieli’s architecture</figcaption> </figure> <p id='self-replicating'>dokieli can <em>self-replicate</em>, in that the reader of a dokieli document can spawn an instance — either a copy or a brand new empty document — into their own storage space at the click of a button.</p> </div> </section> <section resource='#creating-documents' rel='schema:hasPart' inlist='' id='creating-documents'> <h3 property='schema:name'>Creating documents</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Documents use HTML5 <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/html-polyglot/">Polyglot Markup</a></cite> to ensure that when served as (X)HTML respectively, they can be processed as either HTML or XML, which is useful in XML ecosystems and toolchains. Semantics is embedded directly into human-visible prose using RDFa. The machine-readable data is thus kept in context, reusing the article’s text as literal object values, and avoiding data duplication or data ‘islands’, which can occur when other RDF serialisations are included within HTML <code>&lt;script&gt;</code> elements.</p> <p>The appearance of documents is determined with CSS3. Different stylesheets can be applied to the same HTML structure so that a document can be presented flexibly, in the most appropriate way for a particular circumstance. Stylesheets can be switched from either dokieli’s menu or through Web browser with native controls, for example from a two-column layout required by an academic journal to a design in keeping with the author’s blog.</p> <p>When JavaScript is enabled, dokieli provides a rich editing interface which includes visual and structural formatting of text as well as embedding machine-readable semantics, media, dynamic citations, and inclusion of statistical charts from live endpoints. An external personal data store, or even internet connection, are not needed at this stage as modifications to a document made in the browser this way can be persisted to a local filesystem using the dokieli menu <em>export</em> function (or the browser’s <em>save as</em>), or through brower’s native local storage.</p> </div> </section> <section resource='#consuming-documents' rel='schema:hasPart' inlist='' id='consuming-documents'> <h3 property='schema:name'>Consuming documents</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='http-get'>Documents can be retrieved from Web servers with a single <code>HTTP GET</code> request, by either a browser (for human-readable HTML) or script (machine-readable RDF). Through the use of progressive enhancement, document contents are available in text-only browsers, and further functionality of CSS and JavaScript are layered on according to the user agent’s abilities.</p> <p id='data-reuse'>dokieli’s approach to marking human-visible content in RDFa makes it possible to further decouple itself, the application that produced the data, from the data itself, facilitating potential reuse of the data by other applications. A dokieli document can be parsed into a graph, and users can use any other RDF-aware application with the data that was generated by dokieli. Thereby, dokieli can effectively remove itself as a dependency when it comes to data consumption and reuse.</p> <p id='authentication'>dokieli is able to authenticate users via WebID-TLS if they provide a WebID. This enables further functionality: the user can use dokieli to access protected resources and write to non-public data storage containers if their WebID is authorised to do so. For authenticated users leaving annotations on other documents dokieli fetches their name and display picture from their online profile if available, to display alongside their comment.</p> <p id='vocabularies'>dokieli uses the following vocabularies as standard: <cite><a rel='cito:citesAsAuthority' href="http://schema.org/">schema.org</a></cite> to describe the general-purpose relations about the document as well as profiles, the <cite><a rel='cito:citesAsAuthotiy' href="http://purl.org/spar">SPAR Ontologies</a></cite> for scholarly articles and referencing, <cite><a rel='cito:citesAsDataSource' href="http://www.w3.org/ns/oa">Web Annotations</a></cite> for annotations (with motivations e.g., replying, bookmarking, commenting, assessments), <cite><a rel='cito:citesAsDataSource' href="http://www.w3.org/ns/ldp">LDP</a></cite> for personal storage management, <cite><a rel='cito:citesAsPotentialSolution' href="https://www.w3.org/wiki/WebAccessControl">WAC</a></cite>/<cite><a rel='cito:citesAsDataSource' href="http://www.w3.org/ns/auth/acl">ACL</a></cite> for access control, <cite><a href="http://www.w3.org/ns/ldp#inbox">LDN Inbox</a></cite> and <cite><a rel='cito:citesAsDataSource' href="https://www.w3.org/ns/activitystreams">ActivityStreams</a></cite> for social notifications, <cite><a rel='cito:citesAsDataSource' href="https://creativecommons.org/ns">Creative Commons</a></cite> for rights and licensing, <cite><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/prov">PROV Ontology</a></cite> for provenance (e.g., for derivations with <q>save as</q>), and the <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/vocab-data-cube/">RDF Data Cube vocabulary</a></cite> to consume multi-dimensional data from SPARQL endpoints. Authors can optionally include other vocabularies to mark up specific concepts through dokieli’s UI.</p> </div> </section> <section resource='#publishing-documents' rel='schema:hasPart' inlist='' id='publishing-documents'> <h3 property='schema:name'>Publishing documents</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='write-operations'>Documents can of course be published on ordinary Web servers, as Web pages. The next layer of enhancement is for authors who wish to edit documents on a Web server directly rather than locally; they can make use of dokieli’s write operations. This uses JavaScript, and moves the burden of processing user input from servers (i.e., offering HTML forms and processing of the form submission) to the client where the payload uses the RDF language. Data shape verification is an orthogonal process and can be addressed through servers processing the payload based on the constraints advertised for the resource (e.g., via <code>ldp:constrainedBy</code>). In essence, dokieli behaves as a <q>smart client</q>.</p> <p id='http-put'>dokieli implements the <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldp/">Linked Data Platform</a></cite> (LDP) protocol for creating, updating and deleting documents. As such, personal data stores or servers which implement the server portion of the protocol can be used to store and edit dokieli documents directly. An <code>HTTP PUT</code> request to a URL is used to create a <em>new</em> document, to clone an existing one with <em>save as</em>, to <em>save</em> changes, and so that readers of a document can create their own document in <em>reply</em>. All of these operations are available through the dokieli menu.</p> <aside id='http-patch'> <p><code>HTTP PATCH</code> can be useful towards statement level updates, thereby simpler <em>diffs</em> between versions. dokieli currently does not use <code>HTTP PATCH</code> because servers with <cite><a rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc5261">XML Patch</a></cite> and mediatype <code>application/xml-patch+xml</code> (<cite><a rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc7351">RFC 7351</a></cite>) capability in the Linked Data ecosystem are not well supported. <code>HTTP PATCH</code> with <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-update/">SPARQL Update</a></cite> (using mediatype <code>application/sparql-update</code>) is an important and effective alternative towards statement level updates. XML Patch however may be more appropriate for HTML+RDFa based documents since it would not require servers to have an HTML+RDFa serializer, whereas the SPARQL Update requires the servers preprocess, and then may eventually need to store a particular serialization in the case of flat filesystem writes. This is not a concern when writing to RDF stores.</p> </aside> </div> </section> <section resource='#social-interactions-and-annotations' rel='schema:hasPart' inlist='' id='social-interactions-and-annotations'> <h3 property='schema:name'>Social interactions and annotations</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='http-post'>Interactions with a document with respect to Web Annotations include the following motivations: replying, describing (e.g., footnotes), commenting, assessing (e.g., approvals, disapprovals, and request for specificity used towards peer-reviews), bookmarking, and tagging. They can be about the document as a whole, or of a selection of text. In both cases, the dokieli menu presents an input to the annotator, along with a choice of license which they can assign to their contributions. dokieli then adds semantic markup based on all of the input, and then sends the data off for appropriate storage so it can be retrieved and re-displayed on future document loads. These write operation requests are made with <code>HTTP POST</code>.</p> <p id='http-delete'>Document authors can point to a storage service (using the Web Annotations <code>annotationService</code> property) which lets readers without their own personal storage comment nonetheless. Readers who have a preferred storage location against which they can authenticate are able to direct dokieli to store their input there instead (or in addition). dokieli allows users to remove their annotations, where an <code>HTTP DELETE</code> request is made to the server. In this way, dokieli does not impose a centralised mechanism for social interactions, and allows users to effectively ‘own’ their comments, annotations, and reviews, in their own space.</p> </div> </section> <section resource='#notifications' rel='schema:hasPart' inlist='' id='notifications'> <h3 property='schema:name'>Notifications</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='linked-data-notifications'>When readers interact with a document, the author is notified by means of the <cite><a href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a></cite> (LDN) protocol. A notification, composed of the data from the interaction or annotation, is sent to the <em>inbox</em> advertised by the document or arbitrary parts, thereof. This inbox may be on the same server as the document itself, or may be elsewhere. dokieli subsequently reads this inbox to display interactions and annotations on the document.</p> <p id='control-of-contributions'>Authors of documents who have write-access to its inbox can remove notifications for interactions they find inappropriate, <em>without</em> needing to worry about their inability to access the original source of the interaction. Similarly, if they do not have access to the inbox, they may assign an alternative inbox for the article (or its parts). Conversely, annotators do not lose control or authority over their contributions, even if the object of their interaction wishes to disassociate itself. Each contributor retains their own respective rights over the entities they create on the Web.</p> </div> </section> </div> </section> <section resource='#implementation' rel='schema:hasPart' inlist='' id='implementation'> <h2 property='schema:name'>Implementation</h2> <div typeof='deo:Results' resource='#implementation' property='schema:description' datatype='rdf:HTML'> <p>dokieli is open source: <a href="https://github.com/linkeddata/dokieli">https://github.com/linkeddata/dokieli</a> and available to try at <a href="https://dokie.li/">https://dokie.li/</a> (or at any instance on the Web, see <cite><a href="https://csarven.ca/dokieli-rww/#adoption">Adoption</a></cite>).</p> <section resource='#components' rel='schema:hasPart' inlist='' id='components'> <h3 property='schema:name'>Components</h3> <div property='schema:description' datatype='rdf:HTML'> <p>dokieli’s components include <strong>data</strong> (for structure and semantics), <strong>stylesheets</strong> (for presentation) and <strong>scripts</strong> (for interaction). All data (articles, annotations, notifications) are represented in HTML and RDF with vocabularies expressing the underlying content, resources are <em>self-descriptive</em> to increase their reuse, and contain relations to related external resources to foster <em>follow-your-nose</em> type of exploration.</p> <p>Several stylesheets provide alternative views for consumption (e.g., stylesheets for different media: screens, print, slideshow). dokieli’s JavaScript includes: a library for editing (<cite><a href="https://github.com/yabwe/medium-editor">MediumEditor</a></cite>) in its <em>authoring environment</em>; features to <em>fetch and display statistical data</em> from SPARQL endpoints (<cite><a href="https://csarven.ca/sparqlines-sparql-to-sparkline">Sparqlines</a></cite>); retrieval of profile information, as well as means to <em>sign in</em> with <cite><a href="https://www.w3.org/2005/Incubator/webid/spec/tls/">WebID Authentication over TLS</a></cite>; functionality for write-operations, which includes checking <em>authorisation</em> against access-control level settings on the server with the authenticated user’s WebID and personal certificate; creation and consumption of <cite><a href="https://www.w3.org/TR/annotation-model/">Web Annotations</a></cite> and <cite><a href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a></cite>; and fetching information from remote articles when adding a citation.</p> <p id='scope'>The scope of dokieli includes documents and the interactions around them. The creation and maintenance of user profiles, personal storage spaces, and access control rules are not managed by dokieli; since they are all standard mechanisms, users are expected to be able to accomplish this using other specialised applications.</p> </div> </section> <section resource='#deployment' rel='schema:hasPart' inlist='' id='deployment'> <h3 property='schema:name'>Deployment</h3> <div property='schema:description' datatype='rdf:HTML'> <p>dokieli employs two complementary deployment approaches: <em>single-page application</em> and <em>Web browser extension</em>.</p> <p id='single-page-application'>dokieli’s presentational and behavioural code layers can be included in Web pages in order to trigger them as active single-page applications. It is a smart client that allows different kinds of articles e.g., academic, blog posts, news, to be authored and annotated from within Web browsers, without necessarily having them deployed from a server, i.e., it can be used offline or on localhost. dokieli internally handles its content and well-formed structural and semantic representation based on user’s interactivity. Articles, profiles and their contact information, notifications, annotations with different motivations, for instance, can be read and written ubiquitously to any Web space with supporting HTTP methods and access control mechanisms.</p> <p id='web-browser-extension'>The Web browser extension is a thin wrapper around dokieli’s core code in order to embed itself in any HTML-based Web page on the Web. It inherits all of the features of a single-page application. While HTML based documents on the Web vary in their quality, dokieli’s write operations generate well-formed HTML+RDFa. One of the primary utilities for the extension is to have a consistent interface for annotating (comment, bookmark, like) any text selection on a Web page, as well as sharing parts of pages with ones contacts via notifications, without having a service dependency or being limited by the Web page’s UI.</p> </div> </section> <section resource='#interactions' rel='schema:hasPart' inlist='' id='interactions'> <h3 property='schema:name'>Interactions</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Screencasts for the following use-cases showcase dokieli’s social features where users interact by creating and sharing information, available at https://dokie.li/</p> <!-- <div class="figure-column-2"> --> <figure resource='#figure-dokieli-annotation' rel='schema:hasPart' inlist='' id='figure-dokieli-annotation'> <video width='800' rel='schema:hasPart' preload='none' poster='https://dokie.li/media/images/dokieli-annotation.jpg' inlist='' id='video-dokieli-annotation' controls='controls'> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-annotation.webm" resource='https://dokie.li/media/video/dokieli-annotation.webm' rel='schema:hasPart' about='#video-dokieli-annotation'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-annotation.webm">Video</a> of dokieli Web Annotation</figcaption> </figure> <!-- </div> --> <p id='annotations'><strong>Annotations</strong>: A core feature to facilitate collaboration is the possibility to annotate arbitrary parts of a Web document (e.g., <cite><a href="https://www.w3.org/TR/dpub-annotation-uc/">Digital Publishing Annotation Use Cases</a></cite>). Users can select an entity or a span of text of interest, a context menu is presented to input their annotations along with the choice to select a license for their contribution. If the user is signed-in with their WebID, and provided they have a personal storage space, dokieli discovers this through their online profile and saves the annotations to that location. Once the annotation is submitted by the user, dokieli proceeds with three operations: 1) the annotation is requested to be saved at the user’s personal storage, and if it is access controlled, the user will be prompted to authenticate themselves against that server, before the annotation is saved and is assigned its own URL, 2) if the article or any identifiable statement or segment has its own inbox, dokieli sends a notification to the inbox indicating that an annotation was made and where its retrievable location is, with accompanying metadata like who created it, date, its license etc., 3) the annotation is fetched from its canonical location, and integrated into the article e.g., in marginalia. If the article has a reference to a public annotation service (a writeable space adhering to <cite><a href="https://www.w3.org/TR/annotation-protocol/">Web Annotation Protocol</a></cite>), the user has the option to send a copy of the annotation there as well. In cases where the user does not want to have the canonical copy of the annotation on their server, or if a user does not have write access to a storage, they can still use this option to engage with the article.</p> <figure resource='#figure-dokieli-share' rel='schema:hasPart' inlist='' id='figure-dokieli-share'> <video width='800' rel='schema:hasPart' preload='none' poster='https://dokie.li/media/images/dokieli-share.jpg' id='video-dokieli-share' controls='controls'> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-share.webm" resource='https://dokie.li/media/video/dokieli-share.webm' rel='schema:hasPart' about='#video-dokieli-share'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-share.webm">Video</a> of dokieli Share</figcaption> </figure> <p id='sharing'><strong>Social Sharing</strong>: A key aspect of the Social Web is sharing with others. After (optionally) authenticating with a WebID, dokieli documents can be shared with contacts, which are discovered from the user’s WebID profile. Contacts whose profiles advertise an LDN Inbox will receive a notification of the share. The notification contains Activity Streams 2.0 vocabulary terms, and recipients can use any LDN-compatible application to view the notification, without needing to have ever used dokieli before.</p> <!-- <div class="figure-column-2"> --> <figure resource='#figure-dokieli-citation' rel='schema:hasPart' inlist='' id='figure-dokieli-citation'> <video width='800' rel='schema:hasPart' preload='none' poster='https://dokie.li/media/images/dokieli-citation.jpg' id='video-dokieli-citation' controls='controls' about=''> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-citation.webm" resource='https://dokie.li/media/video/dokieli-citation.webm' rel='schema:hasPart' about='#video-dokieli-citation'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-citation.webm">Video</a> of semantic inline citations</figcaption> </figure> <!-- </div> --> <p id='inline-citations'><strong>Inline Citations</strong>: Rich semantic links can also be established between dokieli documents themselves. The author selects a text fragment and inserts the URL of the document to be linked to as well as a semantic link type (e.g. <q>agrees with</q>, <q>confirms</q>, <q>cites as evidence</q>) from the CiTO and schema.org ontologies. dokieli automatically retrieves metadata (e.g. title, authors) from the linked document and adds a proper scientific endnote reference. If the cited article advertises its won LDN inbox, a notification of the citation is sent as well, thus allowing bi-directional linking.</p> <figure resource='#figure-dokieli-sparqlines' rel='schema:hasPart' id='figure-dokieli-sparqlines'> <video width='800' rel='schema:hasPart' preload='none' poster='https://dokie.li/media/images/GDP-per-capita-growth--annual---.svg' id='video-dokieli-sparqlines' controls='controls' about=''> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-sparqlines.webm" resource='https://dokie.li/media/video/dokieli-sparqlines.webm' rel='schema:hasPart' about='#video-dokieli-sparqlines'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-sparqlines.webm">Video</a> of Sparqlines interaction in dokieli</figcaption> </figure> <p id='statistical-data-and-diagrams'><strong>Statistical Data and Diagrams</strong>: Embedding dynamically generated diagrams and charts is possible: after selecting text, the dokieli context menu offers results of a search across registered SPARQL endpoints for the keywords in the selected text, and presents a list of available data series to visualise. The result is an inline sparkline diagram.</p> </div> </section> <section resource='#adoption' rel='schema:hasPart' inlist='' id='adoption'> <h3 property='schema:name'>Adoption</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='adoption-w3c-use'>The W3C Working Group Note <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-html/">Embedding Web Annotations in HTML</a></cite> includes examples from dokieli’s use of the Web Annotation data <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-model/">Model</a></cite> and <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/">Vocabulary</a></cite> with motivations for example for <q>Lightweight, decentralised Annotation Tools</q>. The W3C <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a></cite> specification uses dokieli’s HTML+RDFa template, and the <a rel='cito:citesAsAuthority' href="https://linkedresearch.org/ldn/">Editor’s Draft</a> showcase dokieli as a consumer of LDN and Web Annotations. The LDN <a rel='cito:citesAsAuthority' href="https://linkedresearch.org/ldn/tests/">test suite</a> also uses dokieli’s templates and stylesheets.</p> <p id='adoption-academic'>The academic workshop <cite><a href="http://semstats.org/">SemStats</a></cite> series use dokieli in its Website templates, including the call for contributions. <cite><a href="http://ceur-ws.org/">CEUR-WS.org</a></cite>, an <q>Online Proceedings for Scientific Conferences and Workshops</q> offers the tooling <cite><a href="https://github.com/ceurws/ceur-make">ceur-make</a></cite> to help organisers generate proceedings using dokieli’s HTML+RDFa template, e.g., <cite><a href="http://ceur-ws.org/Vol-1654/">SemStats 2016</a></cite>. We list a community (of academics) who self-publish their articles and thesis using dokieli with different stylesheets and derived scripts under its <cite><a href="https://github.com/linkeddata/dokieli/wiki#examples-in-the-wild">examples in the wild</a></cite>. The conference series: WWW (e.g., <a href="http://events.linkeddata.org/ldow2017/">LDOW</a> and <a href="http://sociam.org/wow2017/">WOW</a> workshops), <a href="https://iswc2017.semanticweb.org/calls/html-submission-guide/">ISWC</a>, and <a href="http://2017.eswc-conferences.org/call-papers">ESWC</a> propose dokieli as one tooling in which authors can use to make their contributions to the calls with.</p> <p id='adoption-misc'>The <cite><a href="https://linkedresearch.org/">Linked Research</a></cite> website uses dokieli in its templates on the site as well as workshop proposals and call for contributions. <a href="https://csarven.ca/">csarven.ca</a> uses dokieli in full, where some articles (like this article) offer pointers to a public annotation service in which users may wish to use for their annotations. Articles also dynamically embed annotations from personal storage spaces.</p> </div> </section> </div> </section> <section resource='#conclusions' rel='schema:hasPart' inlist='' id='conclusions'> <h2 property='schema:name'>Conclusions</h2> <div typeof='deo:Conclusion' property='schema:description' datatype='rdf:HTML' about='#conclusions'> <p>The Web’s design stands out because of its absence of centralised control, both for technical reasons of scalability and resilience as well as a societal need for freedom of expression. A challenge in such large-scale decentralised networks is how related publications can be semantically interlinked, even if they are authored and published by different parties. Centralising their publications is practiced by the majority of authoring networks today, demanding authors to give up some or all of their control in exchange for technical simplicity.</p> <p>dokieli shows it is possible to build a social machine wherein people interact with each other without the need of centralised coordination. Users can choose storage space for their content independently of the applications with which they edit and view that content. Documents are connected statically through links and dynamically through Linked Data Notifications. This is a proof for the viability of a decentralised authoring and annotation environment built with Web standards.</p> <p>On the other hand, dokieli’s use of standards shows that dokieli itself is only one means to an end: once the document has been created, it lives on as an independent Web citizen. The social machine consists of people and documents, connected by Web standards, with dokieli acting as just one possible catalyst. Different Web applications can incorporate any of dokieli’s functions and implement the principles to varying extents. Since the data is loosely coupled to the application, we avoid the <em>walled garden</em> problem of many current social platforms today.</p> <p>A couple of important socio-technical challenges remain. Resources might want to indicate in a granular way which actions they support or encourage, such as liking, bookmarking, or sharing, and perhaps conditions about which notifications should be sent when any of these events take place. In order to encourage positive behaviour, we might want ways to provide moderation, and solutions to prevent harassment and abuse. Closely related is the issue of identity, pseudonymity and anonymity, and its relation with trust and verification. While there is likely no final solution to these issues in an open ecosystem, it is worthwhile exploring within dokieli or other tools.</p> <p>Future work can examine how additional features can be realised on top of existing Web standards, or where more development is required. Real-time collaborative editing is often realised with centralised communication (even though some peer to peer alternatives exist). Services like top-down annotations or automated entity marking can improve the discoverability of a publication, yet the question of how to offer these without being tied to certain servers needs to be still solved.</p> <p rel='schema:hasPart' id='epilogue' about=''><span typeof='deo:Epilogue' property='schema:description' about='#epilogue'>We invite you to try dokieli yourself right now! Annotate this article or spawn a new or a copy that you can edit yourself.</span></p> </div> </section> <section resource='#acknowledgements' rel='schema:hasPart' prefix='scoro: http://purl.org/spar/scoro/' inlist='' id='acknowledgements'> <h2 property='schema:name'>Acknowledgements</h2> <div typeof='deo:Acknowledgements' property='schema:description' datatype='rdf:HTML' about='#acknowledgements'> <p>Special thanks to our colleagues at <span rel='scoro:funding-recipient' id='funding-recipient' about=''><a typeof='schema:Organization' rel='schema:url' property='schema:name' href="https://mit.edu/" about='http://dbpedia.org/resource/Massachusetts_Institute_of_Technology'>MIT</a></span>/<a href="https://www.w3.org/">W3C</a>; <a href="http://nicola.io/">Nicola Greco</a>, <a href="http://www.computingjoy.com/">Dmitri Zagidulin</a>, <a href="https://deiu.me/profile">Andrei Sambra</a>, <a href="https://www.w3.org/People/Sandro/">Sandro Hawke</a>, <a href="https://www.w3.org/People/functions/admin#amy">Amy van der Hiel</a> as well as <a href="http://bblfish.net/">Henry Story</a> and <a href="https://melvincarvalho.com/#me">Melvin Carvalho</a> for their contributions. We are also thankful to collaborate with colleagues at <a href="http://qcri.org.qa/">QCRI</a>. This research was supported in part by <span rel='scoro:funder' id='funder' about=''><a typeof='schema:Organization' rel='schema:url' property='schema:name' href="http://qcri.org.qa/" about='http://dbpedia.org/Qatar_Computing_Research_Institute'>Qatar Computing Research Institute</a></span>, <a href="https://www.hbku.edu.qa/">HBKU</a> through the <a href="http://crosscloud.org/">Crosscloud</a> project from 2015-10 to 2016-09. <a href="http://kingsley.idehen.net/">Kingsley Idehen</a> and <a href="https://www.openlinksw.com/">OpenLink Software</a> for their support and contributions to the browser extension. Last but not least, the contributors to the dokieli code, issues, and discussion.</p> </div> </section> <section id='references'> <h2>References</h2> <div> <ol> <li>Otto, B., Auer, S., et al: <cite>Industrial Data Space</cite>, Technical Report, 2016, <a rel='schema:citation' href="https://www.researchgate.net/publication/299536747_Industrial_Data_Space_Digital_Souvereignity_Over_Data">https://www.researchgate.net/publication/299536747_Industrial_Data_Space_Digital_Souvereignity_Over_Data</a></li> <li>Berners-Lee, T.: <cite>Socially-aware Cloud Storage</cite>, 2009, <a rel='schema:citation' href="https://www.w3.org/DesignIssues/CloudStorage.html">https://www.w3.org/DesignIssues/CloudStorage.html</a></li> <li>Champeon, S.: <cite>Progressive Enhancement and the Future of Web Design</cite>, Webmonkey, 2003, <a rel='schema:citation' href="http://hesketh.com/publications/progressive_enhancement_and_the_future_of_web_design.html">http://hesketh.com/publications/progressive_enhancement_and_the_future_of_web_design.html</a></li> <li>Koivunen, M-R., Eric Miller, E.: <cite>W3C Semantic Web Activity</cite>, 2001, <a rel='schema:citation' href="https://www.w3.org/2001/12/semweb-fin/w3csw">https://www.w3.org/2001/12/semweb-fin/w3csw</a></li> <li>Golbeck, J.: <cite>Weaving a Web of Trust</cite>, Science Magazine, Vol. 321, 2008, <a rel='schema:citation' href="https://pdfs.semanticscholar.org/5e37/daf945094ea9c9df127e06b05282e03e39bd.pdf">https://pdfs.semanticscholar.org/5e37/daf945094ea9c9df127e06b05282e03e39bd.pdf</a></li> <li>Richardson, M., Agrawal, R., Domingos, P.: <cite>Trust Management for the Semantic Web</cite>, ISWC 2003, <a rel='schema:citation' href="https://link.springer.com/content/pdf/10.1007%2F978-3-540-39718-2_23.pdf">https://link.springer.com/content/pdf/10.1007%2F978-3-540-39718-2_23.pdf</a></li> <li>Jennifer Golbeck, J.: Parsia, B., Hendler, J.: <cite>Trust Networks on the Semantic Web</cite>, Volume 2782 of the book series LNCS, 2003, <a rel='schema:citation' href="http://sir-lab.usc.edu/cs586/20151readings/w13-1.pdf">http://sir-lab.usc.edu/cs586/20151readings/w13-1.pdf</a></li> <li>Khalili, A., Auer, S.: <cite>User interfaces for semantic authoring of textual content: A systematic literature review</cite>, Web Semantics, Volume 22, pages 1–18 (2013), <a rel='schema:citation' href="http://svn.aksw.org/papers/2011/JWS_SemanticContentAuthoring/public.pdf">http://svn.aksw.org/papers/2011/JWS_SemanticContentAuthoring/public.pdf</a></li> <li>Capadisli, S., Guy, A., Lange, C., Auer, S., Deiu, A., Berners-Lee, T.: <cite>Linked Data Notifications: a resource-centric communication protocol</cite>, ESWC Linked Data, 2017, <a rel='schema:citation' href="https://csarven.ca/linked-data-notifications">https://csarven.ca/linked-data-notifications</a></li> <li>Capadisli, S., Guy, A.: <cite>Linked Data Notifications</cite>, W3C Proposed Recommendation, 2017, <a rel='schema:citation' href="https://www.w3.org/TR/ldn/">https://www.w3.org/TR/ldn/</a></li> <li>Graff, E., Silli, L.: <cite>Polyglot Markup: A robust profile of the HTML5 vocabulary</cite>, W3C Working Group Note, 2015, <a rel='schema:citation' href="https://www.w3.org/TR/html-polyglot/">https://www.w3.org/TR/html-polyglot/</a></li> <li>Capadisli, S.: <cite>Sparqlines: SPARQL to Sparkline</cite>, ISWC SemStats, 2016, <a rel='schema:citation' href="https://csarven.ca/sparqlines-sparql-to-sparkline">https://csarven.ca/sparqlines-sparql-to-sparkline</a></li> <li>Story, H., Corlosquet, S., Sambra, A.: <cite>WebID Authentication over TLS</cite>, W3C Editor’s Draft, 2014, <a rel='schema:citation' href="https://www.w3.org/2005/Incubator/webid/spec/tls/">https://www.w3.org/2005/Incubator/webid/spec/tls/</a></li> <li>Sanderson, R., Ciccarese, P., Young, B.: <cite>Web Annotation Data Model</cite>, W3C Recommendation, 2017, <a rel='schema:citation' href="https://www.w3.org/TR/annotation-model/">https://www.w3.org/TR/annotation-model/</a></li> <li>Sanderson, R.: <cite>Digital Publishing Annotation Use Cases</cite>, W3C Interest Group Note, 2014 <a rel='schema:citation' href="https://www.w3.org/TR/dpub-annotation-uc/">https://www.w3.org/TR/dpub-annotation-uc/</a></li> <li>Sanderson, R.: <cite>Web Annotation Protocol</cite>, W3C Recommendation, 2017, <a rel='schema:citation' href="https://www.w3.org/TR/annotation-protocol/">https://www.w3.org/TR/annotation-protocol/</a></li> <li>Cole, T., Capadisli, S., Young, B., Herman, I.: <cite>Embedding Web Annotations in HTML</cite>, W3C Working Group Note, 2017, <a rel='schema:citation' href="https://www.w3.org/TR/annotation-html/">https://www.w3.org/TR/annotation-html/</a></li> <li>Sanderson, R., Ciccarese, P., Young, B.: <cite>Web Annotation Vocabulary</cite>, W3C Recommendation, 2017, <a rel='schema:citation' href="https://www.w3.org/TR/annotation-vocab/">https://www.w3.org/TR/annotation-vocab/</a></li> </ol> </div> </section> https://csarven.ca/sparqlines-sparql-to-sparkline Sparqlines: SPARQL to Sparkline 2016-06-14T00:00:00Z 2016-11-23T00:00:00Z https://csarven.ca/#i Sarven Capadisli info@csarven.ca <section id='abstract'> <h2>Abstract</h2> <div property='schema:abstract' datatype='rdf:HTML'> <p>This article presents <em>sparqlines</em>: statistical observations fetched from SPARQL endpoints and displayed as inline-charts. An inline-chart, also known as a <a href="https://en.wikipedia.org/wiki/Sparkline"><em>sparkline</em></a>, is concise, and located where it is discussed in the text, complementing the supporting text without breaking the reader’s flow. For example, the <span resource='#figure-GDP-per-capita-growth--annual---' rel='schema:hasPart'> <a typeof='qb:DataSet' resource='http://worldbank.270a.info/dataset/NY.GDP.PCAP.KD.ZG' rel='prov:wasDerivedFrom' property='schema:name' href="http://worldbank.270a.info/dataset/NY.GDP.PCAP.KD.ZG">GDP per capita growth (annual %)</a> [Canada] <span resource='#GDP-per-capita-growth--annual---' rel='schema:image' class='sparkline'> <svg xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:ev='http://www.w3.org/2001/xml-events' xmlns='http://www.w3.org/2000/svg' width='100%' version='1.1' prefix='rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# xsd: http://www.w3.org/2001/XMLSchema# qb: http://purl.org/linked-data/cube# prov: http://www.w3.org/ns/prov# schema: https://schema.org/' height='100%'> <style type='text/css'>/**/line { stroke:#000; stroke-width:1px; } circle { stroke:#f00; fill:#f00; }/**/</style> <g resource='http://worldbank.270a.info/dataset/NY.GDP.PCAP.KD.ZG' rel='prov:wasDerivedFrom'> <metadata resource='https://creativecommons.org/publicdomain/zero/1.0/' rel='schema:license'></metadata> <title property='schema:name'>GDP per capita growth (annual %)</title> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1961" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1961' rel='rdfs:seeAlso'><line y2='43.16454574172421%' y1='43.16454574172421%' x2='0.9615384615384616%' x1='0.9615384615384616%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1962" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1962' rel='rdfs:seeAlso'><line y2='0.2602253013133691%' y1='43.16454574172421%' x2='2.8461538461538463%' x1='0.9615384615384616%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1963" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1963' rel='rdfs:seeAlso'><line y2='20.546079976437966%' y1='0.2602253013133691%' x2='4.730769230769231%' x1='2.8461538461538463%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1964" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1964' rel='rdfs:seeAlso'><line y2='4.9166537468372695%' y1='20.546079976437966%' x2='6.615384615384616%' x1='4.730769230769231%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1965" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1965' rel='rdfs:seeAlso'><line y2='4.731637579170197%' y1='4.9166537468372695%' x2='8.5%' x1='6.615384615384616%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1966" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1966' rel='rdfs:seeAlso'><line y2='5.859252100219621%' y1='4.731637579170197%' x2='10.384615384615385%' x1='8.5%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1967" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1967' rel='rdfs:seeAlso'><line y2='43.58392297111188%' y1='5.859252100219621%' x2='12.26923076923077%' x1='10.384615384615385%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1968" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1968' rel='rdfs:seeAlso'><line y2='16.605031338302297%' y1='43.58392297111188%' x2='14.153846153846153%' x1='12.26923076923077%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1969" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1969' rel='rdfs:seeAlso'><line y2='14.17112377526918%' y1='16.605031338302297%' x2='16.03846153846154%' x1='14.153846153846153%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1970" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1970' rel='rdfs:seeAlso'><line y2='42.73729961025032%' y1='14.17112377526918%' x2='17.92307692307692%' x1='16.03846153846154%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1971" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1971' rel='rdfs:seeAlso'><line y2='27.685195209211884%' y1='42.73729961025032%' x2='19.807692307692307%' x1='17.92307692307692%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1972" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1972' rel='rdfs:seeAlso'><line y2='14.826164877967003%' y1='27.685195209211884%' x2='21.69230769230769%' x1='19.807692307692307%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1973" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1973' rel='rdfs:seeAlso'><line y2='1.4210854715202004e-14%' y1='14.826164877967003%' x2='23.576923076923077%' x1='21.69230769230769%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1974" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1974' rel='rdfs:seeAlso'><line y2='35.39007629908832%' y1='1.4210854715202004e-14%' x2='25.46153846153846%' x1='23.576923076923077%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1975" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1975' rel='rdfs:seeAlso'><line y2='56.008189983767984%' y1='35.39007629908832%' x2='27.346153846153843%' x1='25.46153846153846%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1976" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1976' rel='rdfs:seeAlso'><line y2='14.398016142296555%' y1='56.008189983767984%' x2='29.230769230769226%' x1='27.346153846153843%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1977" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1977' rel='rdfs:seeAlso'><line y2='31.113117376011147%' y1='14.398016142296555%' x2='31.115384615384617%' x1='29.230769230769226%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1978" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1978' rel='rdfs:seeAlso'><line y2='24.010867612061844%' y1='31.113117376011147%' x2='33%' x1='31.115384615384617%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1979" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1979' rel='rdfs:seeAlso'><line y2='25.516209087392284%' y1='24.010867612061844%' x2='34.88461538461538%' x1='33%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1980" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1980' rel='rdfs:seeAlso'><line y2='46.03805171008273%' y1='25.516209087392284%' x2='36.76923076923077%' x1='34.88461538461538%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1981" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1981' rel='rdfs:seeAlso'><line y2='31.353777706294892%' y1='46.03805171008273%' x2='38.65384615384615%' x1='36.76923076923077%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1982" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1982' rel='rdfs:seeAlso'><line y2='98%' y1='31.353777706294892%' x2='40.53846153846154%' x1='38.65384615384615%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1983" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1983' rel='rdfs:seeAlso'><line y2='37.049138412484396%' y1='98%' x2='42.42307692307692%' x1='40.53846153846154%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1984" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1984' rel='rdfs:seeAlso'><line y2='3.8990386857101242%' y1='37.049138412484396%' x2='44.30769230769231%' x1='42.42307692307692%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1985" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1985' rel='rdfs:seeAlso'><line y2='14.466152419708749%' y1='3.8990386857101242%' x2='46.19230769230769%' x1='44.30769230769231%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1986" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1986' rel='rdfs:seeAlso'><line y2='40.20714194723098%' y1='14.466152419708749%' x2='48.07692307692307%' x1='46.19230769230769%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1987" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1987' rel='rdfs:seeAlso'><line y2='24.23504082493062%' y1='40.20714194723098%' x2='49.96153846153846%' x1='48.07692307692307%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1988" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1988' rel='rdfs:seeAlso'><line y2='16.4155854058384%' y1='24.23504082493062%' x2='51.84615384615385%' x1='49.96153846153846%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1989" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1989' rel='rdfs:seeAlso'><line y2='46.513539215559256%' y1='16.4155854058384%' x2='53.730769230769226%' x1='51.84615384615385%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1990" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1990' rel='rdfs:seeAlso'><line y2='68.88140254723645%' y1='46.513539215559256%' x2='55.61538461538461%' x1='53.730769230769226%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1991" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1991' rel='rdfs:seeAlso'><line y2='91.51801871119973%' y1='68.88140254723645%' x2='57.49999999999999%' x1='55.61538461538461%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1992" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1992' rel='rdfs:seeAlso'><line y2='58.89063066569448%' y1='91.51801871119973%' x2='59.38461538461538%' x1='57.49999999999999%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1993" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1993' rel='rdfs:seeAlso'><line y2='42.041295592538034%' y1='58.89063066569448%' x2='61.269230769230774%' x1='59.38461538461538%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1994" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1994' rel='rdfs:seeAlso'><line y2='14.563197311382893%' y1='42.041295592538034%' x2='63.153846153846146%' x1='61.269230769230774%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1995" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1995' rel='rdfs:seeAlso'><line y2='34.19521785880608%' y1='14.563197311382893%' x2='65.03846153846155%' x1='63.153846153846146%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1996" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1996' rel='rdfs:seeAlso'><line y2='49.44858112486089%' y1='34.19521785880608%' x2='66.92307692307693%' x1='65.03846153846155%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1997" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1997' rel='rdfs:seeAlso'><line y2='21.72442052861726%' y1='49.44858112486089%' x2='68.8076923076923%' x1='66.92307692307693%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1998" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1998' rel='rdfs:seeAlso'><line y2='20.975803658149985%' y1='21.72442052861726%' x2='70.6923076923077%' x1='68.8076923076923%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1999" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1999' rel='rdfs:seeAlso'><line y2='5.386196833413024%' y1='20.975803658149985%' x2='72.57692307692308%' x1='70.6923076923077%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2000" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2000' rel='rdfs:seeAlso'><line y2='9.161609941779957%' y1='5.386196833413024%' x2='74.46153846153847%' x1='72.57692307692308%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2001" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2001' rel='rdfs:seeAlso'><line y2='46.98143019467036%' y1='9.161609941779957%' x2='76.34615384615385%' x1='74.46153846153847%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2002" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2002' rel='rdfs:seeAlso'><line y2='33.71789219866544%' y1='46.98143019467036%' x2='78.23076923076924%' x1='76.34615384615385%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2003" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2003' rel='rdfs:seeAlso'><line y2='45.81166841275399%' y1='33.71789219866544%' x2='80.11538461538463%' x1='78.23076923076924%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2004" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2004' rel='rdfs:seeAlso'><line y2='32.79500363273925%' y1='45.81166841275399%' x2='82%' x1='80.11538461538463%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2005" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2005' rel='rdfs:seeAlso'><line y2='33.68496358846721%' y1='32.79500363273925%' x2='83.88461538461539%' x1='82%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2006" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2006' rel='rdfs:seeAlso'><line y2='33.70021419695024%' y1='33.68496358846721%' x2='85.76923076923077%' x1='83.88461538461539%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2007" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2007' rel='rdfs:seeAlso'><line y2='42.15969197718631%' y1='33.70021419695024%' x2='87.65384615384616%' x1='85.76923076923077%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2008" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2008' rel='rdfs:seeAlso'><line y2='59.31341793784153%' y1='42.15969197718631%' x2='89.53846153846155%' x1='87.65384615384616%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2009" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2009' rel='rdfs:seeAlso'><line y2='96.43770278569066%' y1='59.31341793784153%' x2='91.42307692307693%' x1='89.53846153846155%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2010" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2010' rel='rdfs:seeAlso'><line y2='33.011290571731266%' y1='96.43770278569066%' x2='93.3076923076923%' x1='91.42307692307693%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2011" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2011' rel='rdfs:seeAlso'><line y2='38.88670062678091%' y1='33.011290571731266%' x2='95.1923076923077%' x1='93.3076923076923%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2012" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2012' rel='rdfs:seeAlso'><line y2='49.719411631415205%' y1='38.88670062678091%' x2='97.07692307692308%' x1='95.1923076923077%'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2012" target='_blank'><circle r='1' cy='49.719411631415205%' cx='97.07692307692308%'/></a> </g> </svg> </span> </span> claimed by the <a href="http://worldbank.270a.info/">World Bank Linked Dataspace</a>. We demonstrate an implementation which allows scientists or authors to easily enhance their work with sparklines generated from their own or public statistical linked datasets. This article includes an active demonstration accessible at <a href="https://csarven.ca/sparqlines-sparql-to-sparkline">https://csarven.ca/sparqlines-sparql-to-sparkline</a>.</p> </div> </section> <section id='keywords'> <h2>Keywords</h2> <div> <ul rel='schema:about'> <li><a resource='http://dbpedia.org/resource/Linked_Data' href="https://en.wikipedia.org/wiki/Linked_Data">Linked Data</a></li> <li><a resource='http://dbpedia.org/resource/Semantic_publishing' href="https://en.wikipedia.org/wiki/Semantic_publishing">Semantic publishing</a></li> <li><a resource='http://dbpedia.org/resource/Sparkline' href="https://en.wikipedia.org/wiki/Sparkline">Sparkline</a></li> <li><a resource='http://dbpedia.org/resource/SPARQL' href="https://en.wikipedia.org/wiki/SPARQL">SPARQL</a></li> <li><a resource='http://dbpedia.org/resource/Statistics' href="https://en.wikipedia.org/wiki/Statistics">Statistics</a></li> <li><a resource='http://dbpedia.org/resource/User_interface' href="https://en.wikipedia.org/wiki/User_interface">User interface</a></li> </ul> </div> </section> <section resource='#introduction' rel='schema:hasPart' inlist='' id='introduction'> <h2 property='schema:name'>Introduction</h2> <div property='schema:description' datatype='rdf:HTML'> <p>In this article we introduce <em>sparqlines</em>, an integration of statistical data retrieval using SPARQL with displaying observations in the form of word-size graphics: sparklines. We describe an implementation which is part of a Web based authoring tool (<a href="https://dokie.li/">dokieli</a>). We cover how the data is modelled and exposed in order to be suitable for embedding; demonstrate how to embed data as both static and dynamic sparklines and discuss the technical requirements of each; and walk through the user interactions to do so.</p> <p>Our contribution is the generation of a well-established visual aid to reading statistical data (the sparkline) directly from the dataset itself, at the time of authoring the supporting text as part of the writing workflow. This enables authors who are already publishing data to use it directly, as well as encouraging them to make their data available for others to use, and offers an easy way to present the reader with a way to better understand the information.</p> <p>We conclude with a discussion, including design considerations. The code of our implementation is open source, and we invite you to try it out and make requests for more advanced features: <a href="https://github.com/linkeddata/dokieli">https://github.com/linkeddata/dokieli</a>.</p> </div> </section> <section resource='#related-work' rel='schema:hasPart' inlist='' id='related-work'> <h2 property='schema:name'>Related Work</h2> <div typeof='deo:RelatedWork' resource='#related-work' property='schema:description' datatype='rdf:HTML'> <section resource='#sparklines' rel='schema:hasPart' inlist='' id='sparklines'> <h3 property='schema:name'>Sparklines</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='sparkline-description'>The earliest known implementation of an inline-chart was designed and programmed by <a href="http://pete.zelchenko.com/">Peter Zelchenko</a> and Mike Medved to represent historical charts efficiently in the <a href="http://pete.zelchenko.com/portfolio/screen/2gk.htm">QuoteTracker</a> software in early 1999 [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-1">1</a>]. They are <q>datawords</q>, carrying dense information with the resolution of typography, particularly useful in places where the available screen real estate is minimal. <a href="http://www.edwardtufte.com/">Edward Tufte</a> describes sparkline as <q cite='http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001OR&amp;topic_id=1'><a href="http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001OR&amp;topic_id=1">small intense, simple, word-sized graphic with typographic resolution</a></q> [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-2">2</a>]. They are designed to be included anywhere, for example embedded in a sentence, table or even a map, within the relevant context. When embedded in a sentence, they support the text, allowing continuous reading <embed type='image/svg+xml' src="https://csarven.ca/sparqlines-sparql-to-sparkline/media/images/articles/GDP-per-capita-growth--annual---.svg" class='sparkline'/> without the need to refer to a figure disjoint from the original context, whilst still providing an opportunity for the reader to investigate further by clicking on the data line to access each point of source, per <a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#figure-static-sparkline">Figure 1</a>.</p> <p id='sparkline-graphics'>Sparkline graphics typically have a variable long dimension and a constrained short dimension. In the case of a typographic line, the constraint can be fixed to the height of the font-size of the encapsulating component. For example, the computed CSS <code>height</code> value of the <code>embed</code> HTML element that contains the sparkline on the current viewing device is <samp class='height'>20px</samp>, and so the embedded sparkline in this paragraph will have a vertical aspect ratio as such.</p> <script>document.addEventListener('DOMContentLoaded', function(){var s = document.querySelector('#sparkline-description .sparkline'); document.querySelector('#sparkline-graphics .height').innerHTML = s.ownerDocument.defaultView.getComputedStyle(s, null)["height"];});</script> <figure resource='#figure-static-sparkline' rel='schema:hasPart' id='figure-static-sparkline'> <object width='640' type='image/svg+xml' rel='schema:image' height='60' data="https://csarven.ca/sparqlines-sparql-to-sparkline/media/images/articles/GDP-per-capita-growth--annual---.svg"></object> <figcaption property='schema:name'>A typical static figure in an article disjoint from the original context</figcaption> </figure> <style>/**/ #figure-static-sparkline object { height:60px !important; min-height:60px !important; } /**/</style> <p>Sparklines appear in many places where small datafeeds are useful; programmatical insertion in text-editors and spreadsheets, fitness feeds from wearable watches, social media analytics, streaming real-time quotes, electroencephalograms, system dashboards and trays, temperature and stock activity, to name a few. Studies show that novice and experienced investors using stock reports with Sparklines will experience reduced cognitive load [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-3">3</a>].</p> <p>Sparklines in line, bar, column or win/loss graphs can be programatically included in <cite>Google Drive</cite> documents by including data from an embedded table or sequence of numbers via the Google Charts API [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/ref-4">4</a>].</p> <p>The <cite><a href="https://archive.org/web/">Wayback Machine</a></cite> uses sparklines to show an application of the snapshots of a URL through time: <img src="https://web.archive.org/web/jsp/graph.jsp?nomonth=1&amp;graphdata=1029_75_1996:-1:000000000000_2004:-1:010000000430_2005:-1:122430033004_2006:-1:193656640155_2007:-1:634212110911_2008:-1:111111164102_2009:-1:111100000000_2010:-1:101111112322_2011:-1:122221241511_2012:-1:232130203201_2013:-1:5015212111cf_2014:-1:e20112312222_2015:-1:135221123011_2016:3:225300000000" style='display:block; margin:1em 0;'/></p> <p>There are sparkline implementations in JavaScript libraries like d3.js and jQuery. Sparkline implementations also exist for command-line interfaces. These tools tend to take input data in tabular form (CSV). Sparklines can also be created by simple use of <a href="https://rosettacode.org/wiki/Sparkline_in_unicode">Unicode characters</a>: <code>▂▁▄▃▆▅█▇</code>.</p> </div> </section> <section resource='#rdf-data-cube-and-sparql' rel='schema:hasPart' inlist='' id='rdf-data-cube-and-sparql'> <h3 property='schema:name'>RDF Data Cube and SPARQL</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Statistical data that is modelled with the RDF Data Cube vocabulary [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-5">5</a>] makes it possible to discover and identify artefacts in a uniform way. This is in contrast to writing applications to consume data from endpoints with heterogeneous data models. For front-end Web applications, data can be fetched, explored, and filtered from <a href="https://csarven.ca/statistical-linked-dataspaces">statistical linked dataspaces</a> with SPARQL endpoints, e.g., <a href="http://270a.info/">http://270a.info/</a>. Using this method of access from within various types of articles on the Web, makes it possible to build applications which put more focus on user-interfaces rather than handling different data models case by case, or burdensome data integration tasks. Furthermore, having easy access to highly structured multidimensional data - essentially through an <code>HTTP GET</code> request - makes it desirable to create static and real-time visualisations.</p> <p><a href="https://github.com/mgskjaeveland/sgvizler">Sgvizler</a> is a SPARQL result set visualisation JavaScript library that uses Google Charts API to create sparkline images [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-6">6</a>]. These are block-level raster images.</p> <p>Investigation of analysis and visualisation of piracy reports have been conducted through endpoint querying with a <a href="http://cran.r-project.org/web/packages/SPARQL/index.html">SPARQL client for R</a> [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-7">7</a>].</p> <p><a href="http://aksw.org/Projects/CubeViz">CubeViz</a> was developed to visualise multidimensional statistical data. It is a faceted browser, which uses the RDF Data Cube vocabulary, with a chart visualisation component [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-8">8</a>].</p> <p><a href="https://csarven.ca/linked-statistical-data-analysis">Linked Statistical Data Analysis</a> [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-9">9</a>], presents a way to reuse data through federated SPARQL queries, and generation of statistical analyses and scatter plots. The <a href="http://stats.270a.info/">stats.270a.info</a> service stores computed analysis, and makes it possible for future discovery.</p> </div> </section> </div> </section> <section resource='#data-provision' rel='schema:hasPart' inlist='' id='data-provision'> <h2 property='schema:name'>Data Provision</h2> <div property='schema:description' datatype='rdf:HTML'> <p>In order to use sparqlines, data has to be both well-formed and available over a SPARQL endpoint. Here we briefly discuss both of these requirements.</p> <p>The RDF Data Cube vocabulary is used to describe multidimensional statistical data. It makes it possible to represent significant amounts of heterogeneous statistical data as Linked Data which can be discovered and identified in a uniform way. To qualify for consumption as a sparqline, the data must conform with some of the integrity constraints of the RDF Data Cube model, e.g., IC-1 (Unique DataSet), IC-11 (All dimensions required), IC-12 (No duplicate observations), IC-14 (All measures present).</p> <p>Additional enrichments on the data cubes can improve their discovery and reuse. Examples include but not limited to; providing human-readable <em>labels</em> for the datasets (with language tags), <em>classifications</em>, and <em>data structure definition</em>, as well as <em>provenance</em> level data like license, last updated.</p> <p>In order to allow user interfaces which can use a group of observations in a dataset, <em>slices</em> should be made available in the data. This enables consuming applications to dissect datasets (through SPARQL queries) for arbitrary subsets of observations. For example, while it is possible to construct a general query to get all of the observations in a dataset which have a particular dimension, it may be preferable to only query for such subsets provided that their structures can be identified and externally referenced. In the case of sparklines, one common use case for slices is to present data in time-series.</p> <p>SPARQL queries are used to filter for graph patterns in the RDF Data Cube datasets. Depending on the user interface application, there may be multiple queries made to the SPARQL endpoints in order to filter the data based on user input. For example, an initial query may be a cursory inspection to discover suitable datasets with given parameters, e.g., what the dataset is about, the type of dimensions and their values, and subsequent queries may be to retrieve the matching datasets or slices with observations and their measure values.</p> </div> </section> <section resource='#static-and-dynamic-sparqlines' rel='schema:hasPart' inlist='' id='static-and-dynamic-sparqlines'> <h2 property='schema:name'>Static and Dynamic Sparqlines</h2> <div property='schema:description' datatype='rdf:HTML'> <p>The data behind a sparqline can be static: a fixed historical set to which no new points are added; or dynamic: subject to change as new data is gathered. Both of these cases are accommodated by our implementation.</p> <table> <caption>Static and Dynamic Sparklines</caption> <thead> <tr><th></th><th>Use</th><th>Methods</th><th>Example</th></tr> </thead> <tbody> <tr> <th>Static</th> <td>Historical data or a fixed snapshot</td> <td> <ul> <li>Pre-rendered SVG</li> <li>Embedded directly from datastore</li> </ul> </td> <td><embed width='640' type='image/svg+xml' rel='schema:image' height='240' src="https://csarven.ca/sparqlines-sparql-to-sparkline/media/images/articles/GDP-per-capita-growth--annual---.svg" class='sparkline'/></td> </tr> <tr> <th>Dynamic</th> <td>Data which may be subject to updates</td> <td> <ul> <li>Re-fetches data on page load or polls in real-time</li> <li>Embed source as API endpoint which returns the sparkline</li> </ul> </td> <td><embed type='image/svg+xml' src="http://stats.270a.info/sparkline.svg?void:sparqlEndpoint=http%3A%2F%2Fworldbank.270a.info%2Fsparql&amp;qb:DataSet=http%3A%2F%2Fworldbank.270a.info%2Fdataset%2FNY.GDP.MKTP.CD&amp;refArea=CA" class='sparkline'/> (reload article in browser)</td> </tr> </tbody> </table> </div> </section> <section resource='#embedding-sparqlines' rel='schema:hasPart' inlist='' id='embedding-sparqlines'> <h2 property='schema:name'>Embedding Sparqlines</h2> <div property='schema:description' datatype='rdf:HTML'> <p>Our implementation allows authors to select text they have written which describes the data they want to visualise; it searches available datasets for those relevant to the text, and lets the user choose the most appropriate if there’s more than one. The sparqline is inserted along with a reference to the source.</p> <p>A specific example workflow is demonstrated when this article is viewed in a Web browser (at its canonical URL: https://csarven.ca/sparqlines-sparql-to-sparkline). Enable the <button title='Enable editor' class='editor-enable'><i class='fa fa-i-cursor'></i>Edit</button> mode from the <button>☰</button> menu and highlight the text <samp id='interactive-annotation-example'>GDP of Canada</samp>. What occurs is as follows:</p> <ol typeof='opmw:WorkflowTemplate deo:Model' resource='#embedding-sparqlines-workflow' property='schema:hasPart'> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-text-entry' id='interactive-annotation-text-entry'>User enters text in a sentence e.g., <samp>GDP of Canada</samp>.</li> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-text-selection' id='interactive-annotation-text-selection'>User selects text <samp>GDP of Canada</samp> with their mouse or keyboard.</li> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-toolbar-selection' id='interactive-annotation-toolbar-selection'>The user select the <q>sparkline</q> option from presented authoring toolbar.</li> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-tokenise-text' id='interactive-annotation-tokenise-text'>The input text is split into two: 1) <samp>GDP</samp> and 2) <samp>Canada</samp> segments, whereby the first term is the concept, and the second is a reference area. Reference areas are disambiguated against an internal dictionary.</li> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-sparql-query-for-input' id='interactive-annotation-sparql-query-for-input'>System constructs a SPARQL query URL and sends it to the World Bank Linked Dataspace endpoint, looking for a graph pattern where the datasets of labels have <q>GDP</q> in them in which there is at least one observation for the reference area <q>Canada</q>.</li> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-dataset-selection' id='interactive-annotation-dataset-selection'>User is given a list of datasets to select from which match the above criteria, and the user selects desired dataset.</li> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-sparql-query-observations' id='interactive-annotation-sparql-query-observations'>System sends a SPARQL query to get the observations of the selected dataset for Canada.</li> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-create-sparkline' id='interactive-annotation-create-sparkline'>A sparkline is created and displayed for the user, also indicating the number of observations it has.</li> <li property='rdfs:label' resource='#embedding-sparqlines-workflow' rel='opmw:isStepOfTemplate' typeof='opmw:WorkflowTemplateProcess' about='#embedding-sparqlines-embed-sparkline' id='interactive-annotation-embed-sparkline'>If the user is happy with this visualisation they include it in the text. A hyperlink to the dataset, and a sparkline SVG is inserted back into the sentence replacing <samp>GDP of Canada</samp> with <samp>GDP per capita growth (annual %)</samp>.</li> </ol> <p>Figure [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#figure-dokieli-sparkline">2</a>] is a video screencast of this interaction.</p> <figure resource='#figure-dokieli-sparqlines' rel='schema:hasPart' id='figure-dokieli-sparqlines'> <video width='800' rel='schema:hasPart' preload='none' poster='https://dokie.li/media/images/GDP-per-capita-growth--annual---.svg' id='video-dokieli-sparqlines' height='400' controls='controls'> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-sparqlines.webm" resource='https://dokie.li/media/video/dokieli-sparqlines.webm' rel='schema:hasPart' about='#video-dokieli-sparqlines'/> </video> <figcaption property='schema:name'>Video of Sparqlines interaction in dokieli</figcaption> </figure> <style type='text/css'>/**/ #embedding-sparqlines button { font-family:sans-serif; font-size:initial; font-weight:normal; line-height:1; background-color:inherit; border:0 none; margin:0; padding:0; } #embedding-sparqlines .editor-enable i, #embedding-sparqlines .editor-disable i { margin-right:0.25em; } #embedding-sparqlines .editor-disable { background-color:#eee; } /**/</style> </div> </section> <section resource='#semantic-publishing' rel='schema:hasPart' inlist='' id='semantic-publishing'> <h2 property='schema:name'>Semantic Publishing</h2> <div property='schema:description' datatype='rdf:HTML'> <p>Our implementation in dokieli automatically includes semantic annotations within the embedded sparqlines. The sparqline resource has its own URI that can be used for global referencing. The RDF statements are represented using the HTML+RDFa syntax, and they preserve the following information:</p> <ul> <li>The part of the document to which the sparqline belongs (<code>rel="schema:hasPart"</code>).</li> <li>The human-readable name for the figure (based on the dataset used), where it was derived from (the <code>qb:DataSet</code> instance), and the generated SVG.</li> <li>The SVG resource has statements to indicate: <ul> <li>linked statistical dataset which was used (<code>rel="prov:wasDerivedFrom"</code>).</li> <li>human-readable name of the dataset (<code>property="schema:name"</code>).</li> <li>license for the generated SVG (<code>rel="schema:license"</code>).</li> <li>further information for each <code>qb:Observation</code> (<code>rel="rdfs:seeAlso"</code>).</li> </ul> </li> </ul> <p>This information can be discovered and parsed as RDF, thus making easy to access and reuse by third-party applications. For example, another author can cite or include these sparqlines in their work.</p> </div> </section> <section resource='#discussion-and-conclusions' rel='schema:hasPart' inlist='' id='discussion-and-conclusions'> <h2 property='schema:name'>Discussion and Conclusions</h2> <div typeof='deo:Discussion' resource='#discussion-and-conclusions' property='schema:description' datatype='rdf:HTML'> <p>We have presented a preliminary implementation of sparklines generated from SPARQL endpoints and embedded directly through authoring tool. This allows authors to visualise their data in an optimal way without breaking their workflow. However, there is a lot of scope for future work in this area. We now discuss some areas for further development.</p> <p><strong>Design principles</strong>: Tufte makes recommendations on readability, as well as applying Cleveland’s analytical method of choosing aspect ratios <em>banking to 45°</em> [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-2">2</a>, <a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-10">10</a>, <a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-11">11</a>]. Cleveland’s method has been extended to generate banked sparklines by providing the vertical dimension to fit a typographical line. These approaches help maximize the clarity of the line segments [<a href="https://csarven.ca/sparqlines-sparql-to-sparkline/#ref-12">12</a>]. Applying these methods is a future implementation in dokieli (<a href="https://github.com/linkeddata/dokieli/issues/159">issue 159</a>).</p> <p><strong>Dataset interaction</strong>: Building on existing work in faceted searching and browsing of RDF data, authors can explore suitable datasets with a combination of searching using natural-language and filtering through available datasets and dimensions of interest. This approach is convenient for datasets in RDF Data Cubes since they are highly structured and classified. Further work is needed to improve the process for disambiguation of the author’s input in natural language in order to discover appropriate URIs in the dataset.</p> <p><strong>Privacy considerations</strong>: Many researchers collect experimental data which has sensitive or identifiable information. This information should not be exposed through public SPARQL endpoints. Measures such as access control lists can allow researchers to generate sparqlines over sensitive data.</p> <p><strong>Data availability</strong>: SPARQL endpoints are notoriously unreliable and they may have high setup costs for new datasets. Applications which rely on endpoints to generate sparqlines with dynamic data, may want to initially include a local cached copy from the last access point in the article. The application can then asynchronously fetch or subscribe for new updates.</p> </div> </section> <section resource='#acknowledgements' rel='schema:hasPart' inlist='' id='acknowledgements'> <h2 typeof='deo:Acknowledgements' property='schema:name' about='#acknowledgements'>Acknowledgements</h2> <div property='schema:description' datatype='rdf:HTML'> <p>The motivation and work on sparqlines was inspired by Edward Tufte’s education and popularisation of sparklines. Special thanks to <a href="http://rhiaro.co.uk/#me">Amy Guy</a> and <a href="http://people.csail.mit.edu/ilaria/">Ilaria Liccardi</a> for their great support and tireless nagging to get this written up, as well as <a href="http://mynarz.net/">Jindřich Mynarz</a> for help with SPARQL query optimisations.</p> </div> </section> <section id='references'> <h2>References</h2> <div> <ol> <li id='ref-1'>Zelchenko, P., Medved, M.: QuoteTracker, <a rel='schema:citation' href="http://pete.zelchenko.com/portfolio/screen/2gk.htm">http://pete.zelchenko.com/portfolio/screen/2gk.htm</a></li> <li id='ref-2'>Tufte, E.: Beautiful Evidence, Graphics Press, 2006, ISBN 9781930824164, <a rel='schema:citation' href="http://www.worldcat.org/title/beautiful-evidence/oclc/70203994&amp;referer=brief_results">http://www.worldcat.org/title/beautiful-evidence/oclc/70203994&amp;referer=brief_results</a></li> <li id='ref-3'>P. Meharia: Use of Visualization in Digital Financial Reporting: The effect of Sparkline (2012). Theses and Dissertations--Business Administration. <a href="http://uknowledge.uky.edu/busadmin_etds/1/">Paper 1</a>, <a rel='schema:citation' href="http://uknowledge.uky.edu/cgi/viewcontent.cgi?article=1000&amp;context=busadmin_etds">http://uknowledge.uky.edu/cgi/viewcontent.cgi?article=1000&amp;context=busadmin_etds</a></li> <li id='ref-4'>Google Docs Sparklines, <a href="https://support.google.com/docs/answer/3093289?hl=en">https://support.google.com/docs/answer/3093289?hl=en</a></li> <li id='ref-5'>Cyganiak, R., Reynolds, D.: The RDF Data Cube vocabulary, W3C Recommendation, 2014, <a rel='schema:citation' href="https://www.w3.org/TR/vocab-data-cube/">https://www.w3.org/TR/vocab-data-cube/</a></li> <li id='ref-6'>Skjæveland, M. G.: Sgvizler: A JavaScript Wrapper for Easy Visualization of SPARQL Result Sets, 2012, <a href="http://2012.eswc-conferences.org/sites/default/files/eswc2012_submission_303.pdf">http://2012.eswc-conferences.org/sites/default/files/eswc2012_submission_303.pdf</a></li> <li id='ref-7'>Hage, W. R. v., Marieke v., Malaisé., V.: Linked Open Piracy: A story about e-Science, Linked Data, and statistics (2012), <a rel='schema:citation' href="http://www.few.vu.nl/~wrvhage/papers/LOP_JoDS_2012.pdf">http://www.few.vu.nl/~wrvhage/papers/LOP_JoDS_2012.pdf</a></li> <li id='ref-8'>Percy E. Rivera Salas, P. E. R., Mota, F. M. D., Martin, M., Auer, S., Breitman, K., Casanova, M. A.: Publishing Statistical Data on the Web, ISWC (2012), <a href="http://svn.aksw.org/papers/2012/ESWC_PublishingStatisticData/public.pdf" rel='schema:citation'>http://svn.aksw.org/papers/2012/ESWC_PublishingStatisticData/public.pdf</a></li> <li id='ref-9'>Capadisli, S., Auer, S. Riedl, R.: Linked Statistical Data Analysis, ISWC SemStats (2013), <a rel='schema:citation' href="https://csarven.ca/linked-statistical-data-analysis">https://csarven.ca/linked-statistical-data-analysis</a></li> <li id='ref-10'>Edward Tufte forum: Sparkline theory and practice Edward Tufte, <a rel='schema:citation' href="http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001OR&amp;topic_id=1">http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001OR&amp;topic_id=1</a></li> <li id='ref-11'>Cleveland, W.: Visualizing Data, Hobart Press, 1993, ISBN 9780963488404, <a rel='schema:citation' href="http://dl.acm.org/citation.cfm?id=529269">http://dl.acm.org/citation.cfm?id=529269</a></li> <li id='ref-12'>Heer, J., Maneesh, A.: Multi-Scale Banking to 45°, IEEE Transactions on Visualization and Computer Graphics, Vol. 12, No. 5, 2006, <a rel='schema:citation' href="http://vis.berkeley.edu/papers/banking/2006-Banking-InfoVis.pdf">http://vis.berkeley.edu/papers/banking/2006-Banking-InfoVis.pdf</a></li> </ol> </div> </section> https://csarven.ca/web-science-from-404-to-200 Where is Web Science? From 404 to 200 2016-11-19T00:00:00Z 2017-01-22T00:00:00Z https://csarven.ca/#i Sarven Capadisli info@csarven.ca <section id='abstract'> <h2>Abstract</h2> <div property='schema:abstract' datatype='rdf:HTML'> <p>Typical practice in scholarly communication of Web Science diverges from the broader vision of the Web. This article outlines the socio-technical problem space of Web-based academic engagement, and presents a vision of a paradigm shift led by Web Science. We propose a path towards adding Web Science research to the Web. 🙈 🙉 🙊</p> </div> </section> <section id='keywords'> <h2>Keywords</h2> <div> <ul rel='schema:about'> <li><a resource='http://dbpedia.org/resource/Decentralization' href="https://en.wikipedia.org/wiki/Decentralization">Decentralisation</a></li> <li><a resource='http://dbpedia.org/resource/Open_access' href="https://en.wikipedia.org/wiki/Open_access">Open Access</a></li> <li><a resource='http://dbpedia.org/resource/Semantic_publishing' href="https://en.wikipedia.org/wiki/Semantic_publishing">Semantic publishing</a></li> <li><a resource='http://dbpedia.org/resource/Social_machine' href="https://en.wikipedia.org/wiki/Social_machine">Social machine</a></li> <li><a resource='http://dbpedia.org/resource/Social_web' href="https://en.wikipedia.org/wiki/Social_web">Social web</a></li> <li><a resource='http://dbpedia.org/resource/Web_science' href="https://en.wikipedia.org/wiki/Web_science">Web Science</a></li> </ul> </div> </section> <section resource='#introduction' rel='schema:hasPart' id='introduction'> <h2 property='schema:name'>Introduction</h2> <div typeof='deo:Introduction' resource='#introduction' property='schema:description' datatype='rdf:HTML'> <p>The ideas in this article are intended to serve as areas of investigation for the Web Science community to self-examine and pursue a socio-technical (r)evolution in scholarly communication. Contemporary scholarly communication is a complex social machine involving a global network of (in the broadest senses) teachers, learners, buyers and sellers. Centuries or more of embedded assumptions and culture around knowledge acquisition and sharing meet modern technologies and practices. Advancements in scholarly communication are not keeping pace with the advances in, and expectations that society has of, communication in general. We argue that Web Scientists have both the duty and ability to lead progress, but are hampered by a complex array of social and technical challenges. This article unpacks some of these challenges, describes the advancements that have been made so far, and proposes small steps we can take to move forwards.</p> <figure resource='#figure-from-visual-to-the-electric-age' rel='schema:hasPart' id='figure-from-visual-to-the-electric-age'> <iframe width='640' src="https://www.youtube-nocookie.com/embed/5gKPsSYYkns?rel=0" rel='schema:video' height='480' frameborder='0' allowfullscreen='true'></iframe> <figcaption property='schema:name'>From the visual to the electric age</figcaption> </figure> <p><q rel='cito:includesQuotationFrom' cite='https://www.youtube-nocookie.com/embed/5gKPsSYYkns?rel=0'>Literate culture is visual and detached... <strong>the effect of the electric revolution is to create once more an involvement</strong> that is total.</q> — <cite><a rel='cito:credits' href="https://en.wikipedia.og/wiki/Marshall_McLuhan">Marshall McLuhan</a></cite>.</p> <p id='web-as-an-extension'>The Web offers extensible interactions, creative participation, and social engagement. There is a natural human desire to connect with others, as well as to co-create. Given these opportunities, the fundamental question to ask here is: why should research communication in Web Science be limited to, evaluated by, and rewarded according to old-fashioned practices? The methods in question which are still used date back to the invention of the <a href="https://en.wikipedia.org/wiki/Printing_press">mechanical movable type printing press</a> (circa 1450).</p> <figure resource='#figure-ted-nelson-demonstrates-xanaduspace' rel='schema:hasPart' id='figure-ted-nelson-demonstrates-xanaduspace'> <iframe width='640' src="https://www.youtube-nocookie.com/embed/1yLNGUeHapA?rel=0&amp;start=50&amp;end=90" rel='schema:video' height='360' allowfullscreen='true'></iframe> <figcaption property='schema:name'>Ted Nelson Demonstrates XanaduSpace (by Arthur Bullard)</figcaption> </figure> <p><q rel='cito:includesQuotationFrom' cite='https://www.youtube.com/watch?v=1yLNGUeHapA&amp;t=50s'>When I saw the computer, I said, <strong>‘at last we can escape from the prison of paper’</strong>... what did the other people do, they <strong>imitated paper</strong>, which to me seems totally insane</q> — <cite><a rel='cito:credits' href="http://en.wikipedia.org/wiki/Ted_Nelson">Ted Nelson</a></cite>.</p> <p id='if-no-accessible-iri-does-it-exist'>The Web can be purposed for greater possibilities than that of print alone; we urgently need to address the question: what constitutes a <em>contribution</em> in Web Science? What do you think of the following equivalence: <q cite='https://en.wikipedia.org/wiki/If_a_tree_falls_in_a_forest'>If a tree falls in a forest and no one is around to hear it, does it make a sound?</q> ≡ <q>If Web Science scholarly communication is inaccessible or unidentifiable, does it exist?</q></p> <p><q>Local-scale changes in Web architectures and resources can lead to large-scale societal and technical effects.</q> — <cite><a rel='cito:includesQuotationFrom' href="http://eprints.ecs.soton.ac.uk/12614/01/Semantic_Web_Revisted.pdf">The Semantic Web Revisited</a> (Nigel Shadbolt, Wendy Hall, Tim Berners-Lee)</cite></p> <p>This article is a reflection on the scholarly communication practices primarily from Web Science, Semantic Web, Linked Data, and related Information Science communities, referred to collectively as Web Science.</p> </div> </section> <section resource='#problem-space' rel='schema:hasPart' id='problem-space'> <h2 property='schema:name'>Problem space</h2> <div typeof='deo:ProblemStatement' resource='#problem-space' property='schema:description' datatype='rdf:HTML'> <p>We first outline some of the categories of challenges that remain to be addressed to facilitate Web-based scholarly communication:</p> <dl> <dt id='universal-access'>Universal Access</dt> <dd>Research outputs tend to end up being published at for-profit third-party services. These services have created an ecosystem that is closed in nature, restricting the acquisition of research results only to the privileged, dependent on location or connection with subscribing institutions. Thus publicly funded research ends up actually controlled by <q>gatekeepers</q>, in many ways contradictory to the fundamental values of the Web. Even in the case of initiatives like <cite>Open Access</cite>, individuals and institutions end up with high costs in electronic subscriptions, self-archiving, and with article processing charges. This <cite><a rel='cito:discusses' href="http://poynder.blogspot.ch/2017/01/the-nih-public-access-policy-triumph-of.html">contradicts</a></cite> even the heart of the <cite><a rel='cito:citesAsEvidence' href="http://www.budapestopenaccessinitiative.org/">Budapest Open Access Initiative</a></cite> (or even if we revisit <cite><a rel='cito:citesAsEvidence' href="http://openaccess.eprints.org/index.php?/archives/669-guid.html">Subversive Proposal</a></cite>). The for-profit models which also influence rights and licensing on the information breed access barriers to human knowledge even today. Hence the emergence of guerilla services like <cite><a rel='cito:citesAsEvidence' href="https://en.wikipedia.org/wiki/Sci-Hub">Sci-Hub</a></cite> which bypass publisher paywalls.</dd> <dt id='centralisation'>Centralisation</dt> <dd>Academic publications end up in <em>information silos</em>. There are constraints and penalties for moving the data or making it accessible by other means. With that, the canonical identifiers of research objects — the strings that are considered to be academically <q>citable</q> — and the resources retrievable via those identifiers, are subject to the terms of the host. The opportunity to build a true sense of data ownership is missing from the Web Science community; information is usually handed over to third-party services operating in isolation in comparison to the Web at large.</dd> <dt id='open-communication'>Open communication</dt> <dd>The common scientific communication form in this space is unidirectional — between the organising committee and the authors — as well as held mostly behind the scenes. The communication is neither held in public nor exposed even after the articles are made publicly available. The public is not particularly aware of the grounds on which an article was accepted, the feedback and concerns it received from peer-reviewers, or the revisions it received. This is useful information for carrying out open discussions in the spirit of science. Lastly, there is no way to identify the reliability or strength of reviewers beyond the trust the community places on organising committees.</dd> <dt id='user-experience'>User experience</dt> <dd>Scholarly articles and their peer-reviews are predominantly geared for desktop and print-based consumption. Knowledge is expected to fit rigorously within two-dimensional space, absorbed in a linear-fashion, and is devoid of the interactive possibilities of the Web.</dd> <dt id='machine-readable-data'>Machine-readable data</dt> <dd>Recently there are <a rel='cito:citesAsEvidence' title='European Commission PSI Directive' href="http://ec.europa.eu/digital-agenda/en/news/revision-psi-directive">directives</a> in some regions to publish datasets in accessible, machine-readable open formats, and Web Science research should be pioneering these efforts. Although more and more researchers (from all disciplines) are publishing their datasets and results directly in some form, Web Scientists are missing the opportunity to use their expertise to lead in publishing machine-readable semantic representations of all kinds of data, including the contents of prose-style research 'papers'. Such data can be purposed toward (semi)automated discovery of arguments and hypotheses, tracking provenance of and relationships between ideas, and collective <em>understanding</em> of the enormous scale of research which is produced every year.</dd> <dt id='practice'>Practice</dt> <dd>The absence of Web-based engagement in one’s own research work may lead to confined understanding of what works or is feasible to materialise. In other words, the community at large neglects to <em>eat its own dogfood</em>. This has lead to exploring solutions to problems which do not necessarily work well in practice. The lack of involvement in the complete process of capturing research data from the start, from writing, to peer-reviews, and collation and distribution of articles, has lead to designing research communication that is strictly non-involving or participatory. The opportunity to better collaborate with the other researchers, as well as effectively reuse their data is minimal. The effects of non-engagement have consequences in personal education, control and trust, and the enhancement of the field as whole.</dd> </dl> <p>Where these themes converge is that notable amounts of scholarly data is either inaccessible to the Web at large or unfit for the native Web stack, and consequently hinders the evolutionary process of <em>Web Science</em> and its study. The rest of this article narrows down on some key areas where these issues emerge and proposes tangible paths towards working more closely within the forward-looking <cite><a rel='cito:citesAsAuthority' href="http://eprints.soton.ac.uk/id/eprint/263347">A Framework for Web Science</a></cite>.</p> </div> </section> <section resource='#escaping-the-prison-of-paper' rel='schema:hasPart' id='escaping-the-prison-of-paper'> <h2 property='schema:name'>Escaping the prison of paper</h2> <div property='schema:description' datatype='rdf:HTML'> <section resource='#eating-our-own-dogfood' rel='schema:hasPart' id='eating-our-own-dogfood'> <h3 property='schema:name'>Eating our own dogfood</h3> <div property='schema:description' datatype='rdf:HTML'> <p><cite><a rel='cito:includesQuotationFrom' href="http://users.physik.fu-berlin.de/~kleinert/feynman/last16s.jpg">What I cannot create I do not understand.</a></cite> — <a href="https://en.wikipedia.org/wiki/Richard_Feynman">Richard Feynman</a></p> <p resource='#fair-is-not-so-fair' rel='schema:hasPart' id='fair-is-not-so-fair'><span property='schema:description' datatype='rdf:HTML'>There are several examples of well-intentioned researchers presenting their findings and ideas on how to take scholarly communication as well as Web Science forward, yet the majority stop at actually demonstrating what they propose. To take one recent example, the article <cite><a href="http://www.nature.com/articles/sdata201618" rel='cito:discusses'>The FAIR Guiding Principles for scientific data management and stewardship</a></cite> with 53 authors (that is not a typo), hosted by nature.com (2016), points out a helpful guideline: <q rel='cito:includesQuotationFrom' resource='http://www.nature.com/articles/sdata201618'>F1. (meta)data are assigned a globally unique and persistent identifier</q>. To eat one’s own dogfood, we would have expected an identifier for that statement, however it does not exist. Naturally, one should ask: what is <em>Findable, Accessible, Interoperable, Reusable</em> (<abbr title='Findable, Accessible, Interoperable, Reusable'>FAIR</abbr>) about that statement? What is the measurable delta between this article and every other article (and there are many) making the exact same recommendation? If we were to try to reuse the guideline that is put forward in our study, how can we link to it without any ambiguity? Here is a working example from 1996 <a rel='cito:includesQuotationFrom' title='Universal Resource Identifiers -- Axioms of Web Architecture' href="https://www.w3.org/DesignIssues/Axioms.html#Universality">https://www.w3.org/DesignIssues/Axioms.html#Universality2</a> written by <a href="https://www.w3.org/People/Berners-Lee/card#i">Tim Berners-Lee</a> which states: <q>Axiom 0a: Universality 2. Any resource of significance should be given a URI.</q> Why was not this earlier work reused or cited?</span></p> <p resource='#paper-based-conferences' rel='schema:hasPart' id='paper-based-conferences'><span property='schema:description' datatype='rdf:HTML'>In a similar vein, conferences announce their calls for contributions, and require contributions to use desktop/paper-based electronic formats, e.g., <cite><a rel='cito:refutes' href="http://www.cyprusconferences.org/elpub2017/submission.html">ELPUB</a></cite>, <cite><a rel='cito:refutes' href="http://ht.acm.org/ht2016/calls">ACM Hypertext</a></cite>, <cite><a rel='cito:refutes' href="http://www.www2017.com.au/call-for-papers/">WWW</a></cite>, <cite><a rel='cito:refutes' href="https://websci.tw.rpi.edu/Papers.html">WebSci</a></cite>, <cite><a rel='cito:refutes' href="https://csarven.ca/web-science-from-404-to-200/icwe2017.webengineering.org/#submissions">ICWE</a></cite>. All of these calls are about sharing research output about the Web as two dimensional objects destined for print. None of them explore the full potential of native Web tools or technologies for knowledge dissemination, or encourage their research communities to do so. Reviews are held behind closed doors, reviewers are not publicly attributed or subject to question. These type of events even state that contributions which do not comply with certain constraints will be rejected at the door without review. To pick further on WWW (<strong>the</strong> World Wide Web conference), its contribution to the <cite><a rel='cito:discusses' href="http://www.www2017.com.au/about/festival-of-the-web.php">Festival of the Web</a></cite>, expects contributions to be in <q>English</q>, <q>font size no smaller than 9pt</q>, <q>in PDF</q>, <q>formatted for US Letter size</q>, <q>occupy no more than eight pages</q>. McLuhan, Ted, TimBL, sorry, we really messed up our information superhighway. If we apply Tim’s <cite><a rel='cito:agreesWith' href="https://www.w3.org/DesignIssues/LinkedData#fivestar">Linked Open Data star scheme</a></cite>, it is debatable whether they would even receive a single <abbr title='star'>★</abbr> (star).</span></p> <p resource='#easychair' rel='schema:hasPart' id='easychair'><span property='schema:description' datatype='rdf:HTML'>Lastly, the peer-reviews themselves tend to live behind centralised services like <a rel='cito:critiques' href="http://easychair.org/">Easychair</a> with no particular educational value to anyone outside of the restricted access, i.e., the public. A transparent peer-review process as well as the discussions around it can be seen as <cite><a rel='cito:citesForInformation' href="http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0147913">an indicator of peer-review quality</a></cite>.</span></p> <p resource='#web-we-want' rel='schema:hasPart' id='web-we-want'><span property='schema:description' datatype='rdf:HTML'>All of these are lost opportunities for the community as a whole, where even small amounts of mindfulness and care on building towards a <cite><a rel='cito:citesAsRelated' href="https://webwewant.org/">Web We Want</a></cite> can make a big difference. To counter our complaints, we now present the following as some positive examples of eating one’s own dogfood.</span></p> <section resource='#sparqlines-semstats-ceur' rel='schema:hasPart' id='sparqlines-semstats-ceur'> <h4 property='schema:name'>Sparqlines, SemStats, CEUR-WS</h4> <div property='schema:description' datatype='rdf:HTML'> <p><cite><a rel='cito:citesAsEvidence' href="http://semstats.org/">SemStats</a></cite> is a workshop series usually held at <cite><a rel='cito:citesAsEvidence' href="http://iswc2017.semanticweb.org/">ISWC</a></cite>. Determined to push forward the vision of accessible and open semantics research, we have been welcoming HTML/RDF based contributions since 2013. The entire workshop site, including the calls themselves are in HTML+RDFa. This enables the possibility to make relations such as <a rel='cito:citesAsEvidence' href="https://csarven.ca/sparqlines-sparql-to-sparkline">article</a> <em>is in reply to</em> a <a rel='cito:citesAsEvidence' href="http://semstats.org/2016/call-for-contributions">call</a>, as well as having the <a rel='cito:citesAsEvidence' href="http://ceur-ws.org/Vol-1654/">proceedings</a> semantically related to both the article and the workshop. We can see these simple yet useful <em>links</em> among these documents with their accompanying data:</p> <div class='tabs' id='article-calls-proceedings'> <nav> <ul> <li class='selected'><a href="https://csarven.ca/web-science-from-404-to-200/#figure-article-calls-proceedings">Graph</a></li> <li><a href="https://csarven.ca/web-science-from-404-to-200/#script-article-calls-proceedings">Turtle</a></li> </ul> </nav> <figure resource='#figure-article-calls-proceedings' rel='schema:hasPart' id='figure-article-calls-proceedings' class='selected'> <object width='480' type='image/svg+xml' rel='schema:image' height='253' data="https://csarven.ca/media/images/articles/calls-and-proceedings-graph.svg"></object> <figcaption property='schema:name'>RDF statements interlinking a research article, call for contributions and workshops, and proceedings.</figcaption> </figure> <figure resource='#script-article-calls-proceedings' rel='schema:hasPart' id='script-article-calls-proceedings' class='listing'> <pre typeof='fabio:Script' property='schema:description' about='#script-article-calls-proceedings'><code>@prefix sioc: &lt;http://rdfs.org/sioc/ns#&gt; .</code><code>@prefix schema: &lt;https://schema.org/&gt; .</code><code>@prefix bibo: &lt;http://purl.org/ontology/bibo/&gt; .</code><code>&lt;<a href="http://semstats.org/2013/">http://semstats.org/2013/</a>&gt;</code><code> as:inReplyTo &lt;<a href="http://iswc2013.semanticweb.org/content/call-workshops.html">http://iswc2013.semanticweb.org/content/call-workshops.html</a>&gt; ;</code><code> <strong class='highlight-hasPart'>schema:hasPart</strong> &lt;<a href="http://semstats.org/2013/call-for-papers">http://semstats.org/2013/call-for-papers</a>&gt; .</code><code>&lt;<a href="https://csarven.ca/linked-statistical-data-analysis">https://csarven.ca/linked-statistical-data-analysis</a>&gt;</code><code> <strong class='highlight-reply_of'>as:inReplyTo</strong> &lt;<a href="http://semstats.org/2013/call-for-papers">http://semstats.org/2013/call-for-papers</a>&gt; ;</code><code> bibo:citedBy &lt;<a href="http://ceur-ws.org/Vol-1549/">http://ceur-ws.org/Vol-1549/</a>&gt; .</code><code>&lt;<a href="http://ceur-ws.org/Vol-1549/">http://ceur-ws.org/Vol-1549/</a>&gt;</code><code> schema:hasPart &lt;<a href="http://ceur-ws.org/Vol-1549/#article-06">http://ceur-ws.org/Vol-1549/#article-06</a>&gt; .</code><code>&lt;<a href="http://ceur-ws.org/Vol-1549/#article-06">http://ceur-ws.org/Vol-1549/#article-06</a>&gt;</code><code> bibo:uri &lt;<a href="https://csarven.ca/linked-statistical-data-analysis">https://csarven.ca/linked-statistical-data-analysis</a>&gt; .</code></pre> <figcaption property='schema:name'>RDF statements interlinking a research article, call for contributions and workshops, and proceedings.</figcaption> </figure> </div> </div> <figure resource='https://csarven.ca/media/images/articles/graph-sparqlines-semstats-ceur-linked-research.png' rel='schema:hasPart'> <a href="https://csarven.ca/media/images/articles/graph-sparqlines-semstats-ceur-linked-research.png" resource='#sparqlines-semstats-ceur' rel='foaf:depicts'><img width='100%' alt='Graph view of the Sparqlines article, SemStats Call, Linked Research Call, and CEUR-WS Proceeding' src="https://csarven.ca/media/images/articles/graph-sparqlines-semstats-ceur-linked-research.png"/></a> <figcaption property='schema:name'>Graph view of the Sparqlines article, SemStats Call, Linked Research Call, and the CEUR-WS Proceeding generated using <a href="http://franz.com/agraph/gruff/">Gruff</a>.</figcaption> </figure> </section> <section resource='#semantic-web-journal' rel='schema:hasPart' id='semantic-web-journal'> <h4 property='schema:name'>Semantic Web journal</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The online <cite><a rel='cito:discusses' href="http://www.semantic-web-journal.net/">Semantic Web journal</a></cite> places a mandate for the authors to provide their peer-reviewed articles in LaTeX format in order to be fit for the third-party publisher’s workflow, as well as to disseminate the research knowledge about Semantic Web in PDF. However this is in addition to the article being <a rel='cito:citesAsEvidence' href="http://www.semantic-web-journal.net/content/linked-sdmx-data">available</a> (free of charge) on their website and in some cases linked to their <a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-sdmx-data">canonical URL</a>. The highlight of the journal is its encouragement for <a title='Open and transparent: the review process of the Semantic Web journal' rel='cito:citesAsEvidence' href="http://geog.ucsb.edu/~jano/LP-final-authorversion.pdf">open and transparent peer-review</a>. Reviews are publicly accessible on the contributions at each phase of the publication process. Additionally, authors of the reviews have the option to be transparent about their identity, which plays an important role towards accountability as well as receiving well-deserved attribution for their time and expertise.</p> </div> </section> <section resource='#semantic-web-dog-food-and-scholarlydata' rel='schema:hasPart' id='semant-web-dog-food-and-scholarlydata'> <h4 property='schema:name'>Semantic Web Dog Food and ScholarlyData</h4> <div property='schema:description' datatype='rdf:HTML'> <p resource='#semantic-web-dog-food' rel='schema:hasPart' id='semantic-web-dog-food'><span property='schema:description' datatype='rdf:HTML'>The <cite><a rel='cito:discusses' href="http://data.semanticweb.org/">Semantic Web Dog Food</a></cite> initiative was aimed at providing <q>information on papers that were presented, people who attended, and other things that have to do with the main conferences and workshops in the area of Semantic Web research.</q> The initiative was successful and grounded itself in demonstrating convincing arguments towards contributing to the Semantic Web vision by providing a <cite><a rel='cito:citesForInformation' href="http://iswc2007.semanticweb.org/papers/795.pdf">recipe for dogfooding</a></cite>. However, one limitation of its corpus on research articles was that it only <a rel='cito:citesAsEvidence' href="http://data.semanticweb.org/conference/eswc/2015/paper/demo/41">consisted of metadata</a> like article title, authors, abstract. There was no granular semantic information like hypothesis, arguments, results, methodology, and so on since the article source format was not accompanied with semantic relations.</span></p> <p resource='#scholarlydata' rel='schema:hasPart' id='scholarlydata'><span property='schema:description' datatype='rdf:HTML'>Following this effort, the <cite><a rel='cito:discusses' href="http://www.scholarlydata.org/">ScholarlyData project</a></cite> recently became the <cite><a rel='cito:citesForInformation' href="http://www.scholarlydata.org/papers/iswc2016/iswc2016.html">successor</a></cite> of Semantic Web Dog Food project, where it focused on refactoring the original dataset, as well as making improvements on the <cite><a rel='cito:citesForInformation' href="http://data.semanticweb.org/ns/swc/swc_2009-05-09.html">Semantic Web Conference Ontology</a></cite>. Nevertheless, the input data (from the articles, conferences, people and organisations) is still no better than its source formats. The dependency here is not on native Web formats but on others’ requirements and convenience. These initiatives can still have higher potential if the original data shifted from <em>metadata</em> to <em>data</em>.</span></p> </div> </section> <section resource='#current-initiatives-at-conferences' rel='schema:hasPart' id='current-initiatives-at-conferences'> <h4 property='schema:name'>Current initiatives</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Some of the academic conferences in Web Science, e.g., ISWC, ESWC, EKAW, as well as multiple conferences and journals from non Computer Science disciplines, have shown interest in experimenting with the ideas on using non-print centric formats for the research contributions. While the observable progress is relatively slow, it is on the community’s radar. This is a social progress in contrast to the state of affairs circa 2012.</p> <p resource='#call-for-enabling-linked-research' rel='schema:hasPart' id='call-for-enabling-linked-research'><span property='schema:description' datatype='rdf:HTML'>Most recently, venues at WWW2017: <cite><a rel='cito:citesAsEvidence' href="http://events.linkeddata.org/ldow2017/">Linked Data on the Web</a></cite> pitched the initiative towards <q><a rel='cito:citesAsEvidence' href="http://events.linkeddata.org/ldow2017/#lorc">Pioneering the Linked Open Research Cloud</a></q>; and the <cite><a rel='cito:citesAsEvidence' href="http://sociam.org/wow2017/">Workshop on Web Observatories, Social Machines and Decentralisation</a></cite> takes a more holistic approach that is closely aligned with Web Science. The workshop on <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/events/eswc2017/">Enabling Decentralised Scholarly Communication</a></cite> at ESWC2017 is part of an ongoing <a rel='cito:citesForInformation' href="https://linkedresearch.org/calls">Call for Linked Research</a>. Contributors to these calls are explicitly requested to make the best use of what the Web offers (incorporating self-publication, archiving, interactions, social engagement), as well as to raise questions to further understand the challenges ahead and ways to pursue them. This ought to be the norm in Web Science scholarly communication regardless of the content of the research itself.</span></p> </div> </section> <p id='pay-it-forward'>In summary, Web Scientists ought to pay it forward by experimenting with the technologies in their playground when they have the chance. In this day and age, a Web scientist who refuses, neglects, or is incapable of using native Web technologies and standards to capture and disseminate their own knowledge is <em title='I can not remember if this is a quote from somewhere or I came up with it. I think the latter.'>a bit like a natural scientist insisting to use their own eyes when a microscope is made available to them</em>. We should make best use of the media that are available to us.</p> </div> </section> <section resource='#illusion-of-and-existence' rel='schema:hasPart' id='illusion-of-existence'> <h3 property='schema:name'>Illusion of existence</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Let’s have a look at what it means to <em>exist</em> in terms of scholarly communication.</p> <p resource='#doi' rel='schema:hasPart' id='doi'><span property='schema:description' datatype='rdf:HTML'>While DOIs and ORCIDs are useful tools, they are centralised manifestations in context of the Web. On the technical end, information that is identified with a DOI scheme <a rel='cito:citesForInformation' title='DOIs unambiguously and persistently identify published, trustworthy, citable online scholarly literature. Right?' href="http://blog.crossref.org/2013/09/dois-unambiguously-and-persistently-identify-published-trustworthy-citable-online-scholarly-literature-right.html">does not in and of itself equate to good quality</a>. After all, anyone can have a DOI registry under their own domain. However in social terms, especially in scientific circles, they are perceived to have more <em>weight</em> than an HTTP URI. HTTP URIs and DOI strings are the same in being unique strings which can be recognised by certain systems. <a rel='cito:discusses' href="https://doi.org/">doi.org</a> makes these identifiers resolveable via HTTP, but is <a rel='cito:citesAsEvidence' title='Beyond the DOI to richer metadata' href="http://blog.crossref.org/2016/06/beyond-the-doi-to-richer-metadata.html">extremely brittle</a>, relies on redirection, and <a rel='cito:citesAsEvidence' title='Scholarly Context Not Found: One in Five Articles Suffers from Reference Rot' href="http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115253">suffers from reference rot</a>. The cultural value of DOIs can be observed in the tools and services which are built around only acknowledging or exchanging data which has a DOI. Services like <cite><a rel='cito:discusses' href="http://crossref.org/">CrossRef</a></cite> or <cite><a rel='cito:discusses' href="https://www.datacite.org/">DataCite</a></cite> for instance acknowledge <a href="https://doi.org/10.1007/978-3-319-25639-9_5">https://doi.org/10.1007/978-3-319-25639-9_5</a> but do not acknowledge the canonical URI <a rel='cito:discusses' title='This ‘Paper’ is a Demo' href="https://csarven.ca/this-paper-is-a-demo">https://csarven.ca/this-paper-is-a-demo</a>, which is accessible to anyone for free, accompanied with granular Linked Data, interactions, peer-reviews, and wider social engagement tooling. Regardless, the former URI is considered to be <q>citable</q> and the latter is just a blog post according to most Web scientists (for those who do not feel like clicking the links, the article contents are the same). Even services like <cite><a rel='cito:discusses' href="http://opencitations.net/">Open Citations</a></cite> (dependent on the other centralised services) only consider resources which essentially have have a DOI pattern.</span></p> <p resource='#orcid' rel='schema:hasPart' id='orcid'><span property='schema:description' datatype='rdf:HTML'>Similarly, while I can more authoritatively provide rich semantic information about my own identity on the Web through <a rel='cito:citesAsEvidence' href="https://csarven.ca/#i">https://csarven.ca/#i</a> (and enabling a <em>follow-your-nose</em> type of exploration) than I ever could with <a rel='cito:discusses' href="http://orcid.org/0000-0002-0880-9125">http://orcid.org/0000-0002-0880-9125</a>, the latter gets acknowledged by services which are essentially disjoint from the rest of the Web. Again, current centralised systems would acknowledge the ORCID URI but not what I have to say about myself that is under my control. I own/rent the domain csarven.ca, but have no control over those of orcid.org. Moreover, to ‘park’ a profile at the latter, I must agree to their terms of service. This is not particularly different than having a profile at Facebook, Twitter, or Google for instance. <cite><a rel='cito:includesQuotationFrom' href="https://en.wikipedia.org/wiki/King%27s_Quest_VI">Heir Today, Gone Tomorrow</a></cite>.</span></p> <p id='social-governance'>Technical reasons are secondary to the issue of social governance here. We should naturally raise the question about which academic works and profiles are acknowledged to exist in the scholarly information space. Given that institutions and individuals are capable of creating and sharing their works and profiles at Webspaces under their control (circa 1989, World Wide Web), it follows that DOI and ORCID are only social mechanisms to distinguish between what counts and what does not.</p> <p id='third-party-dependency'>There is the traditional approach where an article goes through an opaque peer-review process; complies with the technical requirements of what constitutes a <q>paper</q>; and has the individual or their organisation paying the fees (to publish as well as to attend potential meetings), in addition to agreeing to the terms of the publisher. In this case, works are entitled to <em>exist</em> by means of centralised identifiers. If however this process is not met, the community does not necessarily consider what lays outside to be scientific knowledge. It goes without saying that publishing scientific knowledge on the Web, i.e., accessibly, and with different modes of engagement, is orthogonal to having a free and open, attributable scientific publication process. The requirements of publishers <em>need not</em> necessarily prevent us as individuals from publishing our work on our own websites. However, researchers are not occupying a vacuum, and contend with influences from many directions. These intertwined concerns make up the scholarly communication social machine, one part of which is that universities and libraries channel public funds for subscription fees so that researchers have read access to the articles, reinforcing the system. DOI and ORCID serve as top-down authoritarian constructs. Consequently, the type of data that can be fetched through these routes is fundamentally dependent on whatever the third-party publisher deems suitable for their own business and technical process.</p> </div> </section> <section resource='#directing-research-focus' rel='schema:hasPart' id='directing-research-focus'> <h3 property='schema:name'>Directing research focus</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The particular areas of research focus in Web Science is generally guided by conference organisation and journal committees, with the influence of senior researchers and their team’s interests, as well as the funding that is tied to that research. While this approach is practical and accommodates the community’s short-term needs and activities, it is evidently based on human-centred decision making as opposed to leveraging data-driven analysis of the field.</p> <p>To further examine this, we observe that the topics of interest for calls for contributions is a reflection on what worked and did not from earlier experiences usually through <q>town-hall</q> discussions at conferences, as well as off-the-record discussions through different channels. This is valuable feedback from the community, however it could and should be accompanied by the possibility that new research challenges can be discovered by analysing directly data about what has already been studied. This would be a measurable observation which can feed back into the community, as well as providing actual data when it comes to requesting funding more legitimately.</p> </div> </section> <section resource='#freedom-to-innovate' rel='schema:hasPart' id='freedom-to-innovate'> <h3 property='schema:name'>Freedom to innovate</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Web Science can serve itself better if the freedom to innovate around how to best present and distribute research results is continuously encouraged. In order for the community to evolve using its own framework, the attempts at reformulating its conventions should be carefully considered and all centrally or top-down imposed restrictions should be thoroughly critiqued.</p> <p id='first-hand-experience'>If articles and reviews accommodate machine-readable data (like Linked Data), the potential for reuse is increased. For example, if research articles capture their <a rel='cito:citesAsEvidence' href="https://csarven.ca/web-science-from-404-to-200#problem-space">problem statements</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/call-for-linked-research#no-central-authority">motivation</a> <a rel='cito:citesAsEvidence' href="https://csarven.ca/sense-of-lsd-analysis#hypothesis-null">hypothesis</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/cooling-down-web-science#introduction">arguments</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/enabling-accessible-knowledge#workflow">workflow steps</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/sense-of-lsd-analysis#methodology">methodology</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-data-notifications#protocol">design</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-statistical-data-analysis#results">results</a>, <a href="https://csarven.ca/linked-data-notifications#analysis-and-evaluation">evaluation</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-research-scholarly-communication#conclusions">conclusions</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/dokieli#next-steps">future challenges</a>, as well as all <a rel='cito:citesAsEvidence' href="https://dokie.li/#figure-dokieli-citation">inline semantic citations</a> (to name <em>a few</em>) where they are uniquely identified, related to other data, and discoverable, then specialised software can be used to verify the article’s well-formedness with respect to the domain. In essence, this materialises the possibility of articles being executable towards reproduction of computational results. Similarly, user interfaces can manifest environments where readers can rerun experiments or observe the effects of changing the input parameters of an algorithm. This provides an important affordance for a more <a href="http://worrydream.com/LadderOfAbstraction/" title='Up and Down the Ladder of Abstraction'>involving environment for the user</a>, improves learnability of material, and supersedes the passive mode of simply reading about a proposed approach.</p> <p id='first-post'>Innovation can also be encouraged by shortening the length of the research cycle. There are benefits to releasing early-work to the scientific community. For instance, having an early timestamp on some research can provide a strong signal on the origins of ideas and solutions, as well as having the value of practicality of receiving initial feedback from the community and public. Today, even some of the Open Access journal models slow down the scientific process (even if released to the public within first 2 years) when research is not immediately accessible.</p> </div> </section> <section resource='#illusion-of-quality' rel='schema:hasPart' id='illusion-of-quality'> <h3 property='schema:name'>Illusion of quality</h3> <div property='schema:description' datatype='rdf:HTML'> <p>We can examine social behaviours around writing articles for particular conferences and journals. For the sake of this discussion, we can refrain from judging the quality of the peer-reviews themselves since rich and poor reviews appear everywhere. This is especially true since <cite><a rel='cito:citesAsEvidence' title='Why Most Published Research Findings Are False' href="http://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.0020124">detecting bias even in accurate research findings</a></cite> can be challenging.</p> <p id='groupthink'>One groupthink is a fixation on equations like: the number of accepted peer-reviewed articles over total contributions to a conference as a signifier for the venue’s importance in terms of academic credit. Lower the percentile tends to socially imply that a given venue is challenging for scholars to leave their scholarly mark. Unfortunately, such social perceptions create artificial bubbles.</p> <p>To better understand these acceptance rates, we must think again in terms of the holistic social machine of scholarly communication. First, the number of acceptances are not solely based on the value of the contents of contributions as useful research output, but rather dependent on a number of other factors. The contributions that are accepted are ultimately subject to 1) the availability and suitability of the research tracks in a given year (decided, as we already mentioned, by the instinct of senior academics or whims of funding bodies), and 2) the number of articles allotted per volume or proceeding that the chairs are able to take on. Conferences that are collaborating with third-party publishers are instructed to commit to an optimal or preferred number of <em>pages</em> (or other criteria like number of words) for the conference series. These requirements are driven, again as we have already mentioned, by the business needs of for-profit organisations.</p> <p>If venues were not subject to the constraints mentioned above, what would the information space be for the scientific output? Such endeavour would bring researchers to aim for venues or tracks that are most appropriate for their research area, and keep their focus solely on sound and reproducible research, as opposed to making it in to a journal that is artificially prestigious and imposed on researchers by third-party services. Perhaps we should find other standards by which to judge the quality of our research output aggregators instead. Criteria could include: are we permitted to present our work in the way that best conveys its message? Is my contribution deftly and conveniently situated alongside related work for passers-by? Do I have enough control to issue updates, or to engage with reviewers in context?</p> </div> </section> <section resource='#attributions-and-credit' rel='schema:hasPart' id='attributions-and-credit'> <h3 property='schema:name'>Attributions and credit</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The Web Science community, like in other fields of research, goes above and beyond investing time, energy, and expertise into peer-reviews. With a few exceptions, reviewers are usually not publicly attributed and credited for their contributions. While the quality of peer-reviews may always be subject to question, they are nevertheless critical to providing some form of verification of scientific output. Hence, they should be captured, preserved, and environments should be created for further social engagement. Peer-review should not be a one-off event, but an ongoing conversation or collaboration. This desire amongst researchers is demonstrated by emerging services which allow academics to engage in <a rel='cito:discusses' href="https://publons.com/">pre</a> and <a rel='cito:discusses' href="https://pubpeer.com/">post</a> <em>publication</em> peer-reviews and comments publicly to foster verifiable reviews and to keep track of retractions.</p> <p>While most research publications in Web Science have their focus on positive results, as well as potentially reusable output (applications), the volume tends to pale in comparison to the negative or inconclusive results obtained during the research process. It is <a rel='cito:citesAsPotentialSolution' href="https://www.nytimes.com/2014/09/19/upshot/to-get-more-out-of-science-show-the-rejected-research.html">hypothesised</a> that to get more out of science, negative results should as well be made visible and credited as they also serve useful information for other researchers to rapidly advance the field. Hence, workshops like <cite><a rel='cito:citesAsPotentialSolution' href="http://noise-workshop.org/">Negative or Inconclusive Results in Semantic Web</a></cite> should be integral to the main research tracks or other workshops.</p> </div> </section> </div> </section> <section resource='#be-the-change-towards-linked-research' rel='schema:hasPart' id='be-the-change-towards-linked-research'> <h2 property='schema:name'>Be the change: towards Linked Research</h2> <div property='schema:description' datatype='rdf:HTML'> <p><cite><a rel='cito:citesAsAuthority' href="https://linkedresearch.org/">Linked Research</a></cite> is an initiative, a movement, and a manifesto. It is set out to socially and technically enable researchers to take full control, ownership, and responsibility of their knowledge, and have their contributions accessible to society at maximum capacity. Linked Research calls for dismantling the archaic and artificial barriers that get in the way of this. A <q><a rel='cito:citesAsPotentialSolution' href="https://linkedresearch.org/calls">call</a></q> is available for publishing and promoting open, accessible and reusable academic knowledge.</p> <p id='acid-test'>An <em>acid test</em> is proposed at <cite><a rel='cito:citesAsPotentialSolution' href="https://csarven.ca/linked-research-scholarly-communication#user-stories-assumption">Linked Research: An Approach for Scholarly Communication</a></cite>, which aims to evaluate systems openness, accessibility, decentralisation, interoperability in scholarly communication. This test does not mandate a specific technology, therefore the challenge can be met by different solutions. There are a set of proposed challenges for the community to check their systems against to see how well they can fulfill them, as part of the push towards building cooperating systems.</p> <section resource='#framing-our-vocabulary' rel='schema:hasPart' id='framing-our-vocabulary'> <h3 property='schema:name skos:definition'>Framing our vocabulary</h3> <div typeof='skos:ConceptScheme' resource='#framing-our-vocabulary' property='schema:description' datatype='rdf:HTML'> <p property='skos:definition' datatype='rdf:HTML'>If we acknowledge an imminent new paradigm shift on the horizon, it is necessary to commit and exercise a new vocabulary in our academic endeavours. We should give importance to these new terms because they set our frame of mind, which sets the stage for our daily work. I would like to encourage new calls for <em>contributions</em> to welcome researchers to <em>share</em> their <em>articles</em> and supporting material on the Web:</p> <dl rel='skos:hasTopConcept'> <dt typeof='skos:Concept' resource='#framing-our-vocabulary' rel='skos:topConceptOf' property='skos:prefLabel' id='s-submit-share' about='#s-submit-share'><samp>s/submit/share</samp></dt> <dd property='skos:definition' datatype='rdf:HTML' about='#s-submit-share'>The archaic mental frame hinged on the idea that individuals <em>submit</em> their work, as in handing it over, dislocating themselves from what they have produced by giving up their future rights. There is no need to give up anything. It belongs to the creator, and they simply <em>share</em> it under their terms.</dd> <dt typeof='skos:Concept' resource='#framing-our-vocabulary' rel='skos:topConceptOf' property='skos:prefLabel' id='s-submission-contribution' about='#s-submission-contribution'><samp>s/submission/contribution</samp></dt> <dd property='skos:definition' datatype='rdf:HTML' about='#s-submission-contribution'>A call by a venue does not merely get <em>submissions</em> of works. That is a misnomer. The process is much richer than that. Individuals make <em>contributions</em> to the field, pushing the boundaries of the collective understanding.</dd> <dt typeof='skos:Concept' resource='#framing-our-vocabulary' rel='skos:topConceptOf' property='skos:prefLabel' id='s-paper-article' about='#s-paper-article'><samp>s/paper/article</samp></dt> <dd property='skos:definition' datatype='rdf:HTML' about='#s-paper-article'>The term <em>paper</em> is an obvious and dreadful artefact imposed by the pre-digital generation and archaic business models. Academics in Web Science tend to create <em>articles</em> (electronic documents if you will) that gets to reside somewhere on the Web, that can be discoverable and accessible.</dd> </dl> </div> </section> <section resource='#cooperation' rel='schema:hasPart' id='cooperation'> <h3 property='schema:name'>Cooperation</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Sooner or later we need a strategy to address questions like: <em>What do we aim to accomplish?</em> <em>Who is trying to do it and for the benefit of whom?</em> <em>How do we know whether we are making progress and when we have succeeded?</em></p> <p>Potential solutions to these questions and new challenges need to address the unspoken gap between researchers, academic and public institutions, as well as what ends up in the commons. It is not just about researchers publishing their work online, nor about conferences requesting semantically annotated contributions or operating with transparent peer-review. All of these things must move in combination. Here are some ideas that can be executed today:</p> <dl> <dt id='working-together-researchers'>Researchers</dt> <dd>Researchers take full responsibility for the creation and publication of their work. This can be at any Webspace they put trust on or have sufficient authority over, e.g., personal site, institutions’ student and faculty pages. Making their work as Webby as possible e.g., linking their arguments and citations to others', interactive story-telling or experimentation possibilities for their readers. Researchers should take special care to ensure URI persistence and archiving of their work. See what your library or online archives (such as <a href="https://archive.org/">archive.org</a> and <a href="http://archive.is/">archive.is</a>) can do for you.</dd> <dt id='working-together-conferences-and-journals'>Conferences and journals</dt> <dd>In person conferences and online journals should encourage and accept research publications which use native Web technologies. Support transparent and attributed peer-review process. Aggregation or proceedings of the events should be machine-friendly and archival measures should be taken in addition to that of researchers.</dd> <dt id='working-together-public-institutions'>Public institutions</dt> <dd>Given sufficient evidence of the Web Science community’s acknowledgement of research as well as its contributions (eg peer-reviews), academic institutions should officially acknowledge such work towards academic credit. Libraries should make the community’s output discoverable, catalogued, enriched, among many other things.</dd> </dl> </div> </section> </div> </section> <section resource='#conclusions' rel='schema:hasPart' inlist='' id='conclusions'> <h2 property='schema:name'>Conclusions</h2> <div typeof='deo:Conclusion' resource='#conclusions' property='schema:description' datatype='rdf:HTML'> <p>This article highlighted some of the significant areas in the practice of Web Science which should be the subject of scrutiny. We describe how scholarly communication functions as a complex social machine, with many aspects which influence each other. This conceptualisation of the space can help us to coordinate efforts in effecting change. Only by examining our current practices, as well as cherishing our curiosity we can evolve Web Science. One of the important outcomes of this is being more active participants for the <q>Web We Want</q>.</p> <p resource='#new-generation-researchers' rel='schema:hasPart' id='new-generation-researchers'><span property='schema:description' datatype='rdf:HTML'>The <em>new generation</em> of researchers will phase out older practices. The recent or current generation of academics are sticking to the <span title='existing state of affairs' lang='la' xml:lang='la'>status quo</span> and adhering to demands of the third-party publishers’ requirements, or simply because they were <em>brought up</em> in their careers to strictly comply with desktop/print based knowledge dissemination. This generation, resistant to evolution, swims in a <cite class='cool-media'><a rel='cito:citesAsRecommendedReading' title='Understanding media: The extension of man' href="http://www.worldcat.org/oclc/243805695">cool medium</a></cite> - the Web - without actually embracing it. New students and researchers entering an institution are asked to learn Word or LaTeX in order to document their work. We can ask them to learn HTML (possibly with RDF as well) instead. The <q>new generation</q> of academics <em>will</em> open up a new phase for the Web Science community and set a revised agenda to pioneer the field and its practices. This is not about publishing and consuming research knowledge in Webby methods (that is really only a part of the big picture), but diving right into the essence of understanding and welcoming decentralisation, interoperability, data responsibility, accessibility, user experience, and a <em>true</em> sense of linking and building on ideas that can be tracked and discovered. Perhaps most importantly, helping us to better understand the effects of what we do, and the how the Web is changing societies.</span></p> <p id='prophecy'>Due to the divergence from the practices described by the Web Science framework, we need to re-examine our mode of work. The community should be preparing for a <cite><a rel='cito:citesAsRecommendedReading' title='The structure of scientific revolutions' href="http://www.worldcat.org/oclc/857115808">paradigm shift</a></cite>, checking the fundamental shared assumptions about the current paradigm in use. What will shortly follow is a state of crisis as the <em>faith</em> in conducting archaic practices will be shaken. The community will then reach a pre-paradigm phase where the new perspective (let’s call it <cite><a rel='cito:discusses' href="https://linkedresearch.org/">Linked Research</a></cite> for now?) will be further explored. The revolution will become invisible when scientists return to their daily activities, better using and incorporating the Web and what it has to offer.</p> <p>We need to be prepared to answer questions like <q>Which scholarly articles are relevant to my research problem?</q>, <q>How can we find and compare the variables of similar hypothesis?</q>, <q>Which other researchers might find my results/output directly useful so I can notify them?</q>, <q>What are some of the unanswered questions or new challenges in a research area?</q>, <q>What are the research gaps?</q>, <q>How do we verify a peer-review and credit the peer-reviewer?</q>, <q>How do we control, store, preserve research?</q>, <q>When do I get my free lunch?</q></p> <p id='space-travel'>If trying to achieve space travel was based on our ability to jump, we would have reinvented the trampoline. Therefore, in the spirit of the Web, we ought to strive to change the status of Web Science from <em>404 Not Found</em> to <em>200 OK</em>!</p> </div> </section> <section resource='#acknowledgements' rel='schema:hasPart' inlist='' id='acknowledgements'> <h2 property='schema:name'>Acknowledgements</h2> <div typeof='deo:Acknowledgements' property='schema:description' datatype='rdf:HTML' about='#acknowledgements'> <p>A shout-out to Captain <a rel='cito:credits' href="https://rhiaro.co.uk/#me">Amy Guy</a> for encouraging and collaborating to move some of the mentioned initiatives forward, as well as turning my ramblings into something coherent. And, especially <a rel='cito:credits' href="https://linkedresearch.org/calls#reviewers">everyone</a> contributing to improve scholarly communication in Web Science.</p> </div> </section> https://csarven.ca/linked-research-decentralised-web Linked Research on the Decentralised Web 2019-07-29T00:00:00Z 2019-07-29T00:00:00Z https://csarven.ca/#i Sarven Capadisli <blockquote id='the-past-went-that-a-way' cite='http://worldcat.org/isbn/9781584230700'> <p>The past went that-a-way. When faced with a totally new situation we tend always to attach ourselves to the objects, to the flavor of the most recent past. We look at the present through a rear-view mirror. We march backward into the future. Suburbia lives imaginatively in Bonanza-land.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://worldcat.org/isbn/9781584230700" data-versionurl='https://web.archive.org/web/20190709103114/https://www.worldcat.org/title/medium-is-the-massage-an-inventory-of-effects/oclc/634760105' data-versiondate='2019-07-09T10:31:14Z'>The Medium is the Massage: An Inventory of Effects</a></cite>, p. 74-75, <a href="https://dbpedia.org/resource/Marshall_McLuhan">Marshall McLuhan</a>, 1967</footer> </blockquote> <section id='abstract'> <h2>Abstract</h2> <div property='schema:abstract' datatype='rdf:HTML'> <p>This thesis is about research communication in the context of the Web. I analyse literature which reveals how researchers are making use of Web technologies for knowledge dissemination, as well as how individuals are disempowered by the centralisation of certain systems, such as academic publishing platforms and social media. I share my findings on the feasibility of a decentralised and interoperable information space where researchers can control their identifiers whilst fulfilling the core functions of scientific communication: registration, awareness, certification, and archiving.</p> <p>The contemporary research communication paradigm operates under a diverse set of sociotechnical constraints, which influence how units of research information and personal data are created and exchanged. Economic forces and non-interoperable system designs mean that researcher identifiers and research contributions are largely shaped and controlled by third-party entities; participation requires the use of proprietary systems.</p> <p>From a technical standpoint, this thesis takes a deep look at semantic structure of research artifacts, and how they can be stored, linked and shared in a way that is controlled by individual researchers, or delegated to trusted parties. Further, I find that the ecosystem was lacking a technical Web standard able to fulfill the awareness function of research communication. Thus, I contribute a new communication protocol, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-notifications">Linked Data Notifications</a></cite> (published as a W3C Recommendation) which enables decentralised notifications on the Web, and provide implementations pertinent to the academic publishing use case. So far we have seen decentralised notifications applied in research dissemination or collaboration scenarios, as well as for archival activities and scientific experiments.</p> <p>Another core contribution of this work is a Web standards-based implementation of a clientside tool, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralised-linked-research-application">dokieli</a></cite>, for decentralised article publishing, annotations and social interactions. dokieli can be used to fulfill the scholarly functions of registration, awareness, certification, and archiving, all in a decentralised manner, returning control of research contributions and discourse to individual researchers.</p> <p>The overarching conclusion of the thesis is that Web technologies can be used to create a fully functioning ecosystem for research communication. Using the framework of Web architecture, and loosely coupling the four functions, an accessible and inclusive ecosystem can be realised whereby users are able to use and switch between interoperable applications without interfering with existing data.</p> <p>Technical solutions alone do not suffice of course, so this thesis also takes into account the need for a change in the traditional mode of thinking amongst scholars, and presents the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-research">Linked Research</a></cite> initiative as an ongoing effort toward researcher autonomy in a social system, and universal access to human- and machine-readable information. Outcomes of this outreach work so far include an increase in the number of individuals self-hosting their research artifacts, workshops publishing accessible proceedings on the Web, in-the-wild experiments with open and public peer-review, and semantic graphs of contributions to conference proceedings and journals (the Linked Open Research Cloud).</p> <p>Some of the future challenges include: addressing the social implications of decentralised Web publishing, as well as the design of ethically grounded interoperable mechanisms; cultivating privacy aware information spaces; personal or community-controlled on-demand archiving services; and further design of decentralised applications that are aware of the core functions of scientific communication.</p> </div> </section> <section resource='#general-terms' rel='schema:hasPart' id='general-terms'> <h2 property='schema:name'>General Terms</h2> <div property='schema:description' datatype='rdf:HTML'> <ul> <li>Design</li> <li>Human factors</li> <li>Standardisation</li> <li>Theory</li> </ul> </div> </section> <section id='categories-and-subject-descriptors'> <h2>Categories and Subject Descriptors</h2> <div> <ul rel='schema:about'> <li><a resource='http://acm.rkbexplorer.com/ontologies/acm#H.1.2' href="http://www.acm.org/about/class/ccs98-html#H.1.2">H.1.2</a> [<strong>Information Systems</strong>]: Human information processing</li> <li><a resource='http://acm.rkbexplorer.com/ontologies/acm#H.4.m' href="http://www.acm.org/about/class/ccs98-html#H.4.m">H.4.m</a> [<strong>Information Systems Applications</strong>]: Linked Data</li> <li><a resource='http://acm.rkbexplorer.com/ontologies/acm#H.5.3' href="http://www.acm.org/about/class/ccs98-html#H.5.3">H.5.3</a> [<strong>Information Interfaces and Presentation</strong>]: Web-based interaction</li> <li><a resource='http://acm.rkbexplorer.com/ontologies/acm#I.7.4' href="http://www.acm.org/about/class/ccs98-html#I.7.4">I.7.4</a> [<strong>Document and Text Processing</strong>]: Electronic Publishing</li> </ul> </div> </section> <section id='keywords'> <h2>Keywords</h2> <div> <ul rel='schema:about'> <li><a resource='http://dbpedia.org/resource/Communications_protocol' href="https://en.wikipedia.org/wiki/Communications_protocol">Communications protocol</a></li> <li><a resource='http://dbpedia.org/resource/Decentralization' href="https://en.wikipedia.org/wiki/Decentralization">Decentralisation</a></li> <li><a resource='http://dbpedia.org/resource/Human-computer_interaction' href="https://en.wikipedia.org/wiki/Human-computer_interaction">Human-computer interaction</a></li> <li><a resource='http://dbpedia.org/resource/Linked_Data' href="https://en.wikipedia.org/wiki/Linked_Data">Linked Data</a></li> <li><a resource='http://dbpedia.org/resource/Media_studies' href="https://en.wikipedia.org/wiki/Media_studies">Media studies</a></li> <li><a resource='http://dbpedia.org/resource/Open_science' href="https://en.wikipedia.org/wiki/Open_science">Open science</a></li> <li><a resource='http://dbpedia.org/resource/Scholarly_communication' href="https://en.wikipedia.org/wiki/Scholarly_communication">Scholarly communication</a></li> <li><a resource='http://dbpedia.org/resource/Semantic_publishing' href="https://en.wikipedia.org/wiki/Semantic_publishing">Semantic publishing</a></li> <li><a resource='http://dbpedia.org/resource/Social_machine' href="https://en.wikipedia.org/wiki/Social_machine">Social machine</a></li> <li><a resource='http://dbpedia.org/resource/Social_web' href="https://en.wikipedia.org/wiki/Social_web">Social web</a></li> <li><a resource='http://dbpedia.org/resource/Web_science' href="https://en.wikipedia.org/wiki/Web_science">Web science</a></li> <li><a resource='http://dbpedia.org/resource/Web_standards' href="https://en.wikipedia.org/wiki/Web_standards">Web standards</a></li> </ul> </div> </section> <section id='audience'> <h2>Audience</h2> <div> <p>The intended audience is any agent – especially those that do not yet exist! Agents with the following roles or capabilities may find the information particularly interesting or useful.</p> <ul rel='schema:audience'> <li><a resource='http://dbpedia.org/resource/Archivist' href="https://en.wikipedia.org/wiki/Archivist">Archivist</a></li> <li><a resource='http://dbpedia.org/resource/Artificial_intelligence' href="https://en.wikipedia.org/wiki/Artificial_intelligence">Artificial intelligence</a></li> <li><a resource='http://dbpedia.org/resource/Computer_scientist' href="https://en.wikipedia.org/wiki/Computer_scientist">Computer scientist</a></li> <li><a resource='http://dbpedia.org/resource/Faculty_(academic_staff)' href="https://en.wikipedia.org/wiki/Faculty_(academic_staff)">Faculty (academic staff)</a></li> <li><a resource='http://dbpedia.org/resource/' href="https://en.wikipedia.org/wiki/">Funders</a></li> <li><a resource='http://dbpedia.org/resource/Librarian' href="https://en.wikipedia.org/wiki/Librarian">Librarian</a></li> <li><a resource='http://dbpedia.org/resource/Researcher' href="https://en.wikipedia.org/wiki/Researcher">Researcher</a></li> </ul> </div> </section> <section typeof='fabio:Announcement' resource='#declaration' rel='schema:hasPart' inlist='' id='declaration'> <h2 property='schema:name'>Declaration</h2> <div property='schema:description' datatype='rdf:HTML'> <p>I declare that the work covered by this thesis is composed by myself, and that it has not been submitted for any other degree or professional qualification except as specified.</p> </div> </section> <section typeof='deo:Acknowledgements' resource='#acknowledgements' rel='schema:hasPart' inlist='' id='acknowledgements'> <h2 property='schema:name'>Acknowledgements</h2> <div property='schema:description' datatype='rdf:HTML'> <p>This thesis is the result of interconnected ideas and people coming together. I would like the following to be carved in a hyperdimensional stone:</p> <p id='family'><a rel='cito:credits' href="http://brigitteschuster.com/#i">Brigitte Schuster</a>, <a rel='cito:credits' href="http://emilianc.info/#i">Emilian Capadisli</a>, <a rel='cito:credits' href="http://junesc.info/#i">Junes Capadisli</a>. My parents and brother.</p> <p id='Sören-Auer'><a rel='cito:credits' href="https://www.tib.eu/en/research-development/data-science-digital-libraries/staff/soeren-auer/">Sören Auer</a> for his supervision, endurance and support; the force that kept my work and initiatives real – a massive understatement. ⚛</p> <p id='Amy-Guy'><a rel='cito:credits' href="https://rhiaro.co.uk/#me">Captain Amy Guy</a> for her advice and friendship. Immensely grateful; my work would not be where it is today without her collaboration as well as justifiable distractions of epic proportions. 🦜</p> <p id='Herbert-Van-de-Sompel'><a rel='cito:credits' href="https://hvdsomp.info/">Herbert Van de Sompel</a> for helping me to connect the fundamental dots to better situate my work in context of research communication. A mentor. 💡</p> <p id='Tim-Berners-Lee'><a rel='cito:credits' href="https://www.w3.org/People/Berners-Lee/card#i">Tim Berners-Lee</a>, <em>the</em> Web developer that I look up to for inspiration and model perseverance to continue fighting for the Web. I am grateful to collaborate with Tim on the challenges ahead of us. 🕸</p> <p id='Kingsley-Idehen'><a rel='cito:credits' href="http://kingsley.idehen.net/DAV/home/kidehen/profile.ttl#i">Kingsley Idehen</a>, my practise what you preach partner in crime. I have learned a lot from Kingsley as we aimed to realise cool Web stuff. 🧩</p> <p id='Amy-van-der-Hiel'><a rel='cito:credits' href="https://www.w3.org/People/#V">Amy van der Hiel</a> for ethical Web checks and having me remind myself to assess the value of what I do with respect to society and adjusting my aims accordingly. Her influence will continue to shape the fabric of the projects that I am involved in. 🧭</p> <p id='Bernadette-Hyland'><a rel='cito:credits' href="https://about.me/bernadettehyland">Bernadette Hyland</a> for supporting me to hang in there for the long game. ✌</p> <p id='Stian-Soiland-Reyes'><a rel='cito:credits' href="https://orcid.org/0000-0001-9842-9718">Stian Soiland-Reyes</a> for brainstorming and experimenting on various Linked Data stuff. 🧐</p> <p id='Ruben-Verborgh'><a rel='cito:credits' href="https://ruben.verborgh.org/profile/#me">Ruben Verborgh</a> for being an exemplary researcher and developer to learn from, and support to better integrate our work out there in the wild. 🎸</p> <p id='Andrea-Scharnhorst'><a rel='cito:credits' href="http://www.ehumanities.nl/andrea-scharnhorst/">Andrea Scharnhorst</a> for helping me to develop a sense of academic collaboration. 🤝</p> <p id='Axel-Polleres'><a rel='cito:credits' href="http://www.polleres.net/foaf.rdf#me">Axel Polleres</a> for his guidance and supporting initiatives to evolve research communication. 🎩</p> <p id='Dame-Wendy-Hall'><a rel='cito:credits' href="https://wendy.ecs.soton.ac.uk/">Dame Wendy Hall</a> for keeping the spirit of the Web in scholarly communication alive. 👣</p> <p id='Ilaria-Liccardi'><a rel='cito:credits' href="https://people.csail.mit.edu/ilaria/">Ilaria Liccardi</a> for her mentorship and care to help me move my research forward. 🍎</p> <p id='Henry-Story'><a rel='cito:credits' href="http://bblfish.net/people/henry/card#me">Henry Story</a> for providing context to undoubtedly interconnected ideas in technology and philosophy. 🐠</p> <p id='Melvin-Carvalho'><a rel='cito:credits' href="https://melvincarvalho.com/#me">Melvin Carvalho</a> for bouncing ideas on the intersection of McLuhan’s media theories and the Web. 📺</p> <p id='Christoph-Lange'><a rel='cito:credits' href="https://langec.wordpress.com/about/">Christoph Lange</a> for helping to frame my work as research where I thought it was just development. 📜</p> <p id='Jodi-Schneider'><a rel='cito:credits' href="http://jodischneider.com/">Jodi Schneider</a> for helping to improve my argumentation in research communication. 📚</p> <p id='Miel-Vander-Sande'><a rel='cito:credits' href="https://biblio.ugent.be/person/802001059760">Miel Vander Sande</a> for pushing me in the right direction to frame the design science of my work. 🖼</p> <p id='Albert-Meroño-Peñuela'><a rel='cito:credits' href="https://www.albertmeronyo.org/">Albert Meroño-Peñuela</a> for collaborating on <abbr title='Linked Statistical Data'>LSD</abbr> and <abbr title='Linked Data Notifications'>LDN</abbr>, and getting interesting results. ⊹</p> <p id='Paul-Groth'><a rel='cito:credits' href="http://pgroth.com/">Paul Groth</a> is partly to blame for all this work as he (indirectly) challenged me to make it so. 🚀</p> <p id='Alexander-Garcia-Castro'><a rel='cito:credits' href="https://orcid.org/0000-0003-1238-2539">Alexander Garcia Castro</a> for initially nudging me to formulate my vision for scholarly communication which later set the core of my research and development. 🞋</p> <p id='the-anti-social-web'>The (anti?) <a rel='cito:credits' href="https://en.wikipedia.org/wiki/Social_web">Social Web</a>: from your encouragement to your dismissal of radical and lunatic scholarly endeavours; being the widest sounding board possible. 💬</p> </div> </section> <section resource='#introduction' rel='schema:hasPart' inlist='' id='introduction'> <h2 property='schema:name'>Introduction</h2> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://en.wikiquote.org/wiki/The_Matrix_Reloaded'> <p>'Why' is the only real source of power, without it you are powerless.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://en.wikiquote.org/wiki/The_Matrix_Reloaded" data-versionurl='https://web.archive.org/web/20190709103110/https://en.wikiquote.org/wiki/The_Matrix_Reloaded' data-versiondate='2019-07-09T10:31:10Z'>The Matrix Reloaded</a></cite>, Merovingian, 2003</footer> </blockquote> <section typeof='deo:Motivation' resource='#motivation' rel='schema:hasPart' inlist='' id='motivation'> <h3 property='schema:name'>Motivation</h3> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://en.wikipedia.org/wiki/Connections_%28TV_series%29'> <p>Would you do me a favour? I'd like to stop talking for a minute and when I do, take a look at the room you're in and above all at the man-made objects in that room that surround you – the television set, the lights, the phone and so on – and ask yourself what those objects do to your life just because they're there. Go ahead.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://en.wikipedia.org/wiki/Connections_%28TV_series%29" data-versionurl='https://web.archive.org/web/20190709103110/https://en.wikipedia.org/wiki/Connections_%28TV_series%29' data-versiondate='2019-07-09T10:31:10Z'>Connections</a></cite>, <a href="https://en.wikipedia.org/wiki/James_Burke_%28science_historian%29">James Burke</a>, 1979</footer> </blockquote> <p id='alternative-way-of-change'>Well, that is what this thesis is going to be all about. It is about modern research communication, and just because it is there, shapes the way we think and behave; and why it exists in the form it does, and who or what was responsible for it to exist at all. What is an alternative way of change?</p> <p id='sociotechnical-transformations'>The idiosyncratic relationships between technological breakthroughs and societal transformations throughout history are intrinsically intertwined. It was not until I came across <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Connections_%28TV_series%29" data-versionurl='https://web.archive.org/web/20190709103110/https://en.wikipedia.org/wiki/Connections_%28TV_series%29' data-versiondate='2019-07-09T10:31:10Z'>Connections</a></cite>, the TV series by James Burke that I had a glimpse of the phenomenon about the increasingly interlinked human endeavours over time. After encountering Marshall McLuhan’s theories on communication and how media have the power to shape and transform human nature, what to do next was mostly clear (in my head). Given these realisations or perspectives as a foundation, being a Web technologist only enabled me to build the necessary connections between what was previously missing or underdeveloped. The rest was mostly a matter of struggling with the ghost in the machine and working alongside our shared social challenges.</p> <p id='web-as-an-extension'>Ironically, even today, academics essentially operate within a paper-centric framework to create and disseminate publicly-funded knowledge by usually delegating it to third-party publishers which still operate in the 15th century. Meanwhile, the Web – if we can anthropomorphise for a moment – is disappointed by the distracted academics’ practices. I took the liberty to test the boundaries and demonstrate some of the aspects of what the native affordances of the Web provided – an extension of our central nervous system.</p> <p id='information-society'>I live in an <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Information_society" data-versionurl='https://web.archive.org/web/20190729074950/https://en.wikipedia.org/wiki/Information_society' data-versiondate='2019-07-29T07:49:50Z'>information society</a></cite>, which makes use of variety of communication media to meet societal needs. The Web has shaped social policies and practices around the world, as well as influence the creation and use of other technologies. It has also reconfigured individuals to be active participants in global information exchange, as well as passive consumers partly due to the abundance of instantaneously available multimedia. To date – 30 years old as of this writing – the Web is considered to be a net positive for society all meanwhile open and complex challenges remain. Like any human technology, what we devise and how we use them has societal implications.</p> <p id='the-story'>We can start this story from anywhere. I argue that in order to best contextualise this thesis, it is essential to operate under the understanding of communication mediums and scientific revolutions, as well as their effects on society. This is especially because the research goals of this thesis at its core is <em>sociotechnical</em>, and that a clear division between them will not do its justice. I believe that in order to push the boundaries of our knowledge further, it necessitates a multidisciplinary undertaking – taken <q cite='https://en.wikipedia.org/wiki/Grain_of_salt'>with a grain of salt</q>. One overarching goal is to foster the social machinery from different perspectives that is required to build a knowledge Web for any type of user; human, machine, or other. While I set the problem context to scholarly communication, applications of the knowledge and generated artifacts are potentially applicable to other initiatives in society.</p> <p id='assumptions'>I assume that researchers in scholarly communication are motivated to some extent personally, whether that is with the goal to take part in advancing collective knowledge, society and life, career advancement, prestige, or financial gain. Researchers are intrinsically interested in making their impact by way of sharing their findings in a manner that is most accessible to potential users. As for the underlying technical machinery for information exchange, I assume that it is useful to aim in designing interoperable information systems to help us address problems in context of societal goals. All of these aspects are part of the <q cite='http://www.worldcat.org/oclc/729965164'>social machine</q> of scholarly communication, and are explored through the sections.</p> <p id='up-next'>As many have argued, for scholarly communication to be more effective; accessible, usable, inclusive, as well as equitable, we need to adopt methods that are better at identifying and making use of the native affordances of the Web. This is particularly important today since academic and social activities use the Web as the primary medium to communicate (in contrast to systems that mimic paper media). Hence, I examine the core characteristics of the Web, discuss the state of affairs in scholarly communication, and share my findings on how a way to fulfill the forces and functions in scientific communication can be met by a socially-aware decentralised client application along with an ocean of open Web standards at its disposal.</p> </div> </section> <p id='framing-design-science'>In order to frame the <q>design science</q> of this thesis, the sections on <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-goals">Research Goals</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-questions">Research Questions</a></cite> are based on <cite>Research Goals and Research Questions</cite> in <cite><a rel='cito:usesMethodIn' href="https://www.springer.com/cda/content/document/cda_downloaddocument/9783662438381-c1.pdf" data-versionurl='https://web.archive.org/web/20190314101015/https://www.springer.com/cda/content/document/cda_downloaddocument/9783662438381-c1.pdf' data-versiondate='2019-03-14T10:10:15Z'>Design Science Methodology for Information Systems and Software Engineering</a></cite>, Wieringa, 2014.</p> <section resource='#research-goals' rel='schema:hasPart' inlist='' id='research-goals'> <h3 property='schema:name'>Research Goals</h3> <div property='schema:description' datatype='rdf:HTML'> <p>This section contains the <em>outlines</em> for social and technical research goals of this thesis. Each goal is further explored and related material is reviewed in relevant sections.</p> <section resource='#stakeholders' rel='schema:hasPart' inlist='' id='stakeholders'> <h4 property='schema:name'>Stakeholders</h4> <div property='schema:description' datatype='rdf:HTML'> <p>In research projects, there are various stakeholders (in)directly acting as internal and external forces in scholarly communication. In order to address societal concerns, research sponsors fund projects to attain reusable technical designs and acquire new knowledge in the process. Knowledge workers like researchers and scholars are driven by curiosity to advance our understanding of the universe and share their findings. The public is interested in accessing applications of research to educate and for the well-being of life. The industry needs efficient functioning of scientific communication in order to translate the return of research capital.</p> <p>I am a member of stakeholders acting in particular as a knowledge worker, a part of public, an operator (<q>end user</q>, maintainer, operational supporter).</p> </div> </section> <section resource='#problem-context' rel='schema:hasPart' inlist='' id='problem-context'> <h4 property='schema:name'>Problem Context</h4> <div property='schema:description' datatype='rdf:HTML'> <p id='interoperability-autonomy-problems'>There are several sociotechnical limitations in the contemporary paradigm that the scholarly communication operates in. I will summarise a subset of problem areas pertaining to interoperability of systems and autonomy of actors. Each problem space will be reviewed in relevant sections of this thesis.</p> <p id='restricted-access'>There is an abundance of scientific information on the Web. However, humans and machines have restricted access, are required to pay, or hindered to efficiently discover, make sense of, and create new connections between information.</p> <p id='non-interoperable-web-systems'>Data on the Web tends to be locked into non-interoperable Web systems or be only usable by applications which created it. Actors – creators and readers – in these systems often do not have the means to switch between applications and share data between them.</p> <p id='lack-of-diverse-value-chains'>There is a lack of diverse value chains for different units of scholarly communication due to tightly coupled proprietary systems. The actors in these systems create and exchange information by (being forced into) using packaged systems and workflows, give up their rights, and not have control over how their creations can be disseminated and reused.</p> <p id='web-affordances-neglected'>The actors in the system commonly use print-centric tools and data representations to exchange content on the Web and neglect to take advantage of the available affordances of the Web (media). Actors’ possibility to shape their contributions in Web media is typically constrained to third-party service provider’s centralised and non-interoperable solutions.</p> <p id='identifier-data-privacy'>Actors’ use of personal and professional identifiers, as well as data storage from third-parties are subject to privacy issues. Actors typically manage multiple disconnected profiles, social connections, and data spaces.</p> <p id='global-deficiencies'>These class of problems in the scholarly ecosystem have implications on access, interoperability, findability, cost and privacy. Consequently, resulting in global deficiencies in the ecosystem. The research questions; <cite><a href="https://csarven.ca/linked-research-decentralised-web/#technical-research-problems">Technical Research Problems</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#knowledge-questions">Knowledge Questions</a></cite>, are aimed at understanding the internal mechanisms of these type of problems and address them for stakeholders.</p> </div> </section> <section resource='#technical-research-goals' rel='schema:hasPart' inlist='' id='technical-research-goals'> <h4 property='schema:name'>Technical Research Goals</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Given the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#problem-context">Problem Context</a></cite>, the technical goals of this thesis are to identify gaps in the Web standards landscape and to create new technical standards where necessary. A further goal is to demonstrate how existing and new standards and technologies can be used in combination as part of a user-facing application for publishing and interacting with scholarly artifacts.</p> <p>The <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-questions">Research Questions</a></cite> are geared to meeting these goals.</p> </div> </section> <section resource='#knowledge-goals' rel='schema:hasPart' inlist='' id='knowledge-goals'> <h4 property='schema:name'>Knowledge Goals</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The knowledge goals of this thesis describe the theoretical underpinnings necessary to accomplish the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#technical-research-goals">Technical Research Goals</a></cite>.</p> <p>We need to understand the various technological mediums in which scholarly communication has historically operated, and how and why this has changed, in order to have a frame of reference for new work. Our investigation must examine scholarship with respect to the media employed for publication, dissemination and feedback, and identify some of the constraints and limitations. This research can serve to describe the effects and artifacts of scholarly communication, as well as conceptual and technical designs that are used to exchange units of information by both humans and machines.</p> <p>The scholarly communication ecosystem is a complex sociotechnical system, which cannot be understood from either a social or a technical perspective alone. Understanding how these aspects feed into and influence on another is crucial for the furtherance of this work.</p> <p>The corpus of knowledge collected in this thesis is driven by understanding the current state of knowledge in the field based on scientific, technical, and professional literature. <cite><a href="https://csarven.ca/linked-research-decentralised-web/#literature-review-and-citations">Literature Review and Citations</a></cite> describes the constraints on how research knowledge will be collected.</p> </div> </section> </div> </section> <section resource='#research-questions' rel='schema:hasPart' inlist='' id='research-questions'> <h3 property='schema:name'>Research Questions</h3> <div property='schema:description' datatype='rdf:HTML'> <p>I first outline the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#technical-research-problems">Technical Research Problems</a></cite> and then a set of corresponding <cite><a href="https://csarven.ca/linked-research-decentralised-web/#knowledge-questions">Knowledge Questions</a></cite>. The questions refine the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-goals">Research Goals</a></cite>.</p> <section resource='#technical-research-problems' rel='schema:hasPart' inlist='' id='technical-research-problems'> <h4 property='schema:name'>Technical Research Problems</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The technical research problems here consist of artifacts to (re)design, requirements to satisfy, stakeholders’ goals to achieve, and the problem context. The overarching technical research problem is defined as follows:</p> <dl id='technical-research-problem-central'> <dt>Central Design Problem</dt> <dd>How can we design decentralised Web applications for information exchange in an open and decoupled scholarly communication ecosystem?</dd> </dl> <p>This research problem can be refined into two sub-problems:</p> <dl id='technical-research-problems-internal'> <dt id='technical-research-problems-mechanisms'>Mechanisms</dt> <dd>What technical mechanisms, standards or protocols are necessary for decentralised information exchange on the Web? Which already exist and what is missing?</dd> <dt id='technical-research-problems-artifacts'>Artifacts</dt> <dd>How can Web technologies be employed to fulfill the core functions of scholarly communication in an open and interoperable way?</dd> </dl> </div> </section> <section resource='#knowledge-questions' rel='schema:hasPart' inlist='' id='knowledge-questions'> <h4 property='schema:name'>Knowledge Questions</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The <cite><a href="https://csarven.ca/linked-research-decentralised-web/#knowledge-goals">Knowledge Goals</a></cite> can be refined into following knowledge questions:</p> <ul> <li>How can we situate scholarly communication using the Web with respect to technological communication mediums and scientific paradigms?</li> <li>What are the core components of scientific communication, how are they configured, and what are the effects of the interactions between them?</li> <li>What are contemporary practices around knowledge creation and dissemination, and how are communities working to improve these?</li> </ul> </div> </section> </div> </section> <section resource='#thesis-overview' rel='schema:hasPart' inlist='' id='thesis-overview'> <h3 property='schema:name'>Thesis Overview</h3> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://biblio.ugent.be/publication/522209/file/1873597.pdf'> <p>Static stand-alone paper is not an appropriate habitat for a thesis on linking. Therefore, the paper is included with the CD-ROM, not vice versa.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://biblio.ugent.be/publication/522209/file/1873597.pdf" data-versionurl='https://web.archive.org/web/20190312150733/https://biblio.ugent.be/publication/522209/file/1873597.pdf' data-versiondate='2019-03-12T15:07:33Z'>Dynamic and context-sensitive linking of scholarly information</a></cite>, Herbert Van de Sompel, 2000</footer> </blockquote> <figure resource='#this-thesis-is-a-knowledge-graph' rel='schema:hasPart' id='this-thesis-is-a-knowledge-graph'> <p><span property='schema:name' datatype='rdf:HTML'>This Thesis is a <q>Knowledge Graph</q>.</span> <span property='schema:description' datatype='rdf:HTML'><cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data">Linked Data</a></cite> aware applications can use the resource’s <a rel='schema:object' id='action-this-thesis-is-a-knowledge-graph' href='' about='#action-this-thesis-is-a-knowledge-graph'>underlying structured data</a> to offer <span rel='schema:potentialAction' about=''><a typeof='schema:ViewAction' href="https://csarven.ca/linked-research-decentralised-web/#action-this-thesis-is-a-knowledge-graph">visualisation and interaction</a></span> possibilities.</span></p> </figure> <p>All information of significance in this thesis is made available as <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data">Linked Data</a></cite> on the Web and archived.</p> <section resource='#document-structure' rel='schema:hasPart' inlist='' id='document-structure'> <h4 property='schema:name'>Structure</h4> <div property='schema:description' datatype='rdf:HTML'> <p>This thesis is sectioned into following main topic areas:</p> <dl> <dt><cite><a href="https://csarven.ca/linked-research-decentralised-web/#scholarly-communication-on-the-web">Scholarly Communication on the Web</a></cite></dt> <dd>Answers knowledge questions to describe and explain characteristics of the Web and the state of scholarly communication on the Web.</dd> <dt><cite><a href="https://csarven.ca/linked-research-decentralised-web/#structure-of-scholarly-information">Structure of Scholarly Information</a></cite></dt> <dd>Answers knowledge questions to identify common structural and semantic patterns for human- and machine-readable information. Contributions: <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-statistics">Linked Statistics</a></cite> on publishing and exchanging statistical Linked Data.</dd> <dt><cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralising-scholarly-communication">Decentralising Scholarly Communication</a></cite></dt> <dd>Answers knowledge questions pertaining to design of socially-aware decentralised systems, as well as classification of Web specifications for forces and functions in scientific communication. Contributions: <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#forces-and-functions-in-specifications">Forces and Functions in Specifications</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#the-effects-and-artifacts-of-autonomous-engagement">The Effects and Artifacts of Autonomous Engagement</a></cite>.</dd> <dt><cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-notifications">Linked Data Notifications</a></cite></dt> <dd>Answers technical research problems on how to design a decentralised notification protocol. Contributions: Design of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-notifications">A Decentralised Notifications Protocol</a></cite> to exchange reusable decentralised notifications.</dd> <dt><cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralised-linked-research-application">Decentralised Linked Research Application</a></cite></dt> <dd>Answers technical research problems on how to design a decentralised application. Contributions: <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linking-the-decentralised-information-space">Linking the Decentralised Information Space</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#implementing-a-read-write-application">Implementing a Read-Write Application</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#dokieli-forces-functions">Forces and Functions in dokieli</a></cite>.</dd> <dt><cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-research">Linked Research</a></cite></dt> <dd>A description and explanation of the effects of applying Web-centric standards and practices in order to enable creators and consumers of open knowledge, as well as a generalisation of core principles that can serve as an exemplar to set forth a shift in scholarly communication. Contributions: <cite><a href="https://csarven.ca/linked-research-decentralised-web/#design-principles">Design Principles</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#call-for-linked-research">Call for Linked Research</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-research-forces-functions">Forces and Functions of Linked Research</a>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-research-as-a-paradigm">Linked Research as a Paradigm</a></cite></cite>.</dd> </dl> <p>In <cite><a href="https://csarven.ca/linked-research-decentralised-web/#conclusions">Conclusions</a></cite>, I will discuss the thesis findings in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-questions-review">Research Questions Review</a></cite>, offer my <cite><a href="https://csarven.ca/linked-research-decentralised-web/#interpretations">Interpretations</a></cite>, and share <cite><a href="https://csarven.ca/linked-research-decentralised-web/#perspectives">Perspectives</a></cite> for the future.</p> </div> </section> <section resource='#literature-review-and-citations' rel='schema:hasPart' inlist='' id='literature-review-and-citations'> <h4 property='schema:name'>Literature Review and Citations</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The five review characteristics; focus, goal, perspective, coverage, and audience, are borrowed from the summary at <cite><a rel='cito:usesMethodIn' href="https://pareonline.net/pdf/v14n13.pdf" data-versionurl='https://web.archive.org/web/20181027145946/https://pareonline.net/pdf/v14n13.pdf' data-versiondate='2018-10-27T14:59:46Z'>Practical Assessment, Research &amp; Evaluation</a></cite>, Randolph, 2009, which is based on <cite>Organizing knowledge syntheses: A taxonomy of literature reviews</cite>, Cooper, 1988.</p> <p id='focus-characteristic'><strong>Focus</strong>: The core focus of the reviews and cited material was to establish a connection between the available theories and their underlying mechanisms, as well as the application of certain interventions to help identify and apply a practical need. Hence, majority of the analysis and synthesis focuses on practices or applications in the field.</p> <p id='goal-characteristic'><strong>Goal</strong>: My intention is to present this thesis in a way that is technically and meaningfully connected with the knowledge out there, as well as to connect my contributions. Hence, I would like any reader (human, machine, or other) in the future to be able to observe and verify the connections that I have put together as much as possible. The main interest for the reviews and citations were information integration for the big picture, identification and discussion of central issues, and explicating arguments.</p> <p id='perspective-characteristic'><strong>Perspective</strong>: As this thesis is about connecting and endorsing open scholarly knowledge in context of decentralised and social Web, there is a selection bias in favour of (research) information based on the following criteria:</p> <ul> <li>Publicly accessible URL in the case of digital objects.</li> <li>Referencable URI in the case of printed material.</li> <li>Article and data including full text and media.</li> <li>Accessible by anyone (humans and machines).</li> <li>Available to anyone without financial, legal, or technical barriers (besides an Internet connection, free of charge).</li> <li>Preference for source materials (as opposed to third-party re-publications).</li> <li>Preference for research artifacts that can be publicly archived and recalled with free on-demand services.</li> <li>Preference for research artifacts made available with declarative languages (as opposed to dynamically generated as part of an application).</li> </ul> <p>At the time of this writing, HTTP URIs of research objects resolving to <q>paywall</q> or <q>access toll</q> landing pages were excluded. The rationale is that if information is <em>only</em> available to a subset of humans, then it is not deemed to be part of the observable and reproducible universal knowledge – a fundamental requirement of applying the scientific method. Fortunately, I was able to gather plenty of open and free <em>resources</em> to support the narrative of this thesis, and addressing its knowledge goals.</p> <p id='coverage-characteristic'><strong>Coverage</strong>: The reviewed and cited works are composed of a purposive sample, examining only pivotal works and the source of concepts in the field to tie them together. While this selection is naturally not exhaustive in and itself, I have considered, located, and discussed material that was available at the time of my investigation. While there may be natural imperfections in data collection, evaluation, analysis, and interpretation in any literature review and bibliographic citations, I have aimed to be systematic in what’s covered. To that end, the works – text, data, media, or other – mentioned in this thesis were included or excluded based on the following criteria:</p> <ul> <li>Information in English.</li> <li>Web accessible digital objects.</li> <li>Printed material available through a public library loan.</li> <li>Referencing information that is legally made available to the public (to the best of my knowledge!)</li> </ul> <p id='organisation-characteristic'><strong>Organisation</strong>: Historical and conceptual formats were used as organisation schemes. My observations and categorisations are in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#scholarly-communication-on-the-web">Scholarly Communication on the Web</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#structure-of-scholarly-information">Structure of Scholarly Information</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralising-scholarly-communication">Decentralising Scholarly Communication</a></cite> are first organised conceptually, and then chronologically ordered.</p> <p id='audience-characteristic'><strong>Audience</strong>: for anyone interested in traversing the connections and building on the underlying findings. See also <cite><a href="https://csarven.ca/linked-research-decentralised-web/#audience">Audience</a></cite>.</p> </div> </section> <section resource='#document-convention' rel='schema:hasPart' inlist='' id='document-convention'> <h4 property='schema:name'>Document Convention</h4> <div property='schema:description' datatype='rdf:HTML'> <p id='sic'>Unless otherwise noted, all of the quotations are <em>sic</em>.</p> <p id='scope-scholarly-communication'>With the exception of referring to existing literature, references made to <em>research</em>, <em>scientific</em> or <em>scholarly</em> communication in this thesis is discipline agnostic. Hence, I mean any academic discipline, from humanities, social, natural, formal, to applied sciences.</p> <p id='prefixes-namespaces'>The prefixes and namespaces that are used in this article are as follows:</p> <dl> <dt><code>acl</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/auth/acl">http://www.w3.org/ns/auth/acl#</a></dd> <dt><code>as</code></dt> <dd><a rel='cito:citesAsAuthority' href="https://www.w3.org/ns/activitystreams">https://www.w3.org/ns/activitystreams#</a></dd> <dt><code>cert</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/auth/cert">http://www.w3.org/ns/auth/cert#</a></dd> <dt><code>cito</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://purl.org/spar/cito/">http://purl.org/spar/cito/</a></dd> <dt><code>contact</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/2000/10/swap/pim/contact">http://www.w3.org/2000/10/swap/pim/contact#</a></dd> <dt><code>dcterms</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://purl.org/dc/terms/">http://purl.org/dc/terms/</a></dd> <dt><code>doap</code></dt> <dd><a href="http://usefulinc.com/ns/doap">http://usefulinc.com/ns/doap#</a></dd> <dt><code>earl</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/earl">http://www.w3.org/ns/earl#</a></dd> <dt><code>foaf</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://xmlns.com/foaf/0.1/">http://xmlns.com/foaf/0.1/</a></dd> <dt><code>ldn</code></dt> <dd><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/">https://www.w3.org/TR/ldn/#</a></dd> <dt><code>ldp</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/ldp">http://www.w3.org/ns/ldp#</a></dd> <dt><code>mem</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://mementoweb.org/ns">http://mementoweb.org/ns#</a></dd> <dt><code>oa</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/oa">http://www.w3.org/ns/oa#</a></dd> <dt><code>owl</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/2002/07/owl">http://www.w3.org/2002/07/owl#</a></dd> <dt><code>pim</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/pim/space">http://www.w3.org/ns/pim/space#</a></dd> <dt><code>prov</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/prov">http://www.w3.org/ns/prov#</a></dd> <dt><code>qb</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://purl.org/linked-data/cube">http://purl.org/linked-data/cube#</a></dd> <dt><code>rdf</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/1999/02/22-rdf-syntax-ns">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a></dd> <dt><code>rdfs</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/2000/01/rdf-schema">http://www.w3.org/2000/01/rdf-schema#</a></dd> <dt><code>solid</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/solid/terms">http://www.w3.org/ns/solid/terms#</a></dd> <dt><code>schema</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://schema.org/">http://schema.org/</a></dd> <dt><code>skos</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/2004/02/skos/core">http://www.w3.org/2004/02/skos/core#</a></dd> <dt><code>void</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://rdfs.org/ns/void">http://rdfs.org/ns/void#</a></dd> <dt><code>xhv</code></dt> <dd><a rel='cito:citesAsAuthority' href="http://www.w3.org/1999/xhtml/vocab">http://www.w3.org/1999/xhtml/vocab#</a></dd> </dl> </div> </section> <section resource='#how-to-read-this-thesis' rel='schema:hasPart' inlist='' id='how-to-read-this-thesis'> <h4 property='schema:name'>How to Read This Thesis</h4> <div property='schema:description' datatype='rdf:HTML'> <p resource='https://web.archive.org/web/20181027125108/https://html.spec.whatwg.org/multipage/introduction.html#how-to-read-this-specification' rel='cito:parodies'>This thesis should be read like all other theses. First, it should be read cover-to-cover, multiple times. Then, it should be read backwards at least once. Then it should be read by picking random sections from the contents list and following all the cross-references.</p> </div> </section> </div> </section> <hr/> <blockquote cite='https://en.wikiquote.org/wiki/The_Matrix_(film)'> <p>This is your last chance. After this, there is no turning back. You take the <span class='unicode-blue-pill'>blue pill</span>, the story ends, you wake up in your bed and believe whatever you want to believe. You take the <span class='unicode-red-pill'>red pill</span>, you stay in Wonderland and I show you how deep the rabbit hole goes.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://en.wikiquote.org/wiki/The_Matrix_(film)" data-versionurl='https://web.archive.org/web/20190709103110/https://en.wikiquote.org/wiki/The_Matrix_(film)' data-versiondate='2019-07-09T10:31:10Z'>The Matrix</a></cite>, Morpheus, 1999</footer> </blockquote> </div> </section> <section resource='#scholarly-communication-on-the-web' rel='schema:hasPart' inlist='' id='scholarly-communication-on-the-web'> <h2 property='schema:name'>Scholarly Communication on the Web</h2> <div property='schema:description' datatype='rdf:HTML'> <p>In this section I describe and explain characteristics of the Web and the state of scholarly communication on the Web.</p> <section resource='#mediums-and-paradigms' rel='schema:hasPart' inlist='' id='mediums-and-paradigms'> <h3 property='schema:name'>Mediums and Paradigms</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The effects of technological mediums on society have some similarities to the evolution of scientific paradigms. This will serve as the historical framing for this thesis and helps to contextualise the application of core methods and values of the Web on scholarly communication.</p> <section resource='#on-mediums' rel='schema:hasPart' inlist='' id='on-mediums'> <h4 property='schema:name'>On Mediums</h4> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='http://www.worldcat.org/oclc/249804097'> <p>Gutenberg had, in effect, made every man a reader. Today, Xerox and other forms of reprography tend to make every man a publisher. This massive reversal has, for one of its consequences, elitism. The nature of the mass production of uniform volumes certainly did not foster elites but rather habits of universal reading. Paradoxically, when there are many readers, the author can wield great private power, whereas small reading elites may exert large corporate power.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.worldcat.org/oclc/249804097" data-versionurl='https://web.archive.org/web/20190724215903/https://www.worldcat.org/title/understanding-me-lectures-and-interviews/oclc/249804097' data-versiondate='2019-07-24T21:59:03Z'>Understanding Me</a></cite>, The Future of the Book, p. 179, Marshall McLuhan, 1972</footer> </blockquote> <p id='the-gutenberg-galaxy'>In the 1962 book, <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/993539009" data-versionurl='https://web.archive.org/web/20190709103114/https://www.worldcat.org/title/gutenberg-galaxy-the-making-of-typographic-man/oclc/993539009' data-versiondate='2019-07-09T10:31:14Z'>The Gutenberg Galaxy</a></cite>, <a href="https://en.wikipedia.org/wiki/Marshall_McLuhan">Marshall McLuhan</a> explains how the adoption of new technological mediums shifted human culture in Europe through four eras, with emphasis placed on extending our senses:</p> <ol type='i'> <li>acoustic age (c. until 800 BCE); audile-tactile, preliterate tribal culture,</li> <li>age of writing (c. 800 BCE to 1500 CE); audile/visual, manuscript culture,</li> <li>age of print (c. 1500 to 1850 CE); visual, mechanical mass communication,</li> <li>age of electronic media (c. 1850 CE to present); central nervous system, <q cite='http://www.worldcat.org/oclc/993539009'>global village</q></li> </ol> <p id='acoustic-age'><strong>Acoustic age</strong>: According to McLuhan, the acoustic world depended on speech and hearing for communication. Information was an instantaneous and simultaneous experience for speakers and listeners with a collective identity. Existence was about narrated events and survived through story-telling, songs, and poems.</p> <p id='writing-age'><strong>Writing age</strong>: When the phonetic alphabet came along, information could be defined, classified, and referenced, as well as better preserved. The written word made human knowledge tangible, stretching itself across time and space. While the written word increased the need of our visual system, it brought along the acoustic world with it – early reading was still an oral, and by and large an external (social) activity, as opposed to internal in one’s mind.</p> <p id='print-age'><strong>Print age</strong>: Through the age of writing to the age of print, the phonetic alphabet transformed from being an audile-tactile experience to purely visual. Gutenberg’s printing press (c. 1439 CE), through the process of mechanical mass production, had an extensive impact on the circulation of information, and triggered reconfiguration of societies’ structures. Books have boundaries, uniformity, continuity, linearity, and repeatability; this had a profound influence on the organisation of social systems. Print further <q>detribalised</q> social organisations, enabling individualism, fragmentation, government centralism, and nationalism. As a work was mechanically copied, it maintained its consistency and accuracy in comparison to hand copied manuscripts. It was easier to transmit information without personal contact. Then came the responsibility for authors to be consistent with their definitive statements. In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/174040346" data-versionurl='https://web.archive.org/web/20190709103113/https://www.worldcat.org/title/connections/oclc/174040346' data-versiondate='2019-07-09T10:31:13Z'>Connections</a></cite>, 1978, <a href="https://en.wikipedia.org/wiki/James_Burke_%28science_historian%29">Burke</a>, posits that once a piece of knowledge was publicly shared, its creator was identifiable and received recognition. Print media democratised knowledge as soon as it became a commodity, mass produced and distributed to populations. The general public had a reason to not only access or acquire media like books, but also had a reason to learn to read for themselves, where previously it was necessary to go through a third-party; the wealthy, scholar, or theologian, in order to be informed. The increase in literacy consequently helped the public to be better knowledgeable about world matters without being subject to official or unofficial censorship. As there were more readers, the ability to write fostered the formulation and preservation of individual thought and culture, as well as enabling the public to voice themselves and question authority. In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/611804138" data-versionurl='https://web.archive.org/web/20190709103114/https://www.worldcat.org/title/printing-press-as-an-agent-of-change-communications-and-cultural-transformations-in-early-modern-europe-volumes-i-and-ii/oclc/611804138' data-versiondate='2019-07-09T10:31:14Z'>The Printing Press as an Agent of Change</a></cite>, <a href="https://en.wikipedia.org/wiki/Elizabeth_Eisenstein">Eisenstein</a>, 1979, contends that the print media also played a key role in facilitating scientific publishing and the scientific revolution.</p> <p id='electronic-age'><strong>Electronic age</strong>: The electric <em>mass</em>-age made it possible to have instantaneous communication in different forms across the globe. Electronic media did not have the same kinds of boundaries that the print had on society and so society was able to re-organise itself differently. Unlike print media, electronic media like telephone, radio, and television, did not require literacy, and consequently the support of a stable education system. As a whole, it had the same effects on society as the acoustic space created in the tribal world. The speed of information increased, and with it recovered sociality and involvement which was previously abandoned as the primary mode of information exchange. Perhaps more interestingly, as the flow of information through various electronic media accelerated, it facilitated our natural tendency to recognise patterns and (ir)regularities in data – in comparison to print media which happened to isolate, classify, and immobilise items in fixed space.</p> <p>Later I will revisit McLuhan’s studies on the psychic and social consequences of technological innovation and apply them to scholarly communication on the Web.</p> </div> </section> <p>Next, to continue to paint the historical backdrop against which this thesis is placed, I look at the European-centric scientific revolution which overlapped with the transition from the manuscript to the print-centric mode of information organisation and dissemination.</p> <section resource='#on-paradigms' rel='schema:hasPart' inlist='' id='on-paradigms'> <h4 property='schema:name'>On Paradigms</h4> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://iweb.langara.bc.ca/rjohns/files/2018/03/Kuhn_theory_choice.pdf'> <p>I simply assert the existence of significant limits to what the proponents of different theories can communicate to one another.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://iweb.langara.bc.ca/rjohns/files/2018/03/Kuhn_theory_choice.pdf" data-versionurl='https://web.archive.org/web/20180619083836/https://iweb.langara.bc.ca/rjohns/files/2018/03/Kuhn_theory_choice.pdf' data-versiondate='2018-06-19T08:38:36Z'>Objectivity, Value Judgment, and Theory Choice</a></cite>, Thomas Kuhn, 1973</footer> </blockquote> <p id='the-structure-of-scientific-revolutions'>In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/857115808" data-versionurl='https://web.archive.org/web/20190724215243/https://www.worldcat.org/title/structure-of-scientific-revolutions/oclc/857115808' data-versiondate='2019-07-24T21:52:43Z'>The Structure of Scientific Revolutions</a></cite>, <a href="https://en.wikipedia.org/wiki/Thomas_Kuhn">Thomas Kuhn</a>, 1962, proposes an explanation for the process of discovery and progress in the history and philosophy of science. Kuhn contended that science did not progress linearly through history, rather it starts with a period that’s disorganised, and then a paradigm – a collection of <em>exemplar</em> agreed by scientists on how problems are to be understood – develops to organise things for day-to-day <q>normal science</q> to take place under the governed paradigm. After some time, <q>anomalies</q> in the paradigm accumulate and lead to a <q>crisis</q> phase where multiple competing paradigms attempt to resolve the issues. This is a particular point in which the community struggles to come to an agreement on the fittest way to practise future science. Finally a <q>paradigm shift</q> – revolution – refers to the last phase where transforming ideas and assertions mature enough to bring order to earlier anomalies, and cause a change in world view.</p> <p id='objectivity-value-judgment-and-theory-choice'>In <cite><a rel='cito:obtainsBackgroundFrom' href="https://iweb.langara.bc.ca/rjohns/files/2018/03/Kuhn_theory_choice.pdf" data-versionurl='https://web.archive.org/web/20180619083836/https://iweb.langara.bc.ca/rjohns/files/2018/03/Kuhn_theory_choice.pdf' data-versiondate='2018-06-19T08:38:36Z'>Objectivity, Value Judgment, and Theory Choice</a></cite>, Kuhn, 1973, sets out five characteristics as a basis to explain which paradigms and methods have been adopted in the past, or may be considered for adoption in the future:</p> <dl id='paradigm-characteristics'> <dt>Accuracy</dt> <dd>Application of quantitative and qualitative agreements in a domain.</dd> <dt>Consistency</dt> <dd>Internal and external consistency in relation to related theories.</dd> <dt>Scope</dt> <dd>Coverage and consequences of theories in what they can explain.</dd> <dt>Simplicity</dt> <dd>Computational labour required for explanations.</dd> <dt>Fruitfulness</dt> <dd>Explaining previously unnoted relationships or potential to disclose new phenomenon.</dd> </dl> <p id='fruitful-science'>Kuhn reasoned that progress in science was not a mere line leading to truth, but the notion of moving away from less adequate concepts of and interactions with the world in favour of more <em>fruitful</em>. As to which paradigm can be objectively determined to be better, Kuhn argued that scientists’ decision was ultimately inter-subjective and required value judgement because paradigms – the ideas and assertions within – were not necessarily directly comparable. For example, early versions of the heliocentric model proposed by Copernicus in <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Commentariolus" data-versionurl='https://web.archive.org/web/20190709103110/https://en.wikipedia.org/wiki/Commentariolus' data-versiondate='2019-07-09T10:31:10Z'>Commentariolus</a></cite> (1514), as well as the matured version in <cite xml:lang='la' lang='la'><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/De_revolutionibus_orbium_coelestium" data-versionurl='https://web.archive.org/web/20190709103110/https://en.wikipedia.org/wiki/De_revolutionibus_orbium_coelestium' data-versiondate='2019-07-09T10:31:10Z'>De revolutionibus orbium coelestium</a></cite> (1543) was neither quantitatively or qualitatively more accurate than Ptolemy’s <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Geocentric_model" data-versionurl='https://web.archive.org/web/20190709103111/https://en.wikipedia.org/wiki/Geocentric_model' data-versiondate='2019-07-09T10:31:11Z'>geocentric model</a></cite> (c. 2nd century CE) based on the knowledge and instruments available at the time. While they were equally internally consistent, geocentrism was regarded to be more consistent with the other accepted theories and doctrines in comparison. Copernicus’ case however offered a simpler explanation and broader scope of application which ultimately was preferred. These were attractive characteristics for Kepler and Galileo when they came to investigate. With Newton’s laws for motion and gravitation, the heliocentric model matured enough to set a new course for science and research.</p> <p>Another example demonstrating the complexity of choosing a theory was from the perspective of language and communication. For instance, the term "mass" has radically different meanings in Newton’s theory of gravity and Einstein’s relativity theory because the definitions are isolated to their respective paradigms. However, General Relativity gave a new lens to understanding the interaction of mass in space-time. While the definition for mass changed, Einstein’s theory was still able to precisely predict Newton’s theory, and further provided an explanation for how gravity worked.</p> <p>Contemporary scholarly communication is situated within a particular paradigm. In <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-research-as-a-paradigm">Linked Research as a Paradigm</a></cite> I will use Kuhn’s theory of choosing paradigms as a heuristic device to <cite><a href="https://csarven.ca/linked-research-decentralised-web/#contextualising-linked-research">Contextualise Linked Research</a></cite>.</p> </div> </section> <section resource='#read-view-mirror' rel='schema:hasPart' inlist='' id='rear-view-mirror'> <h4 property='schema:name'>Rear-View Mirror</h4> <div property='schema:description' datatype='rdf:HTML'> <p><cite><a href="https://csarven.ca/linked-research-decentralised-web/#the-gutenberg-galaxy">The Gutenberg Galaxy</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#the-structure-of-scientific-revolutions">The Structure of Scientific Revolutions</a></cite> were coincidently published in 1962. While the accomplishments of McLuhan and Kuhn had differences in methodology and structure, they reveal the overwhelming effects of patterns of change when new technologies and paradigms are adopted by society. These major communication shifts in society as a whole, and specifically in the mode of scientific inquiry, are rare and significant events in history. Content follows form; mediums and paradigms shape the space.</p> <p>As the characteristics of the spoken word carried over to writing, and writing to print, print media also influenced electronic media like the Web and hypermedia. Print’s typography and knowledge organisation affects the standards, tools, and interfaces that are still used today to exchange knowledge on the Web, as well as certain social expectations or assumptions. For example, authoring tools help us to design and create electronic documents that resemble print representations even if they are not intended to be printed. McLuhan described this phenomenon as though looking at the <q cite='https://archive.org/details/thisismarshallmcluhanthemediumisthemessage'>rear-view mirror</q>; <q>the old medium is always the content of the new medium</q>, <cite><a rel='cito:obtainsBackgroundFrom' href="https://archive.org/details/thisismarshallmcluhanthemediumisthemessage" data-versionurl='https://web.archive.org/web/20190709105639/https://archive.org/details/thisismarshallmcluhanthemediumisthemessage' data-versiondate='2019-07-09T10:56:39Z'>This is Marshall McLuhan: The Medium is the Message</a></cite>, McLuhan, 1967. While scholarly communication is transforming due to the effects of the Web, its content, shape, and way of communicating is still based on the characteristics of print media.</p> </div> </section> <p>We need to examine our assumptions about scholarly communication on the Web in order to understand its social implications. Building on the previous brief histories of media evolution and scientific communication, the next review is of the history of the Web (a <q cite='http://www.worldcat.org/oclc/729965164'>social machine</q>) and then specific role the Web plays in contemporary scholarly communication. The focus of the rest of this section is on structural changes in scholarly communication, while the evolution of technical advancements runs in parallel.</p> </div> </section> <section resource='#web-a-social-machine' rel='schema:hasPart' inlist='' id='web-a-social-machine'> <h3 property='schema:name'>Web: A Social Machine</h3> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://groups.google.com/forum/message/raw?msg=alt.hypertext/eCTkkOoWTAY/bJGhZyooXzkJ'> <pre>From: timbl@info .cern.ch (Tim Berners-Lee) Newsgroups: alt.hypertext Subject: WorldWideWeb: Summary Date: 6 Aug 91 16:00:12 GMT The WWW project merges the techniques of information retrieval and hypertext to make an easy but powerful global information system. The project started with the philosophy that much academic information should be freely available to anyone. It aims to allow information sharing within internationally dispersed teams, and the dissemination of information by support groups.</pre> <footer><cite><a rel='cito:includesQuotationFrom' href="https://groups.google.com/forum/message/raw?msg=alt.hypertext/eCTkkOoWTAY/bJGhZyooXzkJ" data-versionurl='https://web.archive.org/web/20180826220707/https://groups.google.com/forum/message/raw?msg=alt.hypertext/eCTkkOoWTAY/bJGhZyooXzkJ' data-versiondate='2018-08-26T22:07:07Z'>WorldWideWeb: Summary</a></cite>, alt.hypertext, Tim Berners-Lee, 1991</footer> </blockquote> <p id='social-web'>The World Wide Web is inherently social and comprises various abstract <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Social_machine" data-versionurl='https://web.archive.org/web/20190709105639/https://en.wikipedia.org/wiki/Social_machine' data-versiondate='2019-07-09T10:56:39Z'>social machines</a></cite> – <q cite='http://www.worldcat.org/oclc/729965164'>processes in which the people do the creative work and the machine does the administration</q>, <a href="https://www.w3.org/People/Berners-Lee/">Berners-Lee</a>, 1999, p. 172. In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/729965164" data-versionurl='https://web.archive.org/web/20190709105641/https://www.worldcat.org/title/weaving-the-web-the-original-design-and-ultimative-destiny-of-the-world-wide-web-by-its-inventor/oclc/729965164' data-versiondate='2019-07-09T10:56:41Z'>Weaving the Web</a></cite>, Berners-Lee, 1999, p. 123, states that he <q cite='http://www.worldcat.org/oclc/729965164'>designed it for a social effect – to help people work together</q>. The Web’s remarkable growth is fundamentally due to its social characteristics above anything else. The technical challenge was to define the basic common rules of protocol for machines to exchange information in a global system. In the remainder of this section, I outline the core components of the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#architecture-of-the-web">Architecture of the Web</a></cite>, discuss the notion and practice of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data">Linked Data</a></cite>, and postulate how the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#web-science">Web Science</a></cite> framework can help towards a holistic understanding of the interplay between social and technical challenges.</p> <section resource='#architecture-of-the-web' rel='schema:hasPart' inlist='' id='architecture-of-the-web'> <h4 property='schema:name'>Architecture of the Web</h4> <div property='schema:description' datatype='rdf:HTML'> <p id='interoperability-evolvability'>In <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/DesignIssues/Evolution" data-versionurl='https://web.archive.org/web/20190709105639/https://www.w3.org/DesignIssues/Evolution' data-versiondate='2019-07-09T10:56:39Z'>Evolution of the Web</a></cite>, Berners-Lee, 1998, mentions the mandate to maintain the Web as an interoperable information space while evolving with the needs of society and technology. Interoperability meant that different systems without prior out-of-band knowledge should be able to communicate if they agree to operate based on open standards. Evolvability meant that languages and interfaces need to handle extensions, mixing, accommodate diverse scenarios for information exchange, as well as co-evolve.</p> <p id='initial-web-components'>The Web architecture initially included three independent components:</p> <ul> <li id='web-component-uri'>the <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/People/Berners-Lee/ShortHistory.html" data-versionurl='https://web.archive.org/web/20190709105639/https://www.w3.org/People/Berners-Lee/ShortHistory.html' data-versiondate='2019-07-09T10:56:39Z'>Universal Document Identifier</a></cite> (<abbr title='Universal Document Identifier'>UDI</abbr>) to refer to information on the Web – now known as <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc3986" data-versionurl='https://web.archive.org/web/20190709105640/https://tools.ietf.org/html/rfc3986' data-versiondate='2019-07-09T10:56:40Z'>Uniform Resource Identifier</a></cite> (<abbr title='Uniform Resource Identifier'>URI</abbr>) to identify things, and <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc1738" data-versionurl='https://web.archive.org/web/20190709105639/https://tools.ietf.org/html/rfc1738' data-versiondate='2019-07-09T10:56:39Z'>Uniform Resource Locators</a></cite> (<abbr title='Uniform Resource Locator'>URL</abbr>) to locate them on the Web.</li> <li id='web-component-http'>the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc2616" data-versionurl='https://web.archive.org/web/20190709105640/https://tools.ietf.org/html/rfc2616' data-versiondate='2019-07-09T10:56:40Z'>Hypertext Transfer Protocol</a></cite> (<abbr title='Hypertext Transfer Protocol'>HTTP</abbr>) as the request-response mechanism for systems – <q cite='https://en.wikipedia.org/wiki/Client%E2%80%93server_model'>client–server model</q> – to communicate and exchange hypermedia documents on the Web.</li> <li id='web-component-html'>the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/html/" data-versionurl='https://web.archive.org/web/20190709105639/https://www.w3.org/TR/html/' data-versiondate='2019-07-09T10:56:39Z'>Hypertext Markup Language</a></cite> (<abbr title='Hypertext Markup Language'>HTML</abbr>) as the lingua franca to describe and navigate hypertext and multimedia documents on the Web.</li> </ul> <p id='w3c-tag-finding-awww'>The W3C <cite><a rel='cito:discusses' href="https://tag.w3.org/" data-versionurl='https://web.archive.org/web/20190709105641/https://tag.w3.org/' data-versiondate='2019-07-09T10:56:41Z'>Technical Architecture Group</a></cite> (<abbr title='Technical Architecture Group'>TAG</abbr>) codified the design principles, constraints, and good practice notes of the Web architecture in W3C TAG Finding, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/webarch/" data-versionurl='https://web.archive.org/web/20190709105641/https://www.w3.org/TR/webarch/' data-versiondate='2019-07-09T10:56:41Z'>Architecture of the World Wide Web, Volume One</a></cite> (<abbr title='Architecture of the World Wide Web'>AWWW</abbr>), 2004. It documents the three architectural bases of the Web: <q>Identification</q>, <q>Interaction</q>, <q>Data Formats</q>, and states that the specifications emerging from each may evolve independently – according to the principle: <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/webarch/#orthogonal-specs" data-versionurl='https://web.archive.org/web/20190709212200/https://www.w3.org/TR/webarch/' data-versiondate='2019-07-09T21:22:00Z'>Orthogonality</a></cite> – in order to increase the flexibility and robustness of the Web.</p> <section resource='#architecture-of-the-web-identification' rel='schema:hasPart' inlist='' id='architecture-of-the-web-identification'> <h5 property='schema:name'>Identification</h5> <div property='schema:description' datatype='rdf:HTML'> <p>In the context of the Web, anything – a resource – can be globally identified or named with a URI. As per <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc3986" data-versionurl='https://web.archive.org/web/20190709105640/https://tools.ietf.org/html/rfc3986' data-versiondate='2019-07-09T10:56:40Z'>Uniform Resource Identifier (URI): Generic Syntax</a></cite> (<abbr title='Uniform Resource Identifier (URI): Generic Syntax'>RFC 3986</abbr>) the <q cite='https://tools.ietf.org/html/rfc3986#section-3'>generic URI syntax</q> is defined as follows:</p> <pre><span class='highlight-uri'>URI</span> = <span class='highlight-uri-scheme'>scheme</span> ":" <span class='highlight-uri-hier-part'>hier-part</span> [ "?" <span class='highlight-uri-query'>query</span> ] [ "#" <span class='highlight-uri-fragment'>fragment</span> ]</pre> <p>The <span class='highlight-uri-hier-part'>hierarchical part (<code>hier-part</code>)</span> is composed of <span class='highlight-uri-hier-part'><span class='highlight-uri-hier-part-authority'>authority</span></span> and <span class='highlight-uri-hier-part'><span class='highlight-uri-hier-part-path'>path</span></span> components. The authority component refers to the naming authority that governs the remainder of the URI (path, query, and fragment components). Some examples:</p> <ul id='example-uris'> <li><code><span class='highlight-uri'><span class='highlight-uri-scheme'><span class='highlight-uri-scheme-http'>https</span></span>://<span class='highlight-uri-hier-part-authority'>csarven.ca</span><span class='highlight-uri-hier-part-path'>/</span>#<span class='highlight-uri-fragment'>i</span></span></code> (WebID)</li> <li><code><span class='highlight-uri'><span class='highlight-uri-scheme'>urn</span>:<span class='highlight-uri-hier-part-authority'>isbn</span>:<span class='highlight-uri-hier-part-path'>9781584230700</span></span></code> (book identifier)</li> <li><code><span class='highlight-uri'><span class='highlight-uri-scheme'>data</span>:<span class='highlight-uri-hier-part-path'>image/svg+xml;base64,PD94bWwg...</span></span></code> (encoded image)</li> <li><code><span class='highlight-uri'><span class='highlight-uri-scheme'>file</span>://<span class='highlight-uri-hier-part-path'>/var/www/dokieli/index.html</span></span></code> (local file)</li> <li><code><span class='highlight-uri'><span class='highlight-uri-scheme'>mailto</span>:<span class='highlight-uri-hier-part-authority'>info@csarven.ca</span></span></code> (email address)</li> <li><code><span class='highlight-uri'><span class='highlight-uri-scheme'>tel</span>:<span class='highlight-uri-hier-part-authority'>+15551234567</span></span></code> (telephone number)</li> </ul> <p>In 1996, Berners-Lee proposed a set of <em>axioms</em> for URIs as the backbone of what makes the Web a universal information space:</p> <blockquote id='axioms-uri' cite='https://www.w3.org/DesignIssues/Axioms#uri'> <dl> <dt id='axiom-0'>Axiom 0: Universality 1</dt> <dd>Any resource anywhere can be given a URI</dd> <dt id='axiom-0a'>Axiom 0a: Universality 2</dt> <dd>Any resource of significance should be given a URI.</dd> <dt id='axiom-1'>Axiom 1: Global scope</dt> <dd>It doesn't matter to whom or where you specify that URI, it will have the same meaning.</dd> <dt id='axiom-2a'>Axiom 2a: sameness</dt> <dd>a URI will repeatably refer to "the same" thing</dd> <dt id='axiom-2b'>Axiom 2b: identity</dt> <dd>the significance of identity for a given URI is determined by the person who owns the URI, who first determined what it points to.</dd> </dl> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.w3.org/DesignIssues/Axioms#uri" data-versionurl='https://web.archive.org/web/20190709105640/https://www.w3.org/DesignIssues/Axioms' data-versiondate='2019-07-09T10:56:40Z'>Universal Resource Identifiers -- Axioms of Web Architecture</a></cite>, Tim Berners-Lee, 1996</footer> </blockquote> <p id='uri-url'>URIs make it possible for real or abstract <em>things</em> to be identified. When HTTP URIs are dereferenced different representations (data formats) are made available from corresponding <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc1738" data-versionurl='https://web.archive.org/web/20190709105639/https://tools.ietf.org/html/rfc1738' data-versiondate='2019-07-09T10:56:39Z'>Uniform Resource Locators</a></cite> (<abbr title='Uniform Resource Locator'>URL</abbr>s). While URIs makes it possible to identify (name) things on the Web, URLs make it possible for humans and machines to locate and to interact further with content.</p> <p>The W3C’s <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/uri-clarification/" data-versionurl='https://web.archive.org/web/20190709105641/https://www.w3.org/TR/uri-clarification/' data-versiondate='2019-07-09T10:56:41Z'>URIs, URLs, and URNs: Clarifications and Recommendations 1.0</a></cite>, 2001, distinguishes their purpose:</p> <dl id='uri-url-urn'> <dt>URI</dt> <dd>Any type of identifier for a Web resource, eg. an HTTP URI.</dd> <dt>URL</dt> <dd>Any type of URI that can be resolved or dereferenced to locate a representation, eg. an HTTP URI is a URL.</dd> <dt>URN</dt> <dd>A specific type of URI that persistently identifies a resource. Once assigned to a resource, it cannot be reassigned.</dd> </dl> <p id='generic-resources'>A URI represents a resource as a conceptual entity and can have different electronic representations. The degree of genericity of a resource on the other hand is determined by the authority that allocates the URI. For example, a spectrum of URIs – generic to specific – can be assigned to a resource while conceptually being about the same thing. Time, language, content type, and the target medium are some of the common dimensions of genericity that Web software handles – <cite><a rel='cito:citesForInformation' href="https://www.w3.org/DesignIssues/Generic" data-versionurl='https://web.archive.org/web/20190709105641/https://www.w3.org/DesignIssues/Generic' data-versiondate='2019-07-09T10:56:41Z'>Generic Resources</a></cite>.</p> <p id='uri-ownership'>On the Web, any entity is entitled to associate a URI with a resource in accordance with <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/webarch/#uri-ownership" data-versionurl='https://web.archive.org/web/20190709212200/https://www.w3.org/TR/webarch/' data-versiondate='2019-07-09T21:22:00Z'>URI ownership</a></cite>. The approach for the <span class='highlight-uri-scheme'><code class='highlight-uri-scheme-http'>http:</code> scheme</span> and URI ownership is architecturally decentralised in that the location of a resource can physically exist anywhere in the world. However, architectural decentralisation is ultimately influenced by political or social centralisation at different levels. The <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Domain_Name_System" data-versionurl='https://web.archive.org/web/20190709105641/https://en.wikipedia.org/wiki/Domain_Name_System' data-versiondate='2019-07-09T10:56:41Z'>Domain Name System</a></cite> (<abbr title='Domain Name System'>DNS</abbr>) is one such hierarchically decentralised structure for naming resources connected to the Internet. It is a kind of a social centralisation in that the <cite><a rel='cito:discusses' href="https://www.icann.org/" data-versionurl='https://web.archive.org/web/20190709105642/https://www.icann.org/' data-versiondate='2019-07-09T10:56:42Z'>Internet Corporation for Assigned Names and Numbers</a></cite> (<abbr title='Internet Corporation for Assigned Names and Numbers'>ICANN</abbr>) coordinates the management of <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc1034" data-versionurl='https://web.archive.org/web/20190709111127/https://tools.ietf.org/html/rfc1034' data-versiondate='2019-07-09T11:11:27Z'>Domain Names</a></cite>, where top-level domains for like <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc920" data-versionurl='https://web.archive.org/web/20190729074951/https://tools.ietf.org/html/rfc920' data-versiondate='2019-07-29T07:49:51Z'>countries, categories, multiorganization</a></cite>, are then under the authority of specific organisations. Individuals then typically register fully qualified domain names (and map them to <abbr title='Internet Protocol'>IP</abbr> addresses) through accredited registries. Since DNS is a social construct, it can be brought down or controlled by an authority; states or people. As long as we continue to pay the required fees and manage the name server assignment, we can continue to use the URIs under that domain. Let us not forget that <q>you don’t buy domain names, you rent them</q> – attributed to Ester Dyson, ICANN chair.</p> <p id='urns-namespaces-and-registries'>In response to emerging new identification mechanisms on the Web, the W3C TAG Finding, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/2001/tag/doc/URNsAndRegistries-50" data-versionurl='https://web.archive.org/web/20190709105642/https://www.w3.org/2001/tag/doc/URNsAndRegistries-50' data-versiondate='2019-07-09T10:56:42Z'>URNs, Namespaces and Registries</a></cite>, 2005, addresses the questions <q>When should URNs or URIs with novel URI schemes be used to name information resources for the Web?</q> and <q>Should registries be provided for such identifiers?</q> with respect to requiring persistence, standardisation within administrative units, protocol independence, location independence, structuring resource identifiers, uniform access to metadata, and flexibility authority. The finding states that the <code class='highlight-uri-scheme-http'>http:</code> URI scheme can already achieve many of these requirements.</p> <p id='uri-http-context'>In this thesis, I focus mostly on URIs with the <span class='highlight-uri-scheme'><code class='highlight-uri-scheme-http'>http:</code> scheme</span> because of its proven utility and wide adoption. As specified in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#axiom-2b">Axiom 2b: identity</a></cite>, the owner of the HTTP URI defines the identity relationship which exists between a URI and the resources associated with it. Their reuse and persistence are defined by the information publisher – which may be also be the "owner" of the URI space. I expand on <cite><a href="https://csarven.ca/linked-research-decentralised-web/#persistence-and-preservation">Persistence and Preservation</a></cite>.</p> </div> </section> <section resource='#architecture-of-the-web-interaction' rel='schema:hasPart' inlist='' id='architecture-of-the-web-interaction'> <h5 property='schema:name'>Interaction</h5> <div property='schema:description' datatype='rdf:HTML'> <p>The Web architecture permits agents to communicate through different protocols eg. HTTP, FTP, SMTP are application layer protocols in the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc1123" data-versionurl='https://web.archive.org/web/20190709105642/https://tools.ietf.org/html/rfc1123' data-versiondate='2019-07-09T10:56:42Z'>Internet Protocol Suite</a></cite> (<abbr title='Requirements for Internet Hosts -- Application and Support'>RFC 1123</abbr>). In this thesis, the focus is on HTTP for data communication, ie. the structured requests and responses exchanged by Web agents. For example, when a <em>user-agent</em> (like a Web browser) initiates a request to access the contents of a resource identified by an HTTP URI (<em>dereferencing</em>), a server responds with a message body including a representation of the resource state, and data about the response. The content of the response URL (HTTP URI) is a particular state in that it has a presentation and controls (affordances) that can be further engaged with, eg. hyperlinks to follow; data forms that can be submitted; location of alternate representations. One particular description of this interaction is given in 2000 by Fielding, in <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm" data-versionurl='https://web.archive.org/web/20190709105643/https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm' data-versiondate='2019-07-09T10:56:43Z'>Architectural Styles and the Design of Network-based Software Architectures</a></cite>, commonly referred to as <cite>Representational State Transfer</cite> (<abbr title='Representational State Transfer'>REST</abbr>): a set of architectural constraints for distributed hypermedia systems. There are diverse Web agents, eg. browsers, servers, autonomous scripts, with different capabilities, hence as per <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc7230" data-versionurl='https://web.archive.org/web/20190709105642/https://tools.ietf.org/html/rfc7230' data-versiondate='2019-07-09T10:56:42Z'>HTTP/1.1 Message Syntax and Routing</a></cite> (<abbr title='Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing'>RFC 7230</abbr>), not all agents are expected to make the same interactions that are presented to them.</p> <p id='safe-interactions'>There are two categories of interactions: safe and unsafe. A <dfn>safe interaction</dfn> is one where the requested resource’s state does not change. When an agent makes a retrieval request (<code>HTTP GET</code>), it has no obligation beyond dereferencing the URL. An <dfn>unsafe interaction</dfn> on the other hand may cause a resource to change its state, and that the user may be held accountable, depending on the semantics of the interaction. For example, an agent sending an <code>HTTP POST</code> request with a payload can get a response indicating that a new resource was created, that the resource represented by the URI was deleted by an <code>HTTP DELETE</code> request, or that the agent is unauthorised to either create or delete the resource.</p> <p id='representations'>When a client requests a resource, the server may return a <em>particular</em> representation of a resource that is the result of a "negotiation" between them. For example, a client may indicate that it would accept the resource in HTML, Turtle, and JSON-LD data formats, and in English and Armenian languages. The server could provide a response body using HTML and English.</p> <p id='http-request-response-functions'>HTTP request and response functions can be expressed as follows:</p> <figure id='http-request-response' class='equation'> <math xmlns='http://www.w3.org/1998/Math/MathML' alttext='upper R e q u e s t equals upper M e t h o d vector-or-cross-product upper I upper R upper I vector-or-cross-product upper H e a d e r vector-or-cross-product upper B o d y'><mrow><mi>Request</mi><mo>=</mo><mi>Method</mi><mo>⨯</mo><mi>IRI</mi><mo>⨯</mo><mi>Header</mi><mo>⨯</mo><mi>Body</mi></mrow></math> <p><em>Method</em> denotes the kind of HTTP request; <em>IRI</em> identifies the target resource for the request; <em>Header</em> provides context about the request and response eg. the <code>Content-Type</code> header indicates the format of the content in <em>Body</em>.</p> <math xmlns='http://www.w3.org/1998/Math/MathML' alttext='upper R e s p o n s e equals upper S t a t u s vector-or-cross-product upper H e a d e r vector-or-cross-product upper B o d y'><mrow><mi>Response</mi><mo>=</mo><mi>Status</mi><mo>⨯</mo><mi>Header</mi><mo>⨯</mo><mi>Body</mi></mrow></math> <p><em>Status</em> code denotes the result of the request.</p> </figure> <p id='open-web-platform'>Today, Web browsers provide a basis for many forms of human and machine communication; browsers are one of the most widely used platforms through which a wide range of Internet and Web standards used. The goal of the <cite><a rel='cito:citesForInformation' href="https://www.w3.org/2001/tag/doc/IAB_Prague_2011_slides.html#owp" data-versionurl='https://web.archive.org/web/20190709105642/https://www.w3.org/2001/tag/doc/IAB_Prague_2011_slides.html' data-versiondate='2019-07-09T10:56:42Z'>Open Web Platform</a></cite> (<abbr title='Open Web Platform'>OWP</abbr>) is to advance such standards so that technologies like the Web browser can help us to effectively communicate.</p> </div> </section> <section resource='#architecture-of-the-web-data-formats' rel='schema:hasPart' inlist='' id='architecture-of-the-web-data-formats'> <h5 property='schema:name'>Data Formats</h5> <div property='schema:description' datatype='rdf:HTML'> <p>The Web architecture has no constraints on the type of data formats that can be exchanged between clients and servers. A resource state may have different representations for the information it encodes. For example, HTML+RDFa, Turtle, JSON-LD, and RDF/XML are some RDF serialization formats – discussed in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#rdf-syntaxes">RDF Syntaxes</a></cite> – that can be used to express the same information (semantics) of a resource.</p> <p id='the-rule-of-least-power'>On designing computer systems and choosing languages, W3C TAG Finding, <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.w3.org/2001/tag/doc/leastPower.html" data-versionurl='https://web.archive.org/web/20190709105642/http://www.w3.org/2001/tag/doc/leastPower.html' data-versiondate='2019-07-09T10:56:42Z'>The Rule of Least Power</a></cite>, 2006, recommends that <q cite='http://www.w3.org/2001/tag/doc/leastPower.html'>when publishing on the Web, you should usually choose the least powerful or most easily analyzed language variant that’s suitable for the purpose</q>. Berners-Lee references RDF as a common language for the Web in <cite>Principles of Design, <a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/DesignIssues/Principles#PLP" data-versionurl='https://web.archive.org/web/20190709105643/https://www.w3.org/DesignIssues/Principles' data-versiondate='2019-07-09T10:56:43Z'>Principle of Least Power</a></cite>: <q resource='https://www.w3.org/DesignIssues/Principles#PLP' rel='cito:includesQuotationFrom' cite='https://www.w3.org/DesignIssues/Principles#PLP'>the Semantic Web is an attempt, largely, to map large quantities of existing data onto a common language so that the data can be analyzed in ways never dreamed of by its creators</q>.</p> <p id='declarative-extensible-languages'>Berners-Lee states that a declarative language is preferable to a procedural language in terms of data reusability. HTML for example not only turned out to be simple for people to author, its modularity and extensibility paved the way for other standards. In this thesis, I use XHTML and HTML interchangeably (except when explicitly mentioning the lower-level differences in W3C specifications and tooling). Different kinds of <em>language mixing</em> – composition of data formats – emerged, including for example <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/CSS/" data-versionurl='https://web.archive.org/web/20190709105643/https://www.w3.org/TR/CSS/' data-versiondate='2019-07-09T10:56:43Z'>Cascading Style Sheets</a></cite> (<abbr title='Cascading Style Sheets'>CSS</abbr>), <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/MathML/" data-versionurl='https://web.archive.org/web/20190709105643/https://www.w3.org/TR/MathML/' data-versiondate='2019-07-09T10:56:43Z'>Mathematical Markup Language</a></cite> (<abbr title='Mathematical Markup Language'>MathML</abbr>), and <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/rdfa-core/" data-versionurl='https://web.archive.org/web/20190709105643/https://www.w3.org/TR/rdfa-core/' data-versiondate='2019-07-09T10:56:43Z'>RDFa</a></cite>, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/SVG/" data-versionurl='https://web.archive.org/web/20190709105643/https://www.w3.org/TR/SVG/' data-versiondate='2019-07-09T10:56:43Z'>Scalable Vector Graphics</a></cite> (<abbr title='Scalable Vector Graphics'>SVG</abbr>) in or alongside HTML. The extension mechanisms eg. in HTML and CSS, allowed new semantics or features to be declared in the content that can be processed by conforming Web agents. Web agents get to choose whether to ignore unrecognised content or try to understand and treat unrecognised patterns as errors. When a browser encounters a syntactical error in an XHTML document, it can stop processing the document or display an error to the user, also known as draconian error-handling. An HTML document on the other hand has a more forgiving error-handling model. An unrecognised component or non well-formed structure would not prevent processing and no alert needed to be passed to the user interface. To date, HTML acts as a unifying language for human interfaces to information systems.</p> </div> </section> </div> </section> <section resource='#linked-data' rel='schema:hasPart' inlist='' id='linked-data'> <h4 property='schema:name'>Linked Data</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The Web architecture initially used HTML as the language to represent and connect hypermedia documents with one another. HTML’s success is indisputable today, and that’s perhaps due to its simplicity to create and reuse; its flexibility, for partial understanding to proceed; and its extensibility to allow language mixing. While the HTML specification continues to evolve by reflecting on the needs of the Web, by design it is scoped to creating and connecting Web documents and applications.</p> <p id='path-to-rdf'>Nevertheless, the potential <em>language</em> <q resource='https://www.w3.org/History/1989/proposal.html' rel='cito:includesQuotationFrom' cite='https://www.w3.org/History/1989/proposal.html'>to describe the interrelationships between things</q> as originally proposed in <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/History/1989/proposal.html" data-versionurl='https://web.archive.org/web/20190215002843/https://www.w3.org/History/1989/proposal.html' data-versiondate='2019T02T15:00:28:43Z'>Information Management: A Proposal</a></cite> was not fully realised until the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.w3.org/TR/rdf11-concepts" data-versionurl='https://web.archive.org/web/20190709105644/http://www.w3.org/TR/rdf11-concepts/' data-versiondate='2019-07-09T10:56:44Z'>Resource Description Framework</a></cite> (<abbr title='Resource Description Framework'>RDF</abbr>) came along. RDF is a constructed machine-interpretable language to describe and interlink arbitrary things at any level of abstraction on the Web, and reuses the existing architecture of the Web. In <cite><a rel='cito:citesForInformation' href="http://www.ibiblio.org/hhalpin/homepage/thesis/" data-versionurl='https://web.archive.org/web/20181231104602/http://www.ibiblio.org/hhalpin/homepage/thesis/' data-versiondate='2018-12-31T10:46:02Z'>Sense and Reference on the Web</a></cite>, Halpin, 2009, states that in the context of RDF (and the <q>Principle of Linking</q>), <q resource='http://www.ibiblio.org/hhalpin/homepage/thesis/#SECTION00622000000000000000' rel='cito:includesQuotationFrom' cite='http://www.ibiblio.org/hhalpin/homepage/thesis/#SECTION00622000000000000000'>URIs are primarily referential and may not lead to access unlike links in traditional hypertext systems</q>.</p> <p id='rdf-unifying-language'>Conceptually, RDF was in the fabric of the Web from the start. By <em>naming</em> things with URIs, we can construct structured sentences with RDF. By comparison, HTML at its core is a terse approach to representing and linking knowledge. RDF on the other hand is intended to be a unifying language for machine interfaces to data systems. I will further discuss language mixing with RDF in HTML and XML-family languages via <cite><a href="https://csarven.ca/linked-research-decentralised-web/#rdfa">RDFa</a></cite>.</p> <p id='aaa'>One conceptual view of the Web is that <q cite='https://www.w3.org/DesignIssues/RDFnot#ER'>anyone being (technically) allowed to say anything about anything</q> (<abbr title='Anyone can say Anything about Anything'>AAA</abbr>). One consequence of AAA is that while systems (and reasoners within) can operate under both the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Open-world_assumption" data-versionurl='https://web.archive.org/web/20190709105644/https://en.wikipedia.org/wiki/Open-world_assumption' data-versiondate='2019-07-09T10:56:44Z'>open-world assumption</a></cite> (<abbr title='Open-world Assumption'>OWA</abbr>) or the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Closed-world_assumption" data-versionurl='https://web.archive.org/web/20190709105644/https://en.wikipedia.org/wiki/Closed-world_assumption' data-versiondate='2019-07-09T10:56:44Z'>closed-world assumption</a></cite> (<abbr title='Closed-world Assumption'>CWA</abbr>), the Web ultimately uses the OWA framework because new knowledge can always make its way into the system, and lack of knowledge does not imply falsity. RDF applies a particular restriction of the AAA principle in that nonsensical, inconsistent, or conflicting information can be created or inferred. It is up to processing applications to determine their confidence on the information. Hence, an important distinction: assertions made using the RDF language are claims, as opposed to facts.</p> <p id='rdf-statements'><em>Statements</em> in RDF are expressed in the form of <em>triples</em> – <span class='highlight-language-statement'><span class='highlight-language-subject'>subject</span>, <span class='highlight-language-predicate'>predicate</span>, <span class='highlight-language-object'>object</span></span>:</p> <blockquote cite='https://www.w3.org/TR/rdf11-concepts/#section-triples'> <ul> <li class='highlight-language-subject'>the <dfn id='dfn-subject'>subject</dfn>, which is an <abbr title='Internationalized Resource Identifier'>IRI</abbr> or a blank node</li> <li class='highlight-language-predicate'>the <dfn id='dfn-predicate'>predicate</dfn>, which is an IRI</li> <li class='highlight-language-object'>the <dfn id='dfn-object'>object</dfn>, which is an IRI, a literal or a blank node</li> </ul> <footer><cite>RDF 1.1 Concepts and Abstract Syntax, <a rel='cito:includesQuotationFrom' href="https://www.w3.org/TR/rdf11-concepts/#section-triples" data-versionurl='https://web.archive.org/web/20190709212200/https://www.w3.org/TR/rdf11-concepts/' data-versiondate='2019-07-09T21:22:00Z'>Triples</a></cite>, W3C, 2014</footer> </blockquote> <p id='iri-bnode'>The <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc3987" data-versionurl='https://web.archive.org/web/20190709105644/https://tools.ietf.org/html/rfc3987' data-versiondate='2019-07-09T10:56:44Z'>Internationalized Resource Identifiers</a></cite> (<abbr title='Internationalized Resource Identifiers'>IRI</abbr>) is a generalisation of URI (US-ASCII) in that a wider character set (Unicode/ISO 10646) can be used to identify resources on the Web. A Blank node (anonymous resource) is a local identifier scoped to the context it is used in, eg. file, RDF store, and they are not intended to be persistent or portable. Literals are used for values like strings, numbers, and dates.</p> <p id='rdf-graph-theory'>A set of triples in RDF (an <cite>RDF Graph</cite>) can be represented as a directed edge-labelled graph: <math xmlns='http://www.w3.org/1998/Math/MathML' alttext='upper G equals left-parenthesis upper V comma upper L comma upper E right-parenthesis'><mrow><mi>G</mi><mo>=</mo><mrow><mo>(</mo><mi>V</mi><mo>,</mo><mi>L</mi><mo>,</mo><mi>E</mi><mo>)</mo></mrow></mrow></math>, where <math xmlns='http://www.w3.org/1998/Math/MathML' alttext='upper V'><mrow><mi>V</mi></mrow></math> is the set of <em>vertices</em> (union of subject and object terms), <math xmlns='http://www.w3.org/1998/Math/MathML' alttext='upper L'><mrow><mi>L</mi></mrow></math> is a set of edge labels (predicate terms), and <math xmlns='http://www.w3.org/1998/Math/MathML' alttext='upper E'><mrow><mi>E</mi></mrow></math> contains triples from <math xmlns='http://www.w3.org/1998/Math/MathML' alttext='upper V vector-or-cross-product upper L vector-or-cross-product upper V'><mrow><mi>V</mi><mo>⨯</mo><mi>L</mi><mo>⨯</mo><mi>V</mi></mrow></math>. A subject may have several predicates, and predicates can also be mapped to subjects given that they have their own identity.</p> <p id='rdf-similar-to'>The structure of RDF statements is similar to:</p> <ul> <li>the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Subject%E2%80%93verb%E2%80%93object" data-versionurl='https://web.archive.org/web/20190709105644/https://en.wikipedia.org/wiki/Subject%E2%80%93verb%E2%80%93object' data-versiondate='2019-07-09T10:56:44Z'>subject–verb–object</a></cite> sentence structure in <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Linguistic_typology" data-versionurl='https://web.archive.org/web/20190709105644/https://en.wikipedia.org/wiki/Linguistic_typology' data-versiondate='2019-07-09T10:56:44Z'>linguistic typology</a></cite> – used by nearly half of human languages</li> <li>the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model" data-versionurl='https://web.archive.org/web/20190709105645/https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model' data-versiondate='2019-07-09T10:56:45Z'>entity–attribute–value</a></cite> (<abbr title='entity–attribute–value'>EAV</abbr>) model – widely used for advanced (meta)data modeling</li> </ul> <p>We can represent the sentence "<span class='highlight-language-statement'><span class='highlight-language-subject'>Otlet</span> <span class='highlight-language-predicate'>influenced</span> <span class='highlight-language-object'>Berners-Lee</span></span>" in one of the RDF syntaxes as follows:</p> <pre id='paul-otlet-influenced-tim-berners-lee'><span class='highlight-language-statement'><code>&lt;<span title='subject' class='highlight-language-subject'>http://dbpedia.org/resource/<strong>Paul_Otlet</strong></span>&gt;</code><code> &lt;<span title='predicate' class='highlight-language-predicate'>http://dbpedia.org/ontology/<strong>influenced</strong></span>&gt; &lt;<span title='object' class='highlight-language-object'>http://dbpedia.org/resource/<strong>Tim_Berners-Lee</strong></span>&gt; .</code></span></pre> <p id='self-describing'>As ad hoc exploration is one of the goals of the Web, the W3C TAG Finding, <cite><a rel='cito:citesForInformation' href="http://www.w3.org/2001/tag/doc/selfDescribingDocuments" data-versionurl='https://web.archive.org/web/20190709105645/http://www.w3.org/2001/tag/doc/selfDescribingDocuments' data-versiondate='2019-07-09T10:56:45Z'>The Self-Describing Web</a></cite>, 2009, reports how HTTP and other Web technologies can be used to <q>create, deploy and access <em>self-describing</em> Web resource representations that can be correctly interpreted.</q> It is expressed that the RDF language can be used to integrate with the Semantic Web such that the information encoded in a representation explicitly provides interoperable means to relate Web resources.</p> <p id='follow-your-nose'>RDF facilitates a uniform <cite><a rel='cito:citesForInformation' href="https://www.w3.org/2001/sw/wiki/Linking_patterns#.E2.80.9CFollow_your_nose.E2.80.9D" data-versionurl='https://web.archive.org/web/20190729074951/https://www.w3.org/2001/sw/wiki/Linking_patterns' data-versiondate='2019-07-29T07:49:51Z'>follow your nose</a></cite> type of exploration by following the relations in statements in order to arrive at another unit of <em>self-describing</em> information. The uniformity in graph traversal enables applications to meaningfully interpret and integrate with disparate data without having any out-of-band knowledge, and retrieve more information about the terms as they need to from the source. As the content identified at <code class='highlight-language-subject'>http://dbpedia.org/resource/Paul_Otlet</code> describes itself, in the same way, the relation <code class='highlight-language-predicate'>http://dbpedia.org/ontology/influenced</code> defines itself, and when we inspect a representation of <code class='highlight-language-object'>http://dbpedia.org/resource/Tim_Berners-Lee</code>, we will find that it describes itself.</p> <p>We can describe <span class='highlight-language-subject'>Berners-Lee’s IRI</span> (subject) by giving it a human-readable <span class='highlight-language-predicate'>name</span> (predicate):</p> <pre id='tim-berners-lee-name'><span class='highlight-language-statement'><code>&lt;<span title='subject' class='highlight-language-subject'>http://dbpedia.org/resource/<strong>Tim_Berners-Lee</strong></span>&gt;</code><code> &lt;<span title='predicate' class='highlight-language-predicate'>http://xmlns.com/foaf/0.1/name</span>&gt; "<span title='object' class='highlight-language-object'>Tim Berners-Lee</span>"<span title='language tag'>@en</span> .</code></span></pre> <div resource='#iri-http-uri' rel='schema:hasPart' id='iri-http-uri' class='note'> <h5 property='schema:name'>IRI to HTTP URI</h5> <div property='schema:description' datatype='rdf:HTML'> <p>The terms IRI and URI are used interchangeably outside of technical specifications. While IRIs can be used to identify resources, retrieval mechanisms use URIs because the request URI in HTTP protocol is defined as a URI. Hence, the characters in IRI are first mapped to their URI counterparts before the request process.</p> </div> </div> <p id='rdf-syntaxes'>In order to address different system and interface needs, different syntaxes for RDF emerged over time. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/rdf-syntax-grammar/" data-versionurl='https://web.archive.org/web/20190709105645/https://www.w3.org/TR/rdf-syntax-grammar/' data-versiondate='2019-07-09T10:56:45Z'>RDF/XML</a></cite> is the grammar to define the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/xml/" data-versionurl='https://web.archive.org/web/20190709105645/https://www.w3.org/TR/xml/' data-versiondate='2019-07-09T10:56:45Z'>XML</a></cite> syntax for RDF graphs; <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/turtle/" data-versionurl='https://web.archive.org/web/20190709105645/https://www.w3.org/TR/turtle/' data-versiondate='2019-07-09T10:56:45Z'>Turtle</a></cite> is a human-readable syntax resembling (subject–verb–object) sentence structure, <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/rdfa-core/" data-versionurl='https://web.archive.org/web/20190709105643/https://www.w3.org/TR/rdfa-core/' data-versiondate='2019-07-09T10:56:43Z'>RDFa</a></cite> expresses RDF statements in markup languages, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.w3.org/TR/json-ld/" data-versionurl='https://web.archive.org/web/20190709105646/http://www.w3.org/TR/json-ld/' data-versiondate='2019-07-09T10:56:46Z'>JSON-LD</a></cite> serialises RDF in <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc7159" data-versionurl='https://web.archive.org/web/20190709055810/https://tools.ietf.org/html/rfc7159' data-versiondate='2019-07-09T05:58:10Z'>JSON</a></cite> (<abbr title='The JavaScript Object Notation (JSON) Data Interchange Format'>RFC 7159</abbr>).</p> <p id='sparql'>In order to facilitate querying and manipulating RDF graph content on the Web or in an RDF store, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-overview/" data-versionurl='https://web.archive.org/web/20190709105646/https://www.w3.org/TR/sparql11-overview/' data-versiondate='2019-07-09T10:56:46Z'>SPARQL Protocol and RDF Query Language</a></cite> (<abbr title='SPARQL Protocol and RDF Query Language'>SPARQL</abbr>) 1.1 provides a set of recommendations. The specifications address <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-query/" data-versionurl='https://web.archive.org/web/20190729074951/https://www.w3.org/TR/sparql11-query/' data-versiondate='2019-07-29T07:49:51Z'>SPARQL 1.1 Query Language</a></cite> to match, filter, and construct graph patterns, as well as integration of disparate sources of information. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-federated-query/" data-versionurl='https://web.archive.org/web/20190729074951/https://www.w3.org/TR/sparql11-federated-query/' data-versiondate='2019-07-29T07:49:51Z'>SPARQL 1.1 Federated Querying</a></cite> is an extension to executing queries distributed over different SPARQL endpoints. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-update/" data-versionurl='https://web.archive.org/web/20190709212300/https://www.w3.org/TR/sparql11-update/' data-versiondate='2019-07-09T21:23:00Z'>SPARQL 1.1 Update</a></cite> to update, create, and remove RDF graphs in a store; a <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-protocol/" data-versionurl='https://web.archive.org/web/20190729074950/https://www.w3.org/TR/sparql11-protocol/' data-versiondate='2019-07-29T07:49:50Z'>SPARQL 1.1 Protocol</a></cite> to convey queries and updates over HTTP; <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-service-description/" data-versionurl='https://web.archive.org/web/20190729074951/https://www.w3.org/TR/sparql11-service-description/' data-versiondate='2019-07-29T07:49:51Z'>SPARQL 1.1 Service Description</a></cite> in order to discover SPARQL services, and a vocabulary for describing them. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-entailment/" data-versionurl='https://web.archive.org/web/20190729074951/https://www.w3.org/TR/sparql11-entailment/' data-versiondate='2019-07-29T07:49:51Z'>SPARQL 1.1 Entailment Regimes</a></cite> retrieve solutions that implicitly follow from the queried graph; and an alternative interface to SPARQL 1.1 Update uses <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-http-rdf-update/" data-versionurl='https://web.archive.org/web/20190729074950/https://www.w3.org/TR/sparql11-http-rdf-update/' data-versiondate='2019-07-29T07:49:50Z'>SPARQL 1.1 Graph Store HTTP Protocol</a></cite> for operations on RDF graphs.</p> <p>Using the example RDF data from earlier about <a href="https://csarven.ca/linked-research-decentralised-web/#paul-otlet-influenced-tim-berners-lee">Otlet’s relation to Berners-Lee</a> and <a href="https://csarven.ca/linked-research-decentralised-web/#tim-berners-lee-name">his name</a> in an RDF store, the following query returns the data in a tabular format for the <span class='highlight-language-predicate-name'>name</span>s of <span class='highlight-language-object'>object</span>s that match the graph pattern where the <span class='highlight-language-subject'>subject</span>s <em class='highlight-language-predicate-influenced'>influenced</em>.</p> <figure resource='#sparql-query-result' rel='schema:hasPart' id='sparql-query-result'> <p>SPARQL Query:</p> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#sparql-query-result'><code>SELECT <span class='highlight-language-object'>?object</span> <span class='highlight-language-object-name'>?name</span></code><code>WHERE {</code><code> &lt;<span class='highlight-language-subject'>http://dbpedia.org/resource/Paul_Otlet</span>&gt;</code><code> &lt;<span class='highlight-language-predicate-influenced'>http://dbpedia.org/ontology/influenced</span>&gt; <span class='highlight-language-object'>?object</span> .</code><code> <span class='highlight-language-object'>?object</span></code><code> &lt;<span class='highlight-language-predicate-name'>http://xmlns.com/foaf/0.1/name</span>&gt; <span class='highlight-language-object-name'>?name</span> .</code><code>}</code></pre> <p>Resulting in extracted data:</p> <table id='example-sparql-result'> <caption>Example SPARQL Result</caption> <thead><tr><th>?object</th><th>?name</th></tr></thead> <tbody><tr><td><a href="http://dbpedia.org/resource/Tim_Berners-Lee" class='highlight-language-object'>http://dbpedia.org/resource/Tim_Berners-Lee</a></td><td><span class='highlight-language-object-name'>"Tim Berners-Lee"@en</span></td></tr></tbody> </table> <figcaption property='schema:name'>Example SPARQL Query and Result.</figcaption> </figure> <p>The SPARQL suite is a powerful set of tools for inspecting and manipulating information based on the graph nature of the data.</p> <hr/> <p>The <q>Linked Data</q> design principles build on the AWWW in order to identify, describe, and discover information, enabling a <em>Semantic Web</em> where humans and machines can explore the Web of data:</p> <blockquote cite='https://www.w3.org/DesignIssues/LinkedData'> <ol> <li>Use URIs as names for things</li> <li>Use HTTP URIs so that people can look up those names.</li> <li>When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL)</li> <li>Include links to other URIs. so that they can discover more things.</li> </ol> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.w3.org/DesignIssues/LinkedData" data-versionurl='https://web.archive.org/web/20181231122601/https://www.w3.org/DesignIssues/LinkedData' data-versiondate='2018-12-31T12:26:01Z'>Linked Data – Design Issues</a></cite> (<a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-design-principles-revised">revised in 2009</a>), Tim Berners-Lee, 2006</footer> </blockquote> <div resource='#linked-data-design-principles-revised' rel='schema:hasPart' id='linked-data-design-principles-revised' class='note'> <h5 property='schema:name'>Linked Data Design Principles Revised</h5> <div property='schema:description' datatype='rdf:HTML'> <p>In the <a href="https://web.archive.org/web/20061115043657/http://www.w3.org/DesignIssues/LinkedData.html">original version</a> (earliest archived) of the Linked Data design principles, the third statement was <q>When someone looks up a URI, provide useful information.</q> It was <a href="https://web.archive.org/web/20090708213925/http://www.w3.org/DesignIssues/LinkedData.html">updated in 2009</a> (earliest archived).</p> </div> </div> <p id='httprange-14'>In practice, what URIs identify, based on the resources fetched upon dereferencing, was ambiguous until the release of the famous W3C TAG Finding, <a href="https://www.w3.org/2001/tag/doc/httpRange-14/2007-08-31/HttpRange-14">httpRange-14 issue</a>, 2007, as per <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/2001/tag/issues.html#httpRange-14" data-versionurl='https://web.archive.org/web/20181231130902/https://www.w3.org/2001/tag/issues.html' data-versiondate='2018-12-31T13:09:02Z'>httpRange-14: What is the range of the HTTP dereference function?</a></cite>. The core issue had to do with machine agents having a deterministic mechanism to distinguish between accessible digital objects on the Web (<q>information resources</q>) and references to a class of physical entities and abstract concepts (<q>non-information resources</q>), ie. things that are not technically "retrievable" over the wire on the Web, but may only be referred to. In <cite>Sense and Reference on the Web</cite>, Halpin posits that <q resource='http://www.ibiblio.org/hhalpin/homepage/thesis/#SECTION001133000000000000000' rel='cito:includesQuotationFrom' cite='http://www.ibiblio.org/hhalpin/homepage/thesis/#SECTION001133000000000000000'>the definition of information object and information realization can be thought of as the classic division in philosophy of mind between an object given on a level of abstraction and some concrete thing that realizes that abstraction, where a single abstraction may have multiple realizations.</q></p> <p>Having established an overview of the technical environment I will next discuss the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#web-science">Web Science</a></cite> framework, which situates the technical aspects alongside social processes.</p> </div> </section> <section resource='#web-science' rel='schema:hasPart' inlist='' id='web-science'> <h4 property='schema:name'>Web Science</h4> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://www.theinquirer.net/inquirer/feature/1735712/professor-wendy-hall-speaks'> <p>Web science – what makes the Web what it is, how it evolves and will evolve, what are the scenarios that could kill it or change it in ways that would be detrimental to its use.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.theinquirer.net:80/inquirer/feature/1735712/professor-wendy-hall-speaks" data-versionurl='https://web.archive.org/web/20101004130346/http://www.theinquirer.net:80/inquirer/feature/1735712/professor-wendy-hall-speaks' data-versiondate='2010-10-04T13:03:46Z'>Still hates computers</a></cite>, The Inquirer, <a href="https://en.wikipedia.org/wiki/Wendy_Hall">Dame Wendy Hall</a>, 2010</footer> </blockquote> <p id='web-science-framework'>The openness of the Web and the ease of involvement for both humans and machines (through common protocols) helped its great expansion without a particular central point of failure or coordination. Scholarly communication could be exemplary of different kinds of agents interacting on the Web, whether they are sentient or something else. <cite>Web Science</cite> – <cite><a rel='cito:citesForInformation' href="https://eprints.soton.ac.uk/262615/1/Web%2520Science.htm" data-versionurl='https://web.archive.org/web/20190709105646/https://eprints.soton.ac.uk/262615/1/Web%2520Science.htm' data-versiondate='2019-07-09T10:56:46Z'>Creating a Science of the Web</a></cite> – is an interdisciplinary field of study concerned with understanding and developing sociotechnical systems like the Web alongside human society. In <cite><a rel='cito:citesForInformation' href="https://eprints.soton.ac.uk/id/eprint/263347" data-versionurl='https://web.archive.org/web/20190709105649/https://eprints.soton.ac.uk/263347/' data-versiondate='2019-07-09T10:56:49Z'>A Framework for Web Science</a></cite>, Berners-Lee, 2006, the authors state:</p> <blockquote cite='https://eprints.soton.ac.uk/id/eprint/263347'> <p>the Web perhaps more than any other recent human construct carries with it any number of issues including privacy and protection, access and diversity, control and freedom. Structures that we design, engineer and research, and findings that emerge through analysis, will often have strong societal implications.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://eprints.soton.ac.uk/id/eprint/263347" data-versionurl='https://web.archive.org/web/20190709105649/https://eprints.soton.ac.uk/263347/' data-versiondate='2019-07-09T10:56:49Z'>A Framework for Web Science</a></cite>, Tim Berners-Lee, 2006</footer> </blockquote> <p id='web-science-scholarly-communication'>The challenges of Web Science comprise both social and technical aspects, from user interfaces to data, to information policy, resilience, access from diverse devices, collective creativity, and decentralisation. All of these areas are pertinent to the future of scholarly communication, and Web Science as a field provides a framework for ensuring we consider the various social and technical issues as part of an interconnected ecosystem.</p> <p>In the same vein, furthering the study of <em>Web Science</em> itself can be done through advancements in how we communicate scholarly findings; through better enabling universal access and connections within our collective knowledge.</p> <p id='global-village'>The Web not only expedited the flow of human knowledge with a friendly interface, it enabled social interactions to take place which would not have been possible otherwise due to physical or social constraints. The global adoption of the Web brought new forms of human association and social action. In essence, the Web creates one form of a <q cite='http://www.worldcat.org/oclc/993539009'>global village</q>, described by McLuhan, whereby there is greater requirement of individuals to participate than with earlier forms of electric media eg. telegraph, electric light, telephone, radio, television. The way society reacts to the Web as a medium is perhaps more important than the content that is on it.</p> <p id='dialectical-reading'>In <cite><a rel='cito:citesForInformation' href="https://www.ideals.illinois.edu/bitstream/handle/2142/13425/credibility.pdf" data-versionurl='https://web.archive.org/web/20190710075340/https://www.ideals.illinois.edu/bitstream/handle/2142/13425/credibility.pdf' data-versiondate='2019-07-10T07:53:40Z'>Credibility of the Web: Why We Need Dialectical Reading</a></cite>, Bruce, 2000 explores Kaufmann’s <q>modes of reading</q> from the 1977 essay <cite>Art of Reading</cite> (<cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/469418474" data-versionurl='https://web.archive.org/web/20190709105649/https://www.worldcat.org/title/future-of-the-humanities/oclc/469418474' data-versiondate='2019-07-09T10:56:49Z'>The Future of the Humanities</a></cite>) in context of the characteristics of the Web:</p> <ul> <li><em>exegetical</em>: author is authority, the reader is passive;</li> <li><em>dogmatic</em>: scepticism on part of the reader;</li> <li><em>agnostic</em>: continuous evaluation while acknowledging good and bad qualities;</li> <li><em>dialectical</em>: possessing coding, semantic, and pragmatic competence</li> </ul> <p>Bruce draws attention to the dialectical in that an observer enters into a <q>deep experience</q> of reading, engaging with the text with a critical eye, drawing advanced information and interpretations beyond what is merely presented, and actively seeking to understand the material in addition to political, social, and historical dimensions. Bruce states that under the dialectical view, the Web’s multimodal features allows new values and ways of making meaning as an holistic involvement for the consumer. This view is a useful exemplification of McLuhan’s notions on the effects of media on society.</p> </div> </section> <p>Thus far I have covered the architectural foundations of the Web, and the study of the Web from a scientific point of view. I now look at how scholarship on the Web has developed over time.</p> </div> </section> <section resource='#a-brief-history-of-scholarship-on-the-web' rel='schema:hasPart' inlist='' id='a-brief-history-of-scholarship-on-the-web'> <h3 property='schema:name'>A Brief History of Scholarship on the Web</h3> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://en.wikiquote.org/wiki/The_Matrix_Reloaded'> <p>Choice is an illusion, created between those with power, and those without.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://en.wikiquote.org/wiki/The_Matrix_Reloaded" data-versionurl='https://web.archive.org/web/20190709103110/https://en.wikiquote.org/wiki/The_Matrix_Reloaded' data-versiondate='2019-07-09T10:31:10Z'>The Matrix Reloaded</a></cite>, Merovingian, 2003</footer> </blockquote> <p>In <cite><a href="https://csarven.ca/linked-research-decentralised-web/#mediums-and-paradigms">Mediums and Paradigms</a></cite> I have discussed the wide reaching effects of communication mediums as well as scientific frameworks adopted by society. In this section I zoom in on the history of scholarship in order to contextualise the practices and their influences to date.</p> <p>As the print age is an important historical backdrop of this thesis, I provide a brief <cite><a href="https://csarven.ca/linked-research-decentralised-web/#the-printing-press-as-an-agent-of-change">review of The Printing Press as an Agent of Change</a></cite> to further contextualise social transformations and the systematisation of scientific exchange given the availability of a technology for the masses:</p> <aside resource='#the-printing-press-as-an-agent-of-change' rel='schema:hasPart' inlist='' id='the-printing-press-as-an-agent-of-change'> <h4 property='schema:name'>The Printing Press as an Agent of Change</h4> <div property='schema:description' datatype='rdf:HTML'> <p><cite><a rel='cito:reviews' href="http://www.worldcat.org/oclc/611804138" data-versionurl='https://web.archive.org/web/20190709103114/https://www.worldcat.org/title/printing-press-as-an-agent-of-change-communications-and-cultural-transformations-in-early-modern-europe-volumes-i-and-ii/oclc/611804138' data-versiondate='2019-07-09T10:31:14Z'>The Printing Press as an Agent of Change</a></cite>, <a href="https://en.wikipedia.org/wiki/Elizabeth_Eisenstein">Eisenstein</a>, 1979, traces the impact of the communications revolution on a variety of sociocultural movements that shaped the modern mind that started by the invention of the printing press developed by Johannes Gutenberg (c. 1439 CE). While Eisenstein’s account of the history is not regarded as doctrine, the work demonstrates that the printing press, as a technological innovation, was a potent force in the evolution of social systems, as well as a communication technology which intensified the evolutionary process in the storage and dissemination of information and data. Perhaps more generally, Eisenstein explains how <q>printing altered <em>written communications within the Commonwealth of Learning</em></q>, p. xiv.</p> <p id='republic-of-letters'><strong>Republic of Letters</strong>: With the growing power of the printing press since the 15th century, and sufficiently large international readers across Europe, the mass production and distribution of printed material gave rise to the formation of intellectuals as a distinct and independent social class. The long-distance, international, and private correspondence network between the literary figures formed the basis for the concepts, <cite>Commonwealth of Learning</cite>; vernacular science-writing in Latin aimed at non-academic readers, as well as aiding the literary <q>underground</q> trade among researchers to propel theories and data collection, and the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Republic_of_Letters" data-versionurl='https://web.archive.org/web/20190709105647/https://en.wikipedia.org/wiki/Republic_of_Letters' data-versiondate='2019-07-09T10:56:47Z'>Republic of Letters</a></cite> (<abbr title='Republic of Letters'>ROL</abbr>) refers to a metaphysical <em>literary</em> society that produced and had access to substantial (non)scientific knowledge in Europe and America in the 17th century, p. 136-139.</p> <p id='royal-society'><strong>Royal Society</strong>: <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Royal_Society" data-versionurl='https://web.archive.org/web/20190709105647/https://en.wikipedia.org/wiki/Royal_Society' data-versiondate='2019-07-09T10:56:47Z'>The Royal Society</a></cite> (<abbr title='The Royal Society'>RS</abbr>) effectively established authority for a metaphysical community for scientists and scholars. In essence, it acknowledged and legitimised the social activity in RoL, and acted as a way to filter and help disseminate the discoveries of the literati. <cite xml:lang='fr' lang='fr'><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Journal_des_s%C3%A7avans" data-versionurl='https://web.archive.org/web/20190709105647/https://en.wikipedia.org/wiki/Journal_des_s%C3%A7avans' data-versiondate='2019-07-09T10:56:47Z'>Journal des sçavans</a></cite> published in 1665 was the first academic journal in Europe, followed by <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Philosophical_Transactions_of_the_Royal_Society" data-versionurl='https://web.archive.org/web/20190709105647/https://en.wikipedia.org/wiki/Philosophical_Transactions_of_the_Royal_Society' data-versiondate='2019-07-09T10:56:47Z'>Philosophical Transactions of the Royal Society</a></cite> in the same year. The first journal that strongly focused on scientific communication came later with the <cite xml:lang='fr' lang='fr'><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Comptes_rendus_de_l%27Acad%C3%A9mie_des_Sciences" data-versionurl='https://web.archive.org/web/20190709105647/https://en.wikipedia.org/wiki/Comptes_rendus_de_l%27Acad%C3%A9mie_des_Sciences' data-versiondate='2019-07-09T10:56:47Z'>Mémoires de l'Académie des Sciences</a></cite> in 1666.</p> <p id='societal-circumstances'>Due to societal circumstances, eg. sponsorship and censorship by authorities, the literary underground with the help of the printing press was well underway in the 16th century. By 1640 <q>science had risen</q> mostly in the underground, and pre-dated the discovery and improvement of the telescope p. 685; the RoL; and the establishment of the RS. With the help of the RS later on, new discoveries and theories were disseminated abroad, p. 664.</p> <p id='print-shifting-communication'>Eisenstein postulates that the printed book played a central role in the <q>rapid dissemination of knowledge to whole new classes that created the modern new attitudes to both science and religion at the end of the fifteenth century.</q> The mere availability of prior knowledge to the public, stimulated scientific curiosity further, and eventually gave birth to the scientific revolution, p. 691. Eisenstein also contends that the communication shift in technical literature occurred even before astronomers changed their views about the structure of the universe, p. 685. Moreover, the origins of the scientific revolution was partly due to the rediscovery of classical scientific texts, and the effects of an internal strife between academic innovators and conservationists (<q>quarrels of learned men</q>), trying to control the field of knowledge outside of academia, p. 523-524, 570. Eisenstein emphasises on the <q>relevance of external social institutions to the internal, relatively autonomous, life of science</q>, p. 636, as well as the utilitarian <q>application of the mathematics to the problems of the natural world</q>, p. 683.</p> </div> </aside> <p id='publication-dissemination'>The publication and dissemination of information – in the most general sense of the words – played a key role in the advancement of societies’ knowledge for centuries. The first academic journal, <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Journal_des_s%C3%A7avans" data-versionurl='https://web.archive.org/web/20190709111126/https://en.wikipedia.org/wiki/Journal_des_s%C3%A7avans' data-versiondate='2019-07-09T11:11:26Z'>Journal des sçavans</a></cite> and shortly after the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Philosophical_Transactions_of_the_Royal_Society" data-versionurl='https://web.archive.org/web/20190709111126/https://en.wikipedia.org/wiki/Philosophical_Transactions_of_the_Royal_Society' data-versiondate='2019-07-09T11:11:26Z'>Philosophical Transactions of the Royal Society</a></cite> in 1665, evolved out of the exchange of letters among scholars and the <a href="https://blogs.royalsociety.org/history-of-science/2019/01/15/meeting-sloane/" data-versionurl='https://web.archive.org/web/20190121212633/https://blogs.royalsociety.org/history-of-science/2019/01/15/meeting-sloane/' data-versiondate='2019-01-21T21:26:33Z'>transcripts of the meetings</a> in scholarly societies discussing experiments, publications and natural curiosities. With this in mind, the most widely accepted purpose of a scholarly article is a way to communicate research results and other intellectual work with the public; to have an accurate archival record of the research findings; to build on top of earlier knowledge; as well as to have it serve towards crediting authors for their work. Today’s scholarly journals, containing quality-controlled research reports, closely resemble the first journal. <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/773482913" data-versionurl='https://web.archive.org/web/20190709105651/https://www.worldcat.org/title/encyclopedia-of-international-media-and-communications-vol-2-f-k/oclc/773482913' data-versiondate='2019-07-09T10:56:51Z'>Encyclopedia of International Media and Communications</a></cite>, Scholarly Journals, Vol. 2, p. 688, 2003, states that due to the growth and demand for copies of the literature from non-members, mostly institutions, the larger journals began to sell subscriptions at relatively higher prices than members pay.</p> <p id='modern-science-ethos'>In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/695759425" data-versionurl='https://web.archive.org/web/20190709105651/https://www.worldcat.org/title/sociology-of-science-theoretical-and-empirical-investigations/oclc/695759425' data-versiondate='2019-07-09T10:56:51Z'>The Sociology of Science: Theoretical and Empirical Investigations</a></cite>, Merton, 1973, discusses <q>four sets of institutional imperatives taken to comprise the ethos of modern science</q>, originally introduced in <cite>The Normative Structure of Science</cite>, Merton, 1942:</p> <ul> <li><em>Communalism</em>: in order to promote collective collaboration, intellectual output should have common ownership.</li> <li><em>Universalism</em>: scientific validity is kept independent of political and personal factors such that everyone has equal rights and possibility to obtain information.</li> <li><em>Disinterestedness</em>: the practice of science should benefit the common scientific enterprise with no conflicts of individual interest or gain.</li> <li><em>Organised skepticism</em>: scientific claims should be exposed to critical examination before being accepted to be part of common knowledge.</li> </ul> <section resource='#open-and-free' rel='schema:hasPart' inlist='' id='open-and-free'> <h4 property='schema:name'>Open and Free</h4> <div property='schema:description' datatype='rdf:HTML'> <p>While there are many definitions for “open” and “free”, depending on the context assigned by different communities eg. <cite><a rel='cito:citesForInformation' href="https://www.w3.org/DesignIssues/Open" data-versionurl='https://web.archive.org/web/20190709105649/https://www.w3.org/DesignIssues/Open' data-versiondate='2019-07-09T10:56:49Z'>The Many Meanings of Open</a></cite>, Berners-Lee, 2013, here I acknowledge some that are commonly used.</p> <p id='open-definition'>The definition given by <cite><a rel='cito:citesAsAuthority' href="https://opendefinition.org/" data-versionurl='https://web.archive.org/web/20190709105649/https://opendefinition.org/' data-versiondate='2019-07-09T10:56:49Z'>The Open Definition</a></cite> which is derived from the <cite>Open Source Definition</cite>, is as follows:</p> <blockquote cite='https://opendefinition.org/od/2.1/en/'> <p>Knowledge is open if anyone is free to access, use, modify, and share it — subject, at most, to measures that preserve provenance and openness.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://opendefinition.org/od/2.1/en/" data-versionurl='https://web.archive.org/web/20181005101545/https://opendefinition.org/od/2.1/en/' data-versiondate='2018-10-05T10:15:45Z'>The Open Definition 2.1</a></cite></footer> </blockquote> <p id='free-software'>The definition of <q>free</q> (or <q>libre</q>) in context of software that is widely acknowledged is:</p> <blockquote cite='https://www.gnu.org/philosophy/free-sw.html'> <p>“Free software” means software that respects users’ freedom and community. Roughly, it means that <b>the users have the freedom to run, copy, distribute, study, change and improve the software</b>. Thus, “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”. We sometimes call it “libre software,” borrowing the French or Spanish word for “free” as in freedom, to show we do not mean the software is gratis.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.gnu.org/philosophy/free-sw.html" data-versionurl='https://web.archive.org/web/20181005102256/https://www.gnu.org/philosophy/free-sw.html' data-versiondate='2018-10-05T10:22:56Z'>What is free software?</a></cite>, GNU Project – Free Software Foundation</footer> </blockquote> <p id='freedom-defined'>In order for an item or piece of knowledge to be transferred in a way to foster rich culture, the <cite><a rel='cito:citesAsAuthority' href="http://freedomdefined.org/Definition" data-versionurl='https://web.archive.org/web/20181014155917/http://freedomdefined.org/Definition' data-versiondate='2018-10-14T15:59:17Z'>Free Cultural Works</a></cite> defines <em>freedom</em> to mean the freedom to use; to study; to make and redistribute copies; and to make changes and improvements. The definition can be used as a <q>tool to determine whether a work or license should be considered "free."</q></p> <p id='open-content'>The definition of <cite><a rel='cito:citesAsAuthority' href="http://opencontent.org/definition/" data-versionurl='https://web.archive.org/web/20181105170059/http://opencontent.org/definition/' data-versiondate='2018-11-05T17:00:59Z'>Open Content</a></cite> explains how users of works to have free and perpetual permission to engage in activities with the right to retain, reuse, revise, remix and redistribute content.</p> <p id='creative-commons'><cite><a rel='cito:citesForInformation' href="https://creativecommons.org/" data-versionurl='https://web.archive.org/web/20190709105649/https://creativecommons.org/' data-versiondate='2019-07-09T10:56:49Z'>Creative Commons</a></cite>’s (<abbr title='Creative Commons'>CC</abbr>) <cite><a rel='cito:citesAsAuthority' href="https://creativecommons.org/licenses/" data-versionurl='https://web.archive.org/web/20181105172655/https://creativecommons.org/licenses/' data-versiondate='2018-11-05T17:26:55Z'>CC licenses</a></cite> is one of public copyright licenses that can be used on works which grant additional permissions for the purpose of free distribution of an otherwise copyrighted work. With the exception of <abbr title='Creative Commons CC0 1.0 Universal'>CC0 1.0</abbr> (public domain) license, all CC licenses require users of the works to attribute the creators. CC0, CC BY (Attribution) and CC BY-SA (Attribution-ShareAlike) are compatible with the definition of Free Cultural works. CC licenses are open, flexible, interoperable, and has global uptake. The policy of CC license is also compatible with public laws in various jurisdictions.</p> </div> </section> <p>I now discuss several movements which emerged since the 1990s towards fundamentally transforming scholarly communication using newly available digital network technologies.</p> <section resource='#archives-and-repositories' rel='schema:hasPart' inlist='' id='archives-and-repositories'> <h4 property='schema:name'>Archives and Repositories</h4> <div property='schema:description' datatype='rdf:HTML'> <p>In 1991, recognising the need for scholars to expedite the exchange of scholarly information, <a href="https://en.wikipedia.org/wiki/Paul_Ginsparg">Paul Ginsparg</a> created the <abbr title='Los Alamos National Laboratory'>LANL</abbr> preprint archive for <q>e-prints</q>. <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.cs.cornell.edu/~ginsparg/physics/blurb/pg01unesco.html" data-versionurl='https://web.archive.org/web/20190709111126/http://www.cs.cornell.edu/~ginsparg/physics/blurb/pg01unesco.html' data-versiondate='2019-07-09T11:11:26Z'>Creating a global knowledge network</a></cite>, Ginsparg, 2001, states that <q cite='http://www.cs.cornell.edu/~ginsparg/physics/blurb/pg01unesco.html'>self-archiving</q> provided a moderated central repository where scientists can deposit their articles to make them accessible to anyone, which was a cost-effective solution (estimates were less than 5 USD per submission for administration) for scholars to disseminate research results quickly. It initially started out as a central mailbox with an interface; it adopted FTP in 1991, Gopher in 1992, and finally the World Wide Web in 1994. The articles in the repository are not expected to be peer reviewed, but rather a place where versioned <q>preprints</q> – considered to precede publications that are peer reviewed – can be accessed for free. In 2001, the LANL preprint archive eventually became what is currently known as <cite><a rel='cito:discusses' href="https://arxiv.org/" data-versionurl='https://web.archive.org/web/20190709111126/https://arxiv.org/' data-versiondate='2019-07-09T11:11:26Z'>arXiv</a></cite>. The <a rel='cito:citesAsAuthority' href="https://arxiv.org/help/license">arXiv license information</a> permits different rights and licenses to be assigned to the scholarly records, ie. anything from public domain, Creative Commons licenses, or with copyright to the publisher or author, provided that arXiv is given sufficient rights to distribute. The repository accepts submissions in TeX, PDF, PostScript, and HTML. This sort of discipline-centric and institution-run preprint exchange mechanism had the technical ingredients to serve as a substitute for the traditional scholarly journal. From 1991 to 2017, arXiv had a <cite><a rel='cito:citesAsDataSource' href="https://arxiv.org/stats/monthly_submissions" data-versionurl='https://web.archive.org/web/20190729074952/https://arxiv.org/stats/monthly_submissions' data-versiondate='2019-07-29T07:49:52Z'>linear increase in submission rate</a></cite> (passing the 1 million mark in 2015). arXiv’s early success lead to the emergence of the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#open-archiving">Open Archives Initiative</a></cite> in 1999, and the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#open-access">Open Access</a></cite> movement in 2002.</p> </div> </section> <section resource='#open-access' rel='schema:hasPart' inlist='' id='open-access'> <h4 property='schema:name'>Open Access</h4> <div property='schema:description' datatype='rdf:HTML'> <p>In 1994, <a href="https://en.wikipedia.org/wiki/Stevan_Harnad">Harnad</a> made a proposal to appeal to the <q>esoteric</q>:</p> <blockquote id='the-subversive-proposal' cite='http://www.arl.org/sc/subversive/i-overture-the-subversive-proposal.shtml'> <p>It is applicable only to ESOTERIC (non-trade, no-market) scientific and scholarly publication … that body of work for which the author does not and never has expected to SELL the words. The scholarly author wants only to PUBLISH them, that is, to reach the eyes and minds of peers.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.arl.org/sc/subversive/i-overture-the-subversive-proposal.shtml" data-versionurl='https://web.archive.org/web/19980513080022/http://www.arl.org/scomm/subversive/sub01.html' data-versiondate='1998-05-13T08:00:22Z'>The Subversive Proposal</a></cite>, p. 11, Stevan Harnad, 1994</footer> </blockquote> <p>After some years of prototyping and researcher-centric initiatives, the ideas eventually formulated into the <cite><a rel='cito:citesAsAuthority' href="http://www.budapestopenaccessinitiative.org/read" data-versionurl='https://web.archive.org/web/20181005195834/https://www.budapestopenaccessinitiative.org/read' data-versiondate='2018-10-05T19:58:34Z'>Budapest Open Access Initiative</a></cite> (<abbr title='Budapest Open Access Initiative'>BOAI</abbr>) in 2002. BOAI is based on the principle that publicly funded research output, including peer reviewed journal articles as well as unreviewed preprints, should be made immediately available, and indefinitely, without access fees and free from most restrictions on copying and reuse, to increase visibility and uptake:</p> <blockquote cite='http://www.budapestopenaccessinitiative.org/read'> <p>By "open access" to this literature, we mean its free availability on the public internet, permitting any users to read, download, copy, distribute, print, search, or link to the full texts of these articles, crawl them for indexing, pass them as data to software, or use them for any other lawful purpose, without financial, legal, or technical barriers other than those inseparable from gaining access to the internet itself … the only role for copyright in this domain, should be to give authors control over the integrity of their work and the right to be properly acknowledged and cited.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.budapestopenaccessinitiative.org/read" data-versionurl='https://web.archive.org/web/20181005195834/https://www.budapestopenaccessinitiative.org/read' data-versiondate='2018-10-05T19:58:34Z'>Budapest Open Access Initiative</a></cite>, 2002</footer> </blockquote> <p>In order to open up access to scholarly journal literature, BOAI recommends the adoption of two complementary strategies for open access (<abbr title='Open Access'>OA</abbr>):</p> <ul> <li>Self-Archiving</li> <li>Open-access Journals</li> </ul> <p id='self-archiving-term-usage'>The term <q cite='http://www.budapestopenaccessinitiative.org/read'>self-archiving</q> in context of OA differs from that of the early practices around preprint <q cite='http://www.cs.cornell.edu/~ginsparg/physics/blurb/pg01unesco.html'>self-archiving</q> in that there were no constraints set for the status of the scholarly literature, ie. peer reviewed or not. For OA-centric scientific literature, quality-control and certification are integral.</p> <p id='oa-models-costs'>The foundations of the OA approach were conceived at a time when the major revenue models to cover publishing costs for scholarly literature were through subsidies from institutions, journal subscriptions, or pay-per-view. In this payment model, consumers of the literature were charged either individually or through institutions. In contrast, the <cite>article processing charge</cite> (<abbr title='Article Processing Charge'>APC</abbr>) model requires publication costs to be covered upfront, thereby waiving the costs for the consumers of the literature. Today, APC is the most widely used method to finance OA publishing, with varying levels of fees. The <a rel='cito:citesAsDataSource' href="https://github.com/OpenAPC/openapc-de/raw/406b4fec59e01ca7602f6ee511bac9a7daee4c59/data/apc_de.csv" data-versionurl='https://web.archive.org/web/20190602115822/https://raw.githubusercontent.com/OpenAPC/openapc-de/406b4fec59e01ca7602f6ee511bac9a7daee4c59/data/apc_de.csv' data-versiondate='2019-06-02T11:58:22Z'>OpenAPC dataset</a> includes publication fee spending of 238 institutions reveals an average of 1946 EUR per article based on <q>fully</q> and <q>hybrid</q> OA journals (average of 1558 EUR and 2504 EUR respectively). In this dataset, the institutional spending on article publishing in 2018 was at minimum 13 EUR, maximum 12000 EUR, and mean 1834 EUR.</p> <p id='raincoat-science'><cite><a rel='cito:citesAsDataSource' href="http://opcit.eprints.org/oacitation-biblio.html" data-versionurl='https://web.archive.org/web/20190110122529/http://opcit.eprints.org/oacitation-biblio.html' data-versiondate='2019-01-10T12:25:29Z'>The effect of open access and downloads ('hits') on citation impact: a bibliography of studies</a></cite>, OpCit, 2013, <q>is intended to describe progress in reporting these studies; it also lists the Web tools available to measure impact. It is a focused bibliography, on the relationship between impact and access.</q> Harnad argues that the essential message of OA is research that is not freely available online loses research impact – any reasons not to make research Open Access are merely excuses (see the <q><a rel='cito:includesQuotationFrom' href="http://openaccess.eprints.org/index.php?/archives/179-Raincoat-Science.html" data-versionurl='https://web.archive.org/web/20190110124106/http://openaccess.eprints.org/index.php?/archives/179-Raincoat-Science.html' data-versiondate='2019-01-10T12:41:06Z'>raincoat science</a></q> metaphor).</p> <p id='deliverance-of-oa-books'>In <cite><a rel='cito:citesAsDataSource' href="https://www.universiteitleiden.nl/en/news/2019/01/open-access-books-attract-many-more-readers-and-slightly-more-citations" data-versionurl='https://web.archive.org/web/20190214203930/https://openaccess.leidenuniv.nl/bitstream/handle/1887/68465/Snijder_dissertation_text.pdf' data-versiondate='2019-02-14T20:39:30Z'>The deliverance of open access books</a></cite>, Snijder, 2019, looks at the consequences of open access for books, and concludes that books that are freely accessible online attract more readers and are cited ten percent more than those that do not use open access platforms.</p> </div> </section> <section resource='#deconstructing-the-scholarly-journal' rel='schema:hasPart' inlist='' id='deconstructing-the-scholarly-journal'> <h4 property='schema:name'>Deconstructing the Scholarly Journal</h4> <div property='schema:description' datatype='rdf:HTML'> <p id='modular-scientific-information'>In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.science.uva.nl/projects/commphys/papers/jkmodul.htm" data-versionurl='https://web.archive.org/web/20180705130245/http://www.science.uva.nl/projects/commphys/papers/jkmodul.htm' data-versiondate='2018-07-05T13:02:45Z'>Modularity: the next form of scientific information presentation?</a></cite>, Kircz, 1997, states that <q>the present-day linear (essay-type) scientific article is the result of a development over the centuries</q>, and that <q>different types of information, at present intermingled in the linear article, can be separated and stored in well-defined, cognitive, textual modules.</q> A natural consequence to having modular electronic articles, with their own unique characteristics, is that units are self-contained and interconnected to other units.</p> <p id='deconstructed-journal'>In <cite><a rel='cito:citesForInformation' href="http://eprints.rclis.org/5841/1/DJpaper.pdf" data-versionurl='https://web.archive.org/web/20180719143649/http://eprints.rclis.org/5841/1/DJpaper.pdf' data-versiondate='2018-07-19T14:36:49Z'>The deconstructed journal – a new model for academic publishing</a></cite>, Smith, 1999, provides insights on networked-based scholarly publishing models:</p> <ol> <li><q>means/end</q> confusion, where journals continue to mimic or replicate existing mechanisms</li> <li>modifications to the system should still match the needs of the traditional scholarly journal</li> <li>cooperating agents can function without going through a central agency, eg. a <q>publisher</q>.</li> </ol> <p>The role of the journal includes both <q>main</q> (editorial, quality control, recognition of work, marketing, and disseminating) and <q>hidden</q> (subject and community defining, and archiving) functions. The proposed <em>deconstructed journal</em> model is preferable to the <q>paper</q> influenced electronic publishing model in that both main and hidden roles can be accomplished in a distributed manner. Here, Smith emphasises allowing greater academic freedom and shifting of power and control from the monolithic third-parties to the knowledge producers, which could be realised in either an <em>institution-</em> or <em>researcher-centric</em> approach. In this process, journals with the refereeing process would link to the articles with full content hosted on the authors’ Web sites. To get there, however, Smith acknowledges that for such a new paradigm to be adopted, professional and funding bodies must transition themselves to accepting the decoupling and self-controlled literature publishing model as something equivalent (in terms of academic value) to the traditional model.</p> <p id='grey-literature'>After two decades, the anecdotal evidence suggests that academia acknowledges the sort of equivalence that Smith describes at varying levels. For example, while literature quality-control can be generally anywhere on the Web, on the other hand, self-published literature remains to be treated as <q>grey literature</q>, that is, any material that is outside of the traditional scholarly distribution channels, especially when it comes to academic reward systems.</p> <p id='decoupling-scholarly-journal'>In <cite><a rel='cito:citesForInformation' href="https://www.frontiersin.org/articles/10.3389/fncom.2012.00019/full" data-versionurl='https://web.archive.org/web/20181002201212/https://www.frontiersin.org/articles/10.3389/fncom.2012.00019/full' data-versiondate='2018-10-02T20:12:12Z'>Decoupling the scholarly journal</a></cite>, Priem, 2012, presents an analysis of the traditional functions of the scholarly journal – registration (recording, time-stamping), certification (quality-control, assessment), awareness (dissemination), and archiving (preservation) will be discussed in detail under <cite><a href="https://csarven.ca/linked-research-decentralised-web/#forces-and-functions">Forces and Functions</a></cite>. The article echoes earlier work in that the scholarly journals bundle multiple functions, and that this tight coupling has hindered innovation, is inefficient, and makes it difficult to improve individual functions. The article also states that the current system, ie. the bundling of the closed publishing and certification models, is unlikely to change if the communication functions are not decoupled, regardless of all the other out-of-band activities – activism or innovation – to improve the publishing models or certification mechanisms. The article diverges from the traditional view of separating registration and archiving functions since the latter <q>necessitates both persistent storage and identification</q>. Hence, an archived <q resource='http://www.dlib.org/dlib/september04/vandesompel/09vandesompel.html' rel='cito:includesQuotationFrom' cite='http://www.dlib.org/dlib/september04/vandesompel/09vandesompel.html'>unit of communication</q> (<cite><a href="https://csarven.ca/linked-research-decentralised-web/#rethinking-scholarly-communication">Rethinking Scholarly Communication</a></cite>) has already fulfilled registration. The authors echo many of the ideas of Smith with respect to decoupling and decentralisation, however they only go as far as describing them within the context of scholarly functions operating alongside institutional or third-party online services. While the article does not exclude the possibility of units of information being self-hosted and individually-controlled by the researchers, it is not explored further. The article concludes that the nature of the communication revolution will be through the structure and organisation of the units in the system.</p> </div> </section> <section resource='#open-archiving' rel='schema:hasPart' inlist='' id='open-archiving'> <h4 property='schema:name'>Open Archiving</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The <cite><a rel='cito:citesForInformation' href="http://www.openarchives.org/ups1-press.htm" data-versionurl='http://web.archive.org/web/20000229151223/http://www.openarchives.org/ups1-press.htm' data-versiondate='2000-02-29T15:12:23Z'>First meeting of the Open Archives initiative</a></cite> in 1999 was held to agree on recommendations to address interoperability challenges, and outlined in <cite><a rel='cito:citesForInformation' href="http://www.dlib.org/dlib/february00/vandesompel-ups/02vandesompel-ups.html" data-versionurl='https://web.archive.org/web/20190729124632/http://www.dlib.org/dlib/february00/vandesompel-ups/02vandesompel-ups.html' data-versiondate='2019-07-29T12:46:32Z'>The UPS Prototype</a></cite>, 2000 – such as search and linking – for data across publicly available distributed <q cite='http://www.cs.cornell.edu/~ginsparg/physics/blurb/pg01unesco.html'>self-archiving</q> solutions. To promote the global acceptance of <q cite='http://www.cs.cornell.edu/~ginsparg/physics/blurb/pg01unesco.html'>self-archiving</q>, with interoperable systems being core to its successful adoption, the <cite><a rel='cito:discusses' href="http://www.openarchives.org/" data-versionurl='https://web.archive.org/web/20190709111126/http://www.openarchives.org/' data-versiondate='2019-07-09T11:11:26Z'>Open Archives Initiative</a> (<abbr title='Open Archives Initiative'>OAI</abbr>) Organization</cite> was established to take on the development of technical recommendations – for metadata standards, discovery, and retrieval. This led to the evolution of recommendations such as <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.openarchives.org/OAI/openarchivesprotocol.html" data-versionurl='https://web.archive.org/web/20190709111126/http://www.openarchives.org/OAI/openarchivesprotocol.html' data-versiondate='2019-07-09T11:11:26Z'>OAI-PMH</a></cite> <q>Protocol for Metadata Harvesting</q>, and its successor <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.openarchives.org/rs/resourcesync" data-versionurl='https://web.archive.org/web/20190710175826/http://www.openarchives.org/rs/1.1/resourcesync' data-versiondate='2019-07-10T17:58:26Z'>ResourceSync</a></cite> as a resource synchronization framework for servers; <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.openarchives.org/ore/toc" data-versionurl='https://web.archive.org/web/20190709111129/http://www.openarchives.org/ore/1.0/toc' data-versiondate='2019-07-09T11:11:29Z'>OAI-ORE</a></cite> for <q>Object Reuse and Exchange</q>; and <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc7089" data-versionurl='https://web.archive.org/web/20190709111128/https://tools.ietf.org/html/rfc7089' data-versiondate='2019-07-09T11:11:28Z'>Memento</a></cite> which specifies a time dimension to the Web architecture. <cite><a rel='cito:citesForInformation' href="http://www.dlib.org/dlib/november15/vandesompel/11vandesompel.html" data-versionurl='https://web.archive.org/web/20190709111128/http://www.dlib.org/dlib/november15/vandesompel/11vandesompel.html' data-versiondate='2019-07-09T11:11:28Z'>Reminiscing About 15 Years of Interoperability Efforts</a></cite>, <a href="https://en.wikipedia.org/wiki/Herbert_Van_de_Sompel">Van de Sompel</a>, 2015, summarises the lessons learned on interoperability efforts by concluding that a shift from a <em>repository-centric</em> to a <em>Web-centric</em> perspective was essential in order have a <q>viable and sustainable</q> scholarly system.</p> </div> </section> <section resource='#scholarly-declarations-and-practices' rel='schema:hasPart' inlist='' id='scholarly-declarations-and-practices'> <h4 property='schema:name'>Scholarly Declarations and Practices</h4> <div property='schema:description' datatype='rdf:HTML'> <p>While there is a plethora of overlapping guides, best practices, principles, manifestos, and <a rel='cito:citesAsEvidence' href="https://docs.google.com/spreadsheets/d/1-aRXFiRg-VL9hpLpxoJqX6-OC-A0R2oCogHfIx52Nug/edit" data-versionurl='https://web.archive.org/web/20181005111244/https://docs.google.com/spreadsheets/d/1-aRXFiRg-VL9hpLpxoJqX6-OC-A0R2oCogHfIx52Nug/edit' data-versiondate='2018-10-05T11:12:44Z'>declarations in the field of research, scholarly communication, data and publishing</a>, here I highlight a few that are Web-centric.</p> <p id='open-science'>Today, <q>Open Science</q> is a broadly understood notion that is intended to foster an accessible approach to conducting science and scholarship. While there is no single agreed definition of open science, the general consensus is about improving the practice of scientific communication in a transparent, traceable, verifiable, and reusable manner. One definition of <q>open science</q> is as follows:</p> <blockquote cite='https://www.fosteropenscience.eu/taxonomy/term/100'> <p>Open Science is the practice of science in such a way that others can collaborate and contribute, where research data, lab notes and other research processes are freely available, under terms that enable reuse, redistribution and reproduction of the research and its underlying data and methods.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.fosteropenscience.eu/taxonomy/term/100" data-versionurl='https://web.archive.org/web/20190709111128/https://www.fosteropenscience.eu/taxonomy/term/100' data-versiondate='2019-07-09T11:11:28Z'>Open Science Definition</a></cite>, FOSTER</footer> </blockquote> <p>With the advent of the scholarly journal, the practice of open science have been continuously evolving. As the Web speeds up information exchange, there has been further interest in the systemisation and application of open science in research communities. Later on I will further discuss <cite><a href="https://csarven.ca/linked-research-decentralised-web/#social-scholarly-web">Social Scholarly Web</a></cite>.</p> <h5 id='data-on-the-web-best-practices'>Data on the Web Best Practices</h5> <p>The W3C Recommendation for <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/dwbp/" data-versionurl='https://web.archive.org/web/20190709111128/https://www.w3.org/TR/dwbp/' data-versiondate='2019-07-09T11:11:28Z'>Data on the Web Best Practices</a></cite> (<abbr title='Data on the Web Best Practices'>DWBP</abbr>) provides a wide range of best practices, in order to benefit comprehension, processability, discoverability, reuse, trust, linkability, access, and interoperability. The DWBP can be used by <q cite='https://www.w3.org/TR/dwbp/#bestPractices'>data publishers in order to help them and data consumers to overcome the different challenges faced when publishing and consuming data on the Web</q>. DWBP applies to all data publishers but is pertinent for researchers.</p> <h5 id='fair-guiding-principles'>FAIR Guiding Principles</h5> <p>The <cite><a title='The FAIR Guiding Principles for scientific data management and stewardship' href="https://www.nature.com/articles/sdata201618" data-versionurl='https://web.archive.org/web/20181005113454/https://www.nature.com/articles/sdata201618' data-versiondate='2018-10-05T11:34:54Z'>FAIR Guiding Principles</a></cite>, Wilkinson 2016, is a set of principles to facilitate knowledge discovery and reuse for machines and humans. The principles, <em>findable</em>, <em>accessible</em>, <em>interoperable</em>, <em>reusable</em> (<abbr title='Findable, Accessible, Interoperable, Resuable'>FAIR</abbr>) are intended to express policy goals, as opposed to a technical prescription to building a data infrastructure and exchange. The elements of the principles include:</p> <dl> <dt>Findable</dt> <dd>For human and machine discovery of (meta)data and services by use of globally unique and persistent identifiers, and machine-readable way-finding.</dd> <dt>Accessible</dt> <dd>(Meta)data to be retrievable using open and free standard communication protocols via applicable authentication and authorization mechanisms.</dd> <dt>Interoperable</dt> <dd>(Meta)data using structured knowledge representations to be interpretable by autonomous agents.</dd> <dt>Reusable</dt> <dd>(Meta)data to optimise the reuse of data with domain-relevant, license, and provenance information.</dd> </dl> <p id='cloudy-increasingly-fair'><cite><a rel='cito:citesForInformation' href="https://content.iospress.com/articles/information-services-and-use/isu824" data-versionurl='https://web.archive.org/web/20181008074251/https://content.iospress.com/articles/information-services-and-use/isu824' data-versiondate='2018-10-08T07:42:51Z'>Cloudy, increasingly FAIR; revisiting the FAIR Data guiding principles for the European Open Science Cloud</a></cite>, Barend, 2017, posits that data are often open but not necessarily FAIR; data could be closed yet perfectly FAIR. FAIR does not directly proscribe data quality, trustworthiness, ethics or responsibility. Hence, conforming with the FAIR principles does not necessarily adhere to the scientific method.</p> <p id='cost-of-no-fair'><cite><a rel='cito:citesForInformation' href="https://publications.europa.eu/portal2012-portlet/html/downloadHandler.jsp?identifier=d375368c-1a0a-11e9-8d04-01aa75ed71a1&amp;format=pdf&amp;language=en" data-versionurl='https://web.archive.org/web/20190306141057/https://publications.europa.eu/portal2012-portlet/html/downloadHandler.jsp?identifier=d375368c-1a0a-11e9-8d04-01aa75ed71a1&amp;format=pdf&amp;language=en' data-versiondate='2019-03-06T14:10:57Z'>Cost of not having FAIR research data</a></cite>, PwC EU Services, European Commission, 2018, provides a cost-benefit analysis for FAIR research data based on the following indicators: time spent, cost of storage, license costs, research retraction, double funding, cross-fertilization, potential economic growth (as % of GDP). The estimates reveal that the <q>annual cost of not having FAIR research data costs the European economy at least €10.2bn every year</q> and that the true cost cost to be much higher. To put €10.2 billion in perspective, the cost of not having FAIR is <q>~ 400%, of what the European Research Council and European research infrastructures receive combined.</q> The study also highlights the consequences in the absence of FAIR data to include <q>impact on research quality, economic turnover, or machine readability of research data.</q></p> <h5 id='data-processing-privacy-and-protection'>Data Processing, Privacy and Protection</h5> <p>In addition to institutional ethical principles and federal regulations, research can be subject to additional regulations. For instance, the <cite><a rel='cito:citesAsAuthority' href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R0679" data-versionurl='https://web.archive.org/web/20190709111128/https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R0679' data-versiondate='2019-07-09T11:11:28Z'>General Data Protection Regulation</a></cite> (<abbr title='General Data Protection Regulation'>GDPR</abbr>) imposes obligations on organisations that process personal data of individuals in the <abbr title='European Union'>EU</abbr> and the <abbr title='European Economic Area'>EEA</abbr>. Hence, GDPR is relevant for experiments and studies that include human subjects, personally identifiable information (<abbr title='Personally Identifiable Information'>PII</abbr>), as well as acquired or inferred personal characteristics. In relation to scholarly communication, ie. research as a basis for data processing, GDPR is permissive and indicates exemptions on the <q>processing of personal data for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes should be subject to appropriate safeguards for the rights and freedoms of the data subject</q>, as well as for scientific research purposes including <q>technological development and demonstration, fundamental research, applied research and privately funded research.</q></p> <h5 id='digital-agenda'>Digital Agenda</h5> <p>In order <q cite='http://ec.europa.eu/digital-agenda/en/news/revision-psi-directive'>to further open up the market for services based on public-sector information</q>, the European Commission’s <cite><a rel='cito:citesAsAuthority' href="https://ec.europa.eu/digital-agenda/en/news/revision-psi-directive" data-versionurl='https://web.archive.org/web/20181229170819/https://ec.europa.eu/digital-single-market/news/revision-psi-directive' data-versiondate='2018-12-29T17:08:19Z'>Revision of the PSI Directive</a></cite>, 2012 — a digital agenda for Europe — as per <cite><a rel='cito:citesAsAuthority' href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:C:2014:240:FULL&amp;from=EN" data-versionurl='https://web.archive.org/web/20190108170148/https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:C:2014:240:FULL&amp;from=EN' data-versiondate='2019-01-08T17:01:48Z'>Office Journal C 240/2014</a></cite>, recommends high-demand datasets from libraries and archives be <q cite='https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:C:2014:240:FULL&amp;from=EN'>published in machine-readable and open formats (CSV, JSON, XML, RDF, etc.) to enhance accessibility</q>, and <q cite='https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:C:2014:240:FULL&amp;from=EN'>described in rich metadata formats and classified according to standard vocabularies</q>, and <q cite='https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:C:2014:240:FULL&amp;from=EN'>to facilitate re-use, public sector bodies should … make documents available … at the best level of precision and granularity, in a format that ensures interoperability</q>.</p> <p>As the importance of the new approaches are acknowledged by scholarly communities, there is an increasing social, as well as technical demands for their adoption.</p> </div> </section> <section resource='#paper-user-interface' rel='schema:hasPart' inlist='' id='paper-user-interface'> <h4 property='schema:name'>Paper User Interface</h4> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://www.youtube.com/watch?v=1yLNGUeHapA&amp;start=50&amp;end=90'> <p><q>Because paper enforces single sequence and there is no room for digression, it imposes a particular kind of order in the very nature of the structure. When I saw the computer, I said, ‘at last we can escape from the prison of paper’, and that was what my whole hypertext idea was about in 1960 and since. Contrarily, what did the other people do, they <strong>imitated paper</strong>, which to me seems totally insane.</q></p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.youtube.com/watch?v=1yLNGUeHapA&amp;start=50&amp;end=90" data-versionurl='https://web.archive.org/web/20190709111129/https://www.youtube.com/watch?v=1yLNGUeHapA&amp;start=50&amp;end=90' data-versiondate='2019-07-09T11:11:29Z'>Ted Nelson Demonstrates XanaduSpace (by Arthur Bullard)</a></cite>, <a href="http://en.wikipedia.org/wiki/Ted_Nelson">Ted Nelson</a>, 2013</footer> </blockquote> <p>The Web goes beyond the confines of the physical paper. The user experiences between the Web and print-centric media differ greatly. This section briefly compares <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.iso.org/obp/ui/#iso:std:iso:32000:-2:ed-1:v1:en" data-versionurl='https://web.archive.org/web/20190709111130/https://www.iso.org/obp/ui/' data-versiondate='2019-07-09T11:11:30Z'>Portable Document Format</a></cite> (<abbr title='Portable Document Format'>PDF</abbr>) and HTML.</p> <p id='tex'><a href="https://en.wikipedia.org/wiki/Donald_Knuth">Donald E. Knuth</a>, the inventor of <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/TeX" data-versionurl='https://web.archive.org/web/20190709111129/https://en.wikipedia.org/wiki/TeX' data-versiondate='2019-07-09T11:11:29Z'>TeX</a></cite>, considers TeX to be a program written using the literate programming approach. The TeX source code can be imperatively programmed, then compiled by a processor to arrive at a view. <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/LaTeX" data-versionurl='https://web.archive.org/web/20190709111130/https://en.wikipedia.org/wiki/LaTeX' data-versiondate='2019-07-09T11:11:30Z'>LaTeX</a></cite>, which is widely used for scholarly articles, is a collection of TeX macros. In some scientific communities, PDFs are usually generated from LaTeX.</p> <p id='pdf'>PDF (ISO 32000-2:2017) is intended for displaying and storing, and generally self-contained. However, it is not intended to be editable as the formatting instructions are no longer available. PDF is inherently layout oriented, and it is an optimal format for printing given its high-precision for typography. Third-party scholarly publishers tend to require a fixed layout with typographical guidelines for research documents, hence submissions are often required to be made as PDFs.</p> <p id='xmp'>In order to facilitate metadata interchange, an <cite>Extensible Metadata Platform</cite> (<abbr title='Extensible Metadata Platform'>XMP</abbr>) package in the form of XML (most commonly serialized as RDF/XML) may be embedded in PDF as per <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://wwwimages2.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/XMP%20SDK%20Release%20cc-2016-08/XMPSpecificationPart1.pdf" data-versionurl='https://web.archive.org/web/20190710075340/https://wwwimages2.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/XMP%20SDK%20Release%20cc-2016-08/XMPSpecificationPart1.pdf' data-versiondate='2019-07-10T07:53:40Z'>XMP Specification Part 1: Data Model, Serialization, and Core Properties</a></cite> (ISO 16684-1:2012). Otherwise, semantically useful information is not preserved when PDFs are generated, which makes it difficult to go back to source content format.</p> <p id='html-usage'>HTML is both a content format for encoding information, and a document format for storing information. HTML can reflow to fit different displays. HTML has ubiquitous support across devices.</p> <p id='html-css-pdf'>If HTML is used as the original format to record the information, a PDF copy can be generated on demand, using the specifications of the user. With an accompanying CSS for the HTML, desired layout guidelines can be achieved. Converting from PDF to HTML+CSS is possible, but the precision rests on rendering the view, as opposed to creating a structurally and semantically meaningful document.</p> <p id='pdf-legacy-format'>Formatting research articles as PDF comes at the cost of losing access to granular information. Thus, PDF’s primary focus – the presentation layer – leads to legacy documents that are not reusable in the long run. A great amount of <em>reverse-engineering</em> is required to extract the underlying information (like content, tables, figures). The source format (like TeX, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#jats">JATS</a></cite>, XML, HTML, or other) are often needed instead for content exchange and modifications.</p> <p>TeX and HTML (as stacks) are compared in Table <a resource='#comparison-tex-html' rel='schema:hasPart' href="https://csarven.ca/linked-research-decentralised-web/#comparison-tex-html">Comparison of TeX and HTML</a>.</p> <table typeof='doco:TableBox' rel='schema:hasPart' id='comparison-tex-html' about='#comparison-tex-html'> <caption typeof='doco:TableLabel' rel='schema:description' about='#table-label-comparison-tex-html'>Comparison of TeX and HTML</caption> <thead> <tr><th></th><th>TeX</th><th>HTML</th></tr> </thead> <tbody typeof='doco:Table' property='schema:description' about='#table-data-comparison-tex-html'> <tr><th>System</th><td>Typesetting</td><td>Web</td></tr> <tr><th>Programming paradigm</th><td><a href="https://en.wikipedia.org/wiki/Imperative_programming">Imperative</a></td><td><a href="https://en.wikipedia.org/wiki/Declarative_programming">Declarative</a></td></tr> <tr><th>Device readiness</th><td>Moderate</td><td>Good</td></tr> <tr><th>Applicable media</th><td>Screen, Print</td><td>Any<sup><a href="https://csarven.ca/linked-research-decentralised-web/#any-media">*</a></sup></td></tr> <tr><th>Layout</th><td>Fixed</td><td>Reflowable</td></tr> <tr><th>Modularity</th><td>Locked</td><td>Extensible</td></tr> <tr><th>Immutability</th><td>Core</td><td>Feasible</td></tr> <tr><th>Interactivity</th><td>Static</td><td>Dynamic</td></tr> <tr><th>Accessibility</th><td>Varies</td><td>Core</td></tr> <tr><th>Machine-readability</th><td>Low</td><td>High</td></tr> <tr><th>Linkability</th><td>Basic</td><td>Rich</td></tr> <tr><th>Reference granularity</th><td>Coarse</td><td>Fine</td></tr> </tbody> <tfoot about='#table-data-comparison-tex-html'> <tr> <td colspan='3'> <p>We consider TeX stack family to include DVI, XMP, LaTeX, PDF and ECMAScript, whereas the HTML stack family to include hypertext and semantic (W3C) technologies and JavaScript.</p> <p id='any-media'>Any media refers to W3C CSS <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.w3.org/TR/css3-mediaqueries/" data-versionurl='https://web.archive.org/web/20190709111130/http://www.w3.org/TR/css3-mediaqueries/' data-versiondate='2019-07-09T11:11:30Z'>Media Queries</a></cite>, 2012, eg. braille, handheld, print, screen, speech.</p> <p>Device readiness is an informal estimate on how likely a device will be able to open the stack, view, and interact.</p> </td> </tr> </tfoot> </table> <p id='effects-of-print-centric-scholarly-publishing'>Third-party research publishing services commonly impose constraints on file formats derived from print requirements. As a consequence, it regulates researchers’ choice of tools to prepare and share their work with their peers and the society. In essence, it impacts how researchers and scholars approach communicating their work based on the confines of the medium. While the choices for digital representation for research information may seem arbitrary, the effects of a print-centric scholarly publishing is analogous to McLuhan’s <q cite='https://archive.org/details/thisismarshallmcluhanthemediumisthemessage'>we look at the present through a rear-view mirror</q>.</p> <blockquote cite='https://www.w3.org/DesignIssues/Principles#PLP'> <p>I chose HTML not to be a programming language because I wanted different programs to do different things with it: present it differently, extract tables of contents, index it, and so on.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.w3.org/DesignIssues/Principles#PLP" data-versionurl='https://web.archive.org/web/20190709105643/https://www.w3.org/DesignIssues/Principles' data-versiondate='2019-07-09T10:56:43Z'>Principle of Least Power</a></cite>, Tim Berners-Lee, 1998</footer> </blockquote> </div> </section> <section resource='#semantic-publishing' rel='schema:hasPart' inlist='' id='semantic-publishing'> <h4 property='schema:name'>Semantic Publishing</h4> <div property='schema:description' datatype='rdf:HTML'> <p>One of the shortcomings of the research publication system is that scientific literature in electronic formats resemble, mimic, and have similar affordances to printed papers. While the paper-centric approach has been adequate, although not necessary optimal, for human consumption and reuse, it is insufficient for machine-assisted analysis or reuse. The print-centric affordances lack structure that could enable better aggregation, discovery, processing, and integration – which machines excel at – and in turn help with human-led tasks. Representing and storing semantically structured knowledge on the Web enables automated agents to process information more intelligently.</p> <p id='semantic-publishing-scientific-journal'>The most wide use of the term <q>semantic publishing</q> in scientific literature is defined in <cite><a rel='cito:obtainsBackgroundFrom' href="https://onlinelibrary.wiley.com/doi/pdf/10.1087/2009202" data-versionurl='https://web.archive.org/web/20190709111132/https://onlinelibrary.wiley.com/action/cookieAbsent' data-versiondate='2019-07-09T11:11:32Z'>Semantic publishing: the coming revolution in scientific journal publishing</a></cite>, Shotton, 2009. Here the term <q>semantic publishing</q> is constrained to <q>anything that enhances the meaning of a published journal article, facilitates its automated discovery, enables its linking to semantically related articles, provides access to data within the article in actionable form, or facilitates integration of data between papers</q>. In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.tkuhn.org/pub/sempub/sempub.dokieli.html" data-versionurl='https://web.archive.org/web/20190709111131/http://www.tkuhn.org/pub/sempub/sempub.dokieli.html' data-versiondate='2019-07-09T11:11:31Z'>Genuine Semantic Publishing</a></cite>, Kuhn, 2017, posits that with respect to the Semantic Web vision, this definition is <q>too restrictive</q> in a sense that it is concerned mainly about narrated information, and <q>too inclusive</q> in that a shallow semantic publication would still qualify. The article argues that the definition for semantic publishing should be broader in that works without a narrative are accounted for, and narrower in the sense that semantic representations should be incorporated at the time of creating and publishing entities. The <q>genuine semantic publishing</q> concept prescribes the notion of publishing 1) <em>machine interpretable</em> formal representations, 2) having <em>essential coverage</em> of the claims, 3) <em>authenticated</em> by the contributors, 4) be a <em>primary</em> component of the work, and 5) be part of <em>fine-grained</em> and <em>light-weight</em> containers.</p> <p id='research-objects'>Analogous to the <q>FAIR principles</q>, data needs to "signal" potential opportunities for <em>reuse</em> as per <q>Research Objects</q> in <cite><a rel='cito:citesForInformation' href="https://www.research.manchester.ac.uk/portal/files/29982854/POST-PEER-REVIEW-NON-PUBLISHERS.PDF" data-versionurl='https://web.archive.org/web/20190710075340/https://www.research.manchester.ac.uk/portal/files/29982854/POST-PEER-REVIEW-NON-PUBLISHERS.PDF' data-versiondate='2019-07-10T07:53:40Z'>Why Linked Data is Not Enough for Scientists</a></cite>, Bechhofer, 2013.</p> </div> </section> <section resource='#arguments-and-citations' rel='schema:hasPart' inlist='' id='arguments-and-citations'> <h4 property='schema:name'>Arguments and Citations</h4> <div property='schema:description' datatype='rdf:HTML'> <p>A core component of the Web is hyperlinks between documents. Most, if not all, academic articles reference others in some way. For articles published using Web technologies for the content or even just the metadata, creating hyperlinks is an obvious way to enhance these references. Such links can create citation chains between articles at a high level, and graphs of claims and arguments at a more granular level.</p> <p id='micropublications-argument-graphs'>The case is made for using a Web-friendly and machine-tractable model of scientific publications in <cite><a rel='cito:citesForInformation' href="https://jbiomedsem.biomedcentral.com/articles/10.1186/2041-1480-5-28" data-versionurl='https://web.archive.org/web/20190120223720/https://jbiomedsem.biomedcentral.com/articles/10.1186/2041-1480-5-28' data-versiondate='2019-01-20T22:37:20Z'>Micropublications: a semantic model for claims, evidence, arguments and annotations in biomedical communications</a></cite>, Clark, 2014. The Micropublications model, formalised as an OWL ontology, can reduce the human-labour cost of checking the support of a claim, as it is capable of representing scientific controversy and evidentiary requirements in primary literature. Further, the Micropublications model can be applied to generate argument graphs representing the claim that is argued, and its support by other statements, references, and scientific evidence (data). Machine-navigable linkage at the level of assertions in scientific articles and data improves robustness of scientific citations and observations. <cite><a rel='cito:citesForInformation' href="https://www.isi.edu/ikcap/sciknow2015/papers/Clark.pdf" data-versionurl='https://web.archive.org/web/20190120220030/https://www.isi.edu/ikcap/sciknow2015/papers/Clark.pdf' data-versiondate='2019-01-20T22:00:30Z'>Argument graphs: Literature-Data Integration for Robust and Reproducible Science</a></cite>, Clark, 2015, posts that creating data structures based on the relationships between arguments can be complementary to using entity recognition for mapping textual terms in articles to curated scientific databases.</p> <p id='citation-impact-influence'>Citations perform a variety of functions, and an author’s intention when referencing a particular source is not always evident from the prose, and certainly not from a machine-readability perspective. For example, does the author mean to point to a whole document (this is usually the level at which traditional citations operate) or are they only referring to a particular statement or section within it? Are they citing something because it supports their perspective, or because they disagree with it? This is particularly problematic in a system which simply counts the instances of a citation to determine impact or relevance. <cite><a rel='cito:citesAsEvidence' href="https://arxiv.org/pdf/1501.06587.pdf" data-versionurl='https://web.archive.org/web/20190120130538/https://arxiv.org/pdf/1501.06587.pdf' data-versiondate='2019-01-20T13:05:38Z'>Measuring academic influence: Not all citations are equal</a></cite>, Turney, 2015, and <cite><a rel='cito:citesAsEvidence' href="https://openaccess.leidenuniv.nl/bitstream/handle/1887/65227/STI2018_paper_241.pdf" data-versionurl='https://web.archive.org/web/20190115150706/https://openaccess.leidenuniv.nl/bitstream/handle/1887/65227/STI2018_paper_241.pdf' data-versiondate='2019-01-15T15:07:06Z'>Why (almost) Everything We Know About Citations is Wrong: Evidence from Authors</a></cite>, Teplitskiy, 2018, provide evidence indicating that authors with a means to express their citations and intentions in a structured way can improve the preservation of the connections between research assertions or units of information in general.</p> <p id='citation-function'>Fortunately there has already been work towards creating vocabularies around the relationships between articles and their citations. In <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.cl.cam.ac.uk/~sht25/papers/sigdial06.pdf" data-versionurl='https://web.archive.org/web/20190120131818/https://www.cl.cam.ac.uk/~sht25/papers/sigdial06.pdf' data-versiondate='2019-01-20T13:18:18Z'>An annotation scheme for citation function</a></cite>, Teufel, 2006, a classification system is proposed for relationship information between articles and their citations in order to improve automatic recognition to build better citation indexers, as well as to have more accurate interpretations of scientific arguments.</p> <p id='cito'>The <a href="http://purl.org/spar/cito" data-versionurl='https://web.archive.org/web/20190713110307/https://sparontologies.github.io/cito/current/cito.html' data-versiondate='2019-07-13T11:03:07Z'>Citation Typing Ontology</a> (<abbr title='Citation Typing Ontology'>CiTO</abbr>) model is equipped with common classifications eg. "cites for information", "disputes", "cites as evidence", "cites as potential solution", that can be used to create explicit relations between entities, as posited in <cite><a rel='cito:citesForInformation' href="http://speroni.web.cs.unibo.it/publications/peroni-2012-fabio-cito-ontologies.pdf" data-versionurl='https://web.archive.org/web/20190120163456/http://speroni.web.cs.unibo.it/publications/peroni-2012-fabio-cito-ontologies.pdf' data-versiondate='2019-01-20T16:34:56Z'>FaBiO and CiTO: ontologies for describing bibliographic resources and citations</a></cite>, Peroni, 2012. It also has an extension mechanism to support customised properties in order to allow authors to express their intentions closer to their mental model.</p> <p id='automatic-summaries-intelligent-querying'>In contrast to extracting rhetorical knowledge structured claimed by authors of scientific articles, <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.lrec-conf.org/proceedings/lrec2010/pdf/644_Paper.pdf" data-versionurl='https://web.archive.org/web/20190604090843/http://www.lrec-conf.org/proceedings/lrec2010/pdf/644_Paper.pdf' data-versiondate='2019-06-18T09:08:43Z'>Corpora for the conceptualisation and zoning of scientific papers</a></cite>, Liakata, 2010, describes how the structure of human-readable investigation in research articles can be retrieved based on a generic high-level annotation scheme for scientific concepts. It is shown that such complementary approach can assist in the generation of automatic summaries and intelligent querying.</p> <p id='genuine-semantic-publishing'><cite><a rel='cito:citesForInformation' href="http://www.tkuhn.org/pub/sempub/sempub.dokieli.html" data-versionurl='https://web.archive.org/web/20190709111131/http://www.tkuhn.org/pub/sempub/sempub.dokieli.html' data-versiondate='2019-07-09T11:11:31Z'>Genuine Semantic Publishing</a></cite>, Kuhn, 2017, also contends that while narrative text remains an important part of research discourse, publishing the data using formal semantics without the need of a narrative is beneficial. Meanwhile, tooling for creating unique identifiers at granular levels, for clauses or statements within articles as well as pieces of supporting datasets, hinders researchers’ in using structured mechanisms for describing their citations. Authors may be unable to obtain or generate a precise identifier, or lack an authoring or referencing environment which would allow them to assign identifiers appropriately. When an author’s intentions are preserved only in prose, entity-recognition techniques are typically required to understand the original intentions of citations. This is generally a complicated task and error prone given that an algorithm attempts to reverse-engineer the purpose of the citation.</p> </div> </section> <section resource='#registration-of-identifiers' rel='schema:hasPart' inlist='' id='registration-of-identifiers'> <h4 property='schema:name'>Registration of Identifiers</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Identifying units on the (scholarly) Web is currently done with different kinds of social agreements and expectations. In <cite><a rel='cito:citesForInformation' href="https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.2001414" data-versionurl='https://web.archive.org/web/20190129234911/https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.2001414' data-versiondate='2019-01-29T23:49:11Z'>Identifiers for the 21st century: How to design, provision, and reuse persistent identifiers to maximize utility and impact of life science data</a></cite>, McMurry, 2018, posits that actors should generally create their own identifiers for new knowledge, and to reuse existing identifiers when referring existing knowledge. Depending on the one or more roles an actor has in the creation, editing, and republishing of content, the decision to create a new or reusing identifier is left as a judgement call.</p> <p>Here I discuss a few systems that pertain to registration of identifiers:</p> <p id='doi'><cite><a rel='cito:citesAsAuthority' href="https://doi.org/" data-versionurl='https://web.archive.org/web/20190618082200/https://www.doi.org/' data-versiondate='2019-06-18T08:22:00Z'>Digital Object Identifier</a></cite> (<abbr title='Digital Object Identifier'>DOI</abbr>) is an international standard for document identification, and the services that are offered through <code>doi.org</code> is managed by the International DOI Foundation (at the time of this writing). The foundation permits <cite><a rel='cito:discusses' href="http://www.doi.org/registration_agencies.html" data-versionurl='https://web.archive.org/web/20190618080004/http://www.doi.org/registration_agencies.html' data-versiondate='2019-06-18T08:00:04Z'>DOI Registration Agencies</a></cite> to manage DOI records. In order to have a resource assigned with a DOI, it has to be done by one of the DOI registration agencies which requires organisational membership, excluding individuals. For example, a typical journal publisher as a member of a DOI registration agency (eg. <cite><a rel='cito:discusses' href="https://www.crossref.org/" data-versionurl='https://web.archive.org/web/20190618081912/https://www.crossref.org/' data-versiondate='2019-06-18T08:19:12Z'>CrossRef</a></cite>) submits mappings for objects of interest. Given the statement in AWWW, <q><a href="https://www.w3.org/TR/webarch/#URI-persistence">URI persistence is a matter of policy and commitment on the part of the URI owner</a></q>, DOI introduces an additional layer of social contract to govern the discovery of research artifacts. A DOI is aimed at being a persistent identifier for an object it is assigned to, and has the mechanism to refer to the URL of an object where it can be found. That is, a DOI may refer to a landing page about the actual object and not necessarily the object itself – this happens to be a common practice for literature that is not necessarily open and free. For literature that has restricted access, the resolved DOI is typically a webpage where an actor would need to go through the system’s <q>paywall</q> or <q>access toll</q> in order to retrieve the content. From a machine’s perspective, what the DOI identifies at the resolved location is not clear eg. company logo, tracking software, search form or the intended research object? For open literature, the resolved DOI would generally hyperlink to the actual scientific object in human-interpretable only fashion, or be part of a webpage accompanied by material unrelated to the scientific object itself, ie. information that the scientists neither assembled as part of their research nor intended for the consumer. If the actual URL of the object changes, the DOI’s lookup table for the URL has to be updated. Otherwise, they'll point to dead links or unrelated information.</p> <p id='orcid'><cite><a rel='cito:citesAsAuthority' href="https://orcid.org/" data-versionurl='https://web.archive.org/web/20190709111131/https://orcid.org/' data-versiondate='2019-07-09T11:11:31Z'>Open Researcher and Contributor ID</a></cite> (<abbr title='Open Researcher and Contributor ID'>ORCID</abbr>) is a community-governed persistent identifier system for researchers and organisations. An ORCID identifier is specified as a URI. While anyone can create and update their ORCID profile, the identifier is ultimately owned and managed by the ORCID organisation and made available through <code>orcid.org</code>. Profiles are constrained to express to the UI’s template and the kind of information ORCID is willing to store. For most intents and purpose, the free service offered by ORCID is sufficient for researchers, and provides a mechanism where researchers can aggregate information about their education, employment, funding, and works like academic publications and data. It also allows researchers to extend their profile descriptions, as well as linking to their alternative online profiles.</p> <p id='purl'><cite><a rel='cito:citesAsAuthority' href="https://purl.org/" data-versionurl='https://web.archive.org/web/20190709111133/https://archive.org/services/purl/' data-versiondate='2019-07-09T11:11:33Z'>Persistent Uniform Resource Locator</a></cite> (<abbr title='Persistent Uniform Resource locator'>PURL</abbr>) is a way to provide an HTTP URL a permanent redirect to another HTTP URL. PURLs can be registered and managed by anyone. The PURL service is currently administered by the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#internet-archive">Internet Archive</a></cite>.</p> <p id='w3id'>Similar to PURLs, is the W3C <cite><a rel='cito:citesAsAuthority' href="http://www.w3.org/community/perma-id/" data-versionurl='https://web.archive.org/web/20190709111133/https://www.w3.org/community/perma-id/' data-versiondate='2019-07-09T11:11:33Z'>Permanent Identifier Community Group</a></cite>’s resulting <cite><a rel='cito:discusses' href="https://w3id.org/" data-versionurl='https://web.archive.org/web/20190709111133/https://w3id.org/' data-versiondate='2019-07-09T11:11:33Z'>w3id.org</a></cite>, where a group of entities that pledge to ensure the operation of the community-drive service. w3id.org provides a permanent URL re-direction service, and it can be done by making a request to register and update a URI path. There are shared second-level paths eg. for people, that can be registered the same way. The service is flexible in that different server rules for redirections can be set.</p> <p id='persistent-identifier'><cite><a rel='cito:citesForInformation' href="http://www.ijdc.net/article/download/9.1.331/362/" data-versionurl='https://web.archive.org/web/20180901160152/http://www.ijdc.net/article/download/9.1.331/362/' data-versiondate='2018-09-01T16:01:52Z'>Persistent Identifiers for Scholarly Assets and the Web: The Need for an Unambiguous Mapping</a></cite> Van de Sompel, 2014, states that a <cite>Persistent Identifier</cite> (<abbr title='Persistent IDentifier'>PID</abbr>) is a <q cite='http://www.ijdc.net/article/download/9.1.331/362/'>string that complies with a well-defined syntax, minted in a namespace controlled by a naming authority</q>. PURL, w3id, ORCID, and DOI are PIDs. For digital objects accessible over the Internet, PIDs are intended to be used as a long-lasting reference to a unit of information, and be <em>actionable</em> in the sense that the environment can be directed to the identified source. For example, a DOI-based PID can be <samp>10.2218/ijdc.v9i1.320</samp>, and the organisation – in this case the International DOI Foundation – would be responsible to maintain an unambiguous mapping to an accessible resource. Typically once mapped, the process starts from a DOI URI <samp>https://doi.org/10.2218/ijdc.v9i1.320</samp> which (currently) resolves to the location <samp>http://www.ijdc.net/article/view/9.1.331</samp> where its contents can be retrieved. URN, International Standard Book Number (<abbr title='International Standard Book Number'>ISBN</abbr>), Archival Resource Keys (<abbr title='Archival Resource Keys'>ARK</abbr>) are other examples of PID.</p> <p id='archives'>There are different forms of social contracts or <em>promises</em> made for long-term societal benefit in terms of archival and preservation of knowledge. They can be categorised as follows:</p> <ul> <li>any Web-wide publicly usable archival services, eg. <cite><a href="https://csarven.ca/linked-research-decentralised-web/#internet-archive">Internet Archive</a></cite>, <cite><a rel='cito:citesAsEvidence' href="http://archive.is/" data-versionurl='https://web.archive.org/web/20190601052431/https://archive.is/' data-versiondate='2019-06-01T05:24:31Z'>archive.is</a></cite>, <cite><a rel='cito:citesAsEvidence' href="http://webcitation.org/" data-versionurl='https://web.archive.org/web/20190727104155/https://webcitation.org/' data-versiondate='2019-07-27T10:41:55Z'>WebCite</a></cite>, <cite><a rel='cito:citesAsEvidence' href="https://perma.cc/" data-versionurl='https://web.archive.org/web/20190727104314/https://perma.cc/' data-versiondate='2019-07-27T10:43:14Z'>Perma.cc</a>, <a rel='cito:citesAsEvidence' href="https://webrecorder.io/" data-versionurl='https://web.archive.org/web/20190727104153/https://webrecorder.io/' data-versiondate='2019-07-27T10:41:53Z'>Webrecorder</a></cite>; </li> <li>dedicated digital preservation organisations, eg. <cite><a rel='cito:citesAsEvidence' href="https://www.portico.org/" data-versionurl='https://web.archive.org/web/20190727104152/https://www.portico.org/' data-versiondate='2019-07-27T10:41:52Z'>Portico</a></cite>;</li> <li>libraries, eg. <cite><a title='Lots Of Copies Keep Stuff Safe' rel='cito:citesAsEvidence' href="https://www.lockss.org/" data-versionurl='https://web.archive.org/web/20190727104153/https://www.lockss.org/' data-versiondate='2019-07-27T10:41:53Z'>LOCKSS</a></cite>;</li> <li>global archives preserving content on behalf of all libraries, eg. <cite><a title='Controlled LOCKSS' rel='cito:citesAsEvidence' href="https://clockss.org/" data-versionurl='https://web.archive.org/web/20190727104153/https://clockss.org/' data-versiondate='2019-07-27T10:41:53Z'>CLOCKSS</a></cite>;</li> <li>subscription based service for all kinds of libraries, federal institutions, state archives, NGOs, eg. <cite><a rel='cito:citesAsEvidence' href="https://archive-it.org/" data-versionurl='https://web.archive.org/web/20190727104152/https://archive-it.org/' data-versiondate='2019-07-27T10:41:52Z'>Archive-It</a></cite>;</li> <li>state or federal archives, eg. <cite><a rel='cito:citesAsEvidence' href="https://www.bar.admin.ch/" data-versionurl='https://web.archive.org/web/20190727104200/https://www.bar.admin.ch/bar/de/home.html' data-versiondate='2019-07-27T10:42:00Z'>Swiss Federal Archives</a></cite>, <cite><a rel='cito:citesAsEvidence' href="https://www.bac-lac.gc.ca/" data-versionurl='https://web.archive.org/web/20190727104305/http://www.bac-lac.gc.ca/Pages/default.aspx' data-versiondate='2019-07-27T10:43:05Z'>Library and Archives Canada</a></cite>;</li> <li>institutional-run digital archives, eg. <cite><a title='Leibniz Information Centre for Science and Technology University Library' rel='cito:citesAsEvidence' href="https://www.tib.eu/" data-versionurl='https://web.archive.org/web/20190727104158/https://www.tib.eu/en/' data-versiondate='2019-07-27T10:41:58Z'>TIB</a></cite>, <cite><a rel='cito:citesAsEvidence' href="https://zenodo.org/" data-versionurl='https://web.archive.org/web/20190727104155/https://zenodo.org/' data-versiondate='2019-07-27T10:41:55Z'>Zenodo</a></cite></li> </ul> <p id='internet-archive'>In 1996, the <cite><a rel='cito:discusses' href="https://archive.org/" data-versionurl='https://web.archive.org/web/20190709111132/https://archive.org/' data-versiondate='2019-07-09T11:11:32Z'>Internet Archive</a></cite> begun to archive the publicly accessible resources on the Internet, and provides free public access to its digital library. The <cite><a rel='cito:citesAsEvidence' href="https://web.archive.org/" data-versionurl='https://web.archive.org/web/20190709111132/https://web.archive.org/' data-versiondate='2019-07-09T11:11:32Z'>Wayback Machine</a></cite> is a service that allows users to search and access archived Web documents in particular. The Wayback Machine can be used to navigate through different versions of URLs based on the date-time in which they were accessed and stored. For example, all of the <a rel='cito:citesAsEvidence' href="https://web.archive.org/web/*/https://csarven.ca/">captures of csarven.ca</a> as well as the other articles of the site are available, along with a <a rel='cito:citesAsEvidence' href="https://web.archive.org/details/https://csarven.ca/">summary</a>.</p> </div> </section> </div> </section> <section resource='#social-scholarly-web' rel='schema:hasPart' inlist='' id='social-scholarly-web'> <h3 property='schema:name'>Social Scholarly Web</h3> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://www.w3.org/History/1994/WWW/Journals/PhysicsWorld/PW.ascii'> <p>Experience with the ªWorld-Wide Webº (W3) global information initiative suggests that the whole mechanism of academic research will change with new technology. However, when we try (dangerously) to see the shape of things to come, it seems that some old institutions may resurface but in a new form.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.w3.org/History/1994/WWW/Journals/PhysicsWorld/PW.ascii" data-versionurl='https://web.archive.org/web/20190224132420/https://www.w3.org/History/1994/WWW/Journals/PhysicsWorld/PW.ascii' data-versiondate='2019-02-24T13:24:20Z'>Physics World article for end March 1992</a></cite>, Tim Berners-Lee, 1992</footer> </blockquote> <p id='scholarly-ecosystem-effects'>The scholarly ecosystem is inherently social. Researchers and scholars have been exchanging and collaborating on their findings and questioning, just as they were in the era of the <cite>Republic of Letters</cite>. The social dimension not only exerts a force within the research community, from the society, and eventually flowing back out to society. As the Web deeply impacts societies, in addition to using social media, researchers and academics have also been studying sociotechnical systems from their respective disciplines. We need to understand the effects of the tools we use on the ecosystem and on scientific and scholarly communication. There is a top-down social pressure for research openness and access to knowledge that is in the public interest, however, achieving it through the methods and ethics is challenging for societies. In this section, I will overview how researchers use social media, quality control and certification, and access to research knowledge in context of privilege and gatekeeping.</p> <section resource='#social-media-and-academia' rel='schema:hasPart' inlist='' id='social-media-and-academia'> <h4 property='schema:name'>Social Media and Academia</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Contemporary social media and networking sites has been facilitating academics to exchange information. More specifically, academics use social media for a variety of reasons, to name a few: to network and collaborate; disseminate and find research results, crowd-source and crowd-fund research challenges, engage with public and foster trust on research results by providing authoritative feedback.</p> <p id='online-scholarly-communities'>There are online communities geared towards scientists, academics, librarians, and scholars with topical focus on various aspects of scholarly communication. In <cite><a rel='cito:citesForInformation' href="https://firstmonday.org/ojs/index.php/fm/article/view/4937/4159" data-versionurl='https://web.archive.org/web/20190224000924/https://firstmonday.org/ojs/index.php/fm/article/view/4937/4159' data-versiondate='2019-02-24T00:09:24Z'>Academics and their online networks: Exploring the role of academic social networking sites</a></cite>, Jordan, 2015, discusses the proliferation of social networking sites predominantly operated by businesses independently of education institutions. Academics from different disciplines communicate to publish and review articles in different states (pre-prints to post-prints), pose and answer questions, construct identities and build profiles, exchange messages, as well as explore trends.</p> <p id='online-social-media'>Online social media tools are affecting or influencing scholarly communication from a variety of fronts. For instance, with the advent of the Web and the notion academics having the right and means to exchange scholarly literature with their peers for free, there has been plethora of initiatives and developments over the course of three decades in academia, libraries, archives, as well as standards for creating, sharing and preserving (<cite><a rel='cito:citesAsDataSource' href="http://oad.simmons.edu/oadwiki/Main_Page" data-versionurl='https://web.archive.org/web/20190224140551/http://oad.simmons.edu/oadwiki/Main_Page' data-versiondate='2019-02-24T14:05:51Z'>Open Access Directory</a></cite>). Moreover, the call to take advantage of features offered by the new media, has opened new ways of publishing and disseminating scientific and scholarly knowledge globally, as well as institutional infrastructures being adapted to meet communication needs. For example, universities providing an online space for staff members and students to publish their profiles, as well as to share their research interests, academic output, and other educational material. Institutional repositories have been built to retain copies of scholarly work, as well as mechanisms to exchange data with other repositories.</p> <p id='citizen-science'>In recent years, there has also been growing number of community-led initiatives for individuals to help researchers and scientists by performing <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Citizen_science" data-versionurl='https://web.archive.org/web/20190709111133/https://en.wikipedia.org/wiki/Citizen_science' data-versiondate='2019-07-09T11:11:33Z'>citizen science</a></cite> independently, from sharing photos of coral reefs, analysing radio signals, to solving protein structures.</p> <p>In parallel to "internal" technical and social advancements, infrastructure towards open scholarly communication has been offered by commercial entities in various forms with different business models, from authoring, reviewing, messaging, organising, indexing, searching, to visualising scholarly information.</p> <p id='walled-gardens'>In essence, third-party controlled online social media exist simply because academics have needs to be fulfilled. <cite><a rel='cito:citesForInformation' href="http://www.pasteur4oa.eu/sites/pasteur4oa/files/resource/Scholarly%20Platforms%20Briefing%20Paper_FINAL.pdf" data-versionurl='https://web.archive.org/web/20190224154322/http://www.pasteur4oa.eu/sites/pasteur4oa/files/resource/Scholarly%20Platforms%20Briefing%20Paper_FINAL.pdf' data-versiondate='2019-02-24T15:43:22Z'>PASTEUR4OA Briefing Paper: Infrastructures for Open Scholarly Communication</a></cite>, Moore, 2016, states that online platforms have become increasingly centralised locations for a range of user interactions, and they have a commonality in that, their primary <q>currency</q> is user’s data which is monetised in various ways; the platforms cater to different stakeholders while being <q>free</q>; the platforms are often funded by firms that offer venture-capital and are almost exclusively driven by profit-maximising; and in order to maximise the number of users and data generated through their interactions, the platforms are centralised and act as closed proprietary ecosystems (commonly referred to as <q cite='https://en.wikipedia.org/wiki/Closed_platform'>walled gardens</q>) where data access, portability, ownership and content structures are constrained in ways which makes it difficult for users’ to simply move to another system.</p> </div> </section> <section resource='#quality-control-and-certification' rel='schema:hasPart' inlist='' id='quality-control-and-certification'> <h4 property='schema:name'>Quality Control and Certification</h4> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='urn:isbn:0123876729'> <dl> <dt>peer review</dt> <dd>A method of quality control of scholarly articles, whereby each article submitted for publication in a journal is sent to one or more scholars working the same research field as the author and the scholar(s) assess(es) whether the article is of a high enough standard and appropriate for publication in that particular journal.</dd> </dl> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.worldcat.org/oclc/773482913" data-versionurl='https://web.archive.org/web/20190709105651/https://www.worldcat.org/title/encyclopedia-of-international-media-and-communications-vol-2-f-k/oclc/773482913' data-versiondate='2019-07-09T10:56:51Z'>Encyclopedia of International Media and Communications</a></cite>, Scholarly Journals, Vol. 2, p. 687, 2003</footer> </blockquote> <p id='quality-control-peer-review'>In <cite><a rel='cito:citesForInformation' href="http://cogprints.org/1685/1/12harnad.html" data-versionurl='https://web.archive.org/web/20190219235031/http://cogprints.org/1685/1/12harnad.html' data-versiondate='2019-02-19T23:50:31Z'>Free at Last: The Future of Peer-Reviewed Journals</a></cite>, Harnad, 1999, states that <q>peer review is a quality-control and certification (QC/C) filter necessitated by the vast scale of learned research today.</q> In <cite><a rel='cito:obtainsBackgroundFrom' href="http://cogprints.org/1692/1/harnad96.peer.review.html" data-versionurl='https://web.archive.org/web/20180920154612/http://cogprints.org/1692/1/harnad96.peer.review.html' data-versiondate='2018-09-20T15:46:12Z'>Implementing Peer Review on the Net: Scientific Quality Control in Scholarly Electronic Journals</a></cite>, Harnad, 1996, posits that electronic networks offer the possibility of efficient and equitable <em>peer review</em> on published and ongoing work, which can replicate the traditional paper form. As the medium revolutionised interactive publications, it was possible for peer review to be supplemented with online commentary as another form of quality control for scholarly literature at any state.</p> <p id='function-of-peer-review'>The scientific community has been aware of the crude and fallibility of traditional peer review, for example, in cases such as, crediting bad research, good research getting dismissed for political reasons, <q>predatory publishing</q> (quality of the research content being irrelevant), or even treating commentary or opinion pieces as equivalent to scientific evaluation. <em>Nevertheless</em>, the function of peer review in the scholarly system is a form of self-regulation and certification. Without having any maintenance for quality, distinguishing valid, reliable, useful and ethical work from those not, would be difficult to achieve systematically. This is particularly concerning where the general public can become aware of a piece of information, yet the validity of the research findings may be inaccessible or absent, and thus have major consequences to our society and the planet – as with cases where widely agreed scientific evidence and observable effects of global climate change can be easily "questioned" by propaganda spread through mass-media by elite forces with a personal or private agenda; the amplification of the flat Earth conspiracy, and so on.</p> <p id='what-is-open-peer-review'><cite><a rel='cito:citesForInformation' href="https://f1000research.com/articles/6-588" data-versionurl='https://web.archive.org/web/20190220143341/https://f1000research.com/articles/6-588' data-versiondate='2019-02-20T14:33:41Z'>What is open peer review? A systematic review</a></cite>, Ross-Hellauer, 2017, first categorises the problems in traditional peer review, second studies the diversity of definitions of <q>open peer review</q> (<abbr title='Open Peer Review'>OPR</abbr>) in literature, and sets out to resolve the ambiguity, and classifies the common traits. The articles argues that the OPR traits: <q>open identities</q>, <q>open reports</q>, <q>open participation</q>, <q>open interaction</q>, <q>open pre-review manuscripts</q>, <q>open final-version commenting</q>, and <q>open platforms (“decoupled review”)</q> can help to address common problems in the traditional peer review model categorised as: <em>unreliability and inconsistency</em>, <em>delay and expense</em>, <em>lack of accountability and risks of subversion</em>, <em>social and publication biases</em>, <em>lack of incentives</em>, <em>wastefulness</em>.</p> <p id='future-innovations-in-peer-review'>The peer review model towards quality control has received extensive criticism. These are studied in <cite><a rel='cito:citesForInformation' href="https://f1000research.com/articles/6-1151" data-versionurl='https://web.archive.org/web/20190220003846/https://f1000research.com/articles/6-1151' data-versiondate='2019-02-20T00:38:46Z'>A multi-disciplinary perspective on emergent and future innovations in peer review</a></cite>, Tennant, 2017. The article examines different approaches to peer review models and systems. In context of <q>decoupled post-publication (annotation services)</q>, the article states that while there are online communities and services for open peer review, the systems are largely non-interoperable in that <q>most evaluations are difficult to discover, lost, or rarely available in an appropriate context or platform for re-use</q>.</p> <p id='reproducible-replicable'>Reproducible research findings refers to the notion that when the exact methods are used to replicate or repeat to reach the same findings. However, for some research, reproduction is not always possible, for example when data is sensitive, or influenced by time or space. In this case, replication can be carried out to answer the same research questions using similar or equivalent approaches. The reproduction of the original work can be either confirmatory, ie. able to reproduce, or; contradictory, unable to reproduce or inconclusive. Thus, in order to reconstruct how the data was generated and to make sense of it, data needs to be accompanied by enough detail about its provisional interpretations.</p> <p id='research-preregistration'><cite><a rel='cito:citesForInformation' href="https://www.pnas.org/content/115/11/2600" data-versionurl='https://web.archive.org/web/20190223212238/https://www.pnas.org/content/115/11/2600' data-versiondate='2019-02-23T21:22:38Z'>The preregistration revolution</a></cite>, Nosek, 2018, describes the uptake of the <q>preregistration</q> process as a way to <q>define the research questions and analysis plan before observing the research outcomes</q>. <q>Registered reports</q> was initially proposed as an open letter to the scientific community as a way to <cite><a rel='cito:citesForInformation' href="http://neurochambers.blogspot.com/2012/10/changing-culture-of-scientific.html" data-versionurl='https://web.archive.org/web/20190223220745/http://neurochambers.blogspot.com/2012/10/changing-culture-of-scientific.html' data-versiondate='2019-02-23T22:07:45Z'>Changing the culture of scientific publishing from within </a></cite>, Chambers, 2012. Researchers would register a research plan which gets reviewed by their peers for significance, rationale, soundness and feasibility of the methodology, and replicability, it would be approved to carry out the research. The approach provides a conditional acceptance for the final manuscript.</p> <blockquote cite='https://en.wikipedia.org/wiki/Goodhart%27s_law'> <p>Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://en.wikipedia.org/wiki/Goodhart%27s_law" data-versionurl='https://web.archive.org/web/20190709111134/https://en.wikipedia.org/wiki/Goodhart%27s_law' data-versiondate='2019-07-09T11:11:34Z'>Goodhart’s law</a></cite></footer> </blockquote> <p id='scholarly-metrics'>The current scholarly system implements metrics for impact of various scholarly artifacts. <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Citation_impact" data-versionurl='https://web.archive.org/web/20190709111134/https://en.wikipedia.org/wiki/Citation_impact' data-versiondate='2019-07-09T11:11:34Z'>Citations impacts</a></cite> quantifies the importance of academic articles, journals, and authors. Article citations is used to indicate how often it is referenced. <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Impact_factor" data-versionurl='https://web.archive.org/web/20190709111134/https://en.wikipedia.org/wiki/Impact_factor' data-versiondate='2019-07-09T11:11:34Z'>Journal Impact Factor</a></cite> (<abbr title='Journal Impact Factor'>JIF</abbr>) is used to indicate the relative importance of an academic journal within its field. <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/H-index" data-versionurl='https://web.archive.org/web/20190709111134/https://en.wikipedia.org/wiki/H-index' data-versiondate='2019-07-09T11:11:34Z'>h-index</a></cite> is one way to measure bibliometric impact of individual authors in their field. The validity of these metrics has received numerous criticisms.</p> <p id='journal-rank'><cite><a rel='cito:citesForInformation' href="https://www.frontiersin.org/articles/10.3389/fnhum.2018.00037/full" data-versionurl='https://web.archive.org/web/20190222232846/https://www.frontiersin.org/articles/10.3389/fnhum.2018.00037/full' data-versiondate='2019-02-22T23:28:46Z'>Prestigious Science Journals Struggle to Reach Even Average Reliability</a></cite>, Brembs, 2018, examines accumulating data which suggests <q>methodological quality and, consequently, reliability of published research works in several fields may be decreasing with increasing journal rank.</q> As society becomes more literate and reliability of research becomes more important, the article posits that the scientific community should strive to abolish the pressure that JIF exerts towards measuring the productivity of scholars, in order to preserve society’s trust in the scientific endeavour. <cite><a rel='cito:citesForInformation' href="https://www.frontiersin.org/articles/10.3389/fnhum.2013.00291/full" data-versionurl='https://web.archive.org/web/20190219235116/https://www.frontiersin.org/articles/10.3389/fnhum.2013.00291/full' data-versiondate='2019-02-19T23:51:16Z'>Deep impact: unintended consequences of journal rank</a></cite>, Brembs, 2013, posits that <q>fragmentation and the resulting lack of access and interoperability are among the main underlying reasons why journal rank has not yet been replaced by more scientific evaluation options, despite widespread access to article-level metrics today</q>.</p> <p id='altmetrics'><cite><a rel='cito:citesForInformation' href="https://altmetrics.org/" data-versionurl='https://web.archive.org/web/20190709212204/http://altmetrics.org/manifesto/' data-versiondate='2019-07-09T21:22:04Z'>Altmetrics</a></cite> is <q rel='cito:discusses' data-versionurl='https://web.archive.org/web/20190319114826/https://altmetrics.org/about/' data-versiondate='2019-03-19T11:48:26Z' cite='https://altmetrics.org/about/'>the creation and study of new metrics based on the social web for analyzing, and informing scholarship</q>. They are are complementary to traditional citation impact metrics by aggregating diverse online research output eg. citations, downloads, mentions, from public APIs (<cite><a rel='cito:citesForInformation' href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0048753" data-versionurl='https://web.archive.org/web/20190225214345/https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0048753' data-versiondate='2019-02-25T21:43:45Z'>The Altmetrics Collection</a></cite>, Priem, 2012). It could be applied in researcher evaluations, as well as can pressure individuals to use commercially controlled social media.</p> </div> </section> <section resource='#privilege-and-gatekeeping' rel='schema:hasPart' inlist='' id='privilege-and-gatekeeping'> <h4 property='schema:name'>Privilege and Gatekeeping</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The scholarly communication system has been the subject of controversies internationally ever since the shift towards its systematisation and the effect of the forces in society, research market and knowledge industry. Controlling access to information or knowledge in all intents and purposes has been a race to controlling science (communication), financial and political power. Moreover, intelligence gleaned from users data has not only been profitable, but has also raised long-standing privacy issues.</p> <p id='big-deal-costs'><cite><a rel='cito:citesForInformation' href="https://eua.eu/downloads/publications/2019%20big%20deals%20report.pdf" data-versionurl='https://web.archive.org/web/20190514135148/https://eua.eu/downloads/publications/2019%20big%20deals%20report.pdf' data-versiondate='2019-05-14T13:51:48Z'>2019 Big Deals Survey Report: An Updated Mapping of Major Scholarly Publishing Contracts in Europe</a></cite>, European University Association, 2019, states that the consortia including universities, libraries, government representatives, and scientific organisations, <q resource='https://eua.eu/downloads/publications/2019%20big%20deals%20report.pdf' rel='cito:citesAsDataSource' cite='https://eua.eu/downloads/publications/2019%20big%20deals%20report.pdf'>representing 30 European countries reported a total annual spend of €726,350,945 on periodicals Big Deals. The proportion of these costs covered by universities is about 72%, or approximately €519,973,578</q>. <cite><a rel='cito:citesAsDataSource' href="https://osf.io/preprints/lissa/58yhb/download" data-versionurl='https://web.archive.org/web/20190408210844/https://files.osf.io/v1/resources/58yhb/providers/osfstorage/5ca51608f7730500193c2671?action=download&amp;version=1&amp;direct' data-versiondate='2019-04-08T21:08:44Z'>SPARC Landscape Analysis</a></cite>, SPARC, 2019, observes a company’s revenues per journal article in the region of 4100 USD. <cite><a rel='cito:citesForInformation' href="https://www.theguardian.com/science/2017/jun/27/profitable-business-scientific-publishing-bad-for-science" data-versionurl='https://web.archive.org/web/20190408214145/https://www.theguardian.com/science/2017/jun/27/profitable-business-scientific-publishing-bad-for-science' data-versiondate='2019-04-08T21:41:45Z'>Is the staggeringly profitable business of scientific publishing bad for science?</a></cite>, The Guardian, 2017, reports that some publishing and data analytics businesses earn close to 40% profit margins meanwhile scientists get a <q>a bad deal</q>.</p> <p id='knowledge-inequality'><cite><a rel='cito:citesAsAuthority' href="https://hal.archives-ouvertes.fr/hal-01816707/document" data-versionurl='https://web.archive.org/web/20190225003003/https://hal.archives-ouvertes.fr/hal-01816707/document' data-versiondate='2019-02-25T00:30:03Z'>Inequality in Knowledge Production: The Integration of Academic Infrastructure by Big Publishers</a></cite>, Posada, 2018, commercial entities traditionally with the publisher role have evolved and increased their control of the research process, publishing process, as well as the research evaluation process.</p> <p id='oligopoly-inequality'><cite><a rel='cito:citesAsAuthority' href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0127502" data-versionurl='https://web.archive.org/web/20190225004711/https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0127502' data-versiondate='2019-02-25T00:47:11Z'>The Oligopoly of Academic Publishers in the Digital Era</a></cite>, Larivière, 2015, posits that the value added by the publishers did not increase as their rise of ownership in the scientific publishing system over centuries. According to <cite><a rel='cito:citesAsAuthority' href="https://olh.openlibhums.org/articles/10.16995/olh.72/" data-versionurl='https://web.archive.org/web/20190225002444/https://olh.openlibhums.org/articles/10.16995/olh.72/' data-versiondate='2019-02-25T00:24:44Z'>Opening the Black Box of Scholarly Communication Funding: A Public Data Infrastructure for Financial Flows in Academic Publishing</a></cite>, Lawson, 2015, the emergence and growing use of <abbr title='Article Processing Charge'>APC</abbr> model provided a stable revenue stream to publishers, while the technical infrastructure remained relatively unchanged. In <cite><a rel='cito:discusses' href="https://www.openlibhums.org/news/314/" data-versionurl='https://web.archive.org/web/20190101133633/https://www.openlibhums.org/news/314/' data-versiondate='2019-01-01T13:36:33Z'>Open Access, the Global South and the Politics of Knowledge Production and Circulation</a></cite>, an Open Insights interview with Leslie Chan, 2018, states that <q resource='https://www.openlibhums.org/news/314/' rel='cito:includesQuotationFrom' cite='https://www.openlibhums.org/news/314/'>adding openness to an asymmetrical and highly unequal system simply amplifies the gap and empowers the already powerful.</q></p> <p id='open-access-irony'>A corpus of research articles on the topic of “open” and “free” access to research is collected in <cite><a rel='cito:citesAsDataSource' href="http://www.citeulike.org/group/13803" data-versionurl='https://web.archive.org/web/20190222113331/http://www.citeulike.org/group/13803' data-versiondate='2019-02-22T11:33:31Z'>Group: Open Access Irony Award</a></cite>, 2019, where individual articles at the time of their publication are themselves inaccessible, require subscription or payment. In <cite><a rel='cito:discusses' href="https://mfr.osf.io/render?url=https%3A%2F%2Fosf.io%2Fdownload%2F4k9zd%2F%3Fdirect%26mode%3Drender" data-versionurl='https://web.archive.org/web/20190709111135/https://mfr.osf.io/render?url=https%3A%2F%2Fosf.io%2Fdownload%2F4k9zd%2F%3Fdirect%26mode%3Drender' data-versiondate='2019-07-09T11:11:35Z'>Practicing What You Preach: Evaluating Access of Open Access Research</a></cite>, Schultz, 2018, sets to find out how many published research articles about OA fall into the category of publishing their work in paywalled journals and fail to make it open. One explanation of this phenomenon may be that while the research community has shown increasing interest in studying and pursuing open access to research (over several decades, if not more generally over centuries), as well as an overwhelming support for the idea of open access as shown in <cite><a rel='cito:citesAsDataSource' href="https://arxiv.org/pdf/1101.5260.pdf" data-versionurl='https://web.archive.org/web/20190319110042/https://arxiv.org/pdf/1101.5260.pdf' data-versiondate='2019-03-19T11:00:42Z'>Highlights from the SOAP project survey. What Scientists Think about Open Access Publishing</a></cite>, Dallmeier-Tiessen, 2011, the actors in the scholarly system are constrained or tied to traditional models of publishing and distribution.</p> <p id='landscape-analysis'>The <cite><a rel='cito:citesAsDataSource' href="https://osf.io/preprints/lissa/58yhb/download" data-versionurl='https://web.archive.org/web/20190408210844/https://files.osf.io/v1/resources/58yhb/providers/osfstorage/5ca51608f7730500193c2671?action=download&amp;version=1&amp;direct' data-versiondate='2019-04-08T21:08:44Z'>SPARC Landscape Analysis</a></cite>, SPARC, 2019, reports that some of the major academic publishers are transitioning from providing content to data analytics business. The document provides broad-stroke strategies that higher institutes can consider eg. <q>revising existing data policies, establishing coordination mechanisms, negotiating to ensure institutional ownership of the data and infrastructure and establishing open terms and conditions … re-thinking the institution’s relationship to its data in terms of commercial exploitation, IP ownership, and research investment outcomes.</q></p> <p id='vertical-integration-in-academic-publishing'><cite><a rel='cito:citesForInformation' href="https://books.openedition.org/oep/9068" data-versionurl='https://web.archive.org/web/20190604160755/https://books.openedition.org/oep/9068' data-versiondate='2019-06-18T16:07:55Z'>Vertical Integration in Academic Publishing</a></cite>, Chen, 2019, confirms academic publishing industry’s expansion and control of <q>data analytics by building end-to-end infrastructure that span the entire knowledge production life cycle</q> through mergers and acquisitions. Authors state further vertical integration can potentially have an <q>exclusionary effect on less financially well-endowed journals and institutions, primarily those in the Global South, in their attempt to emulate the western modality of knowledge production</q>.</p> <p id='publisher-be-damned'>The article <cite><a rel='cito:citesForInformation' href="https://www.tandfonline.com/doi/full/10.1080/08109028.2014.891710" data-versionurl='https://web.archive.org/web/20190220162125/https://www.tandfonline.com/doi/full/10.1080/08109028.2014.891710' data-versiondate='2019-02-20T16:21:25Z'>Publisher, be damned! From price gouging to the open road</a></cite>, Harvie, 2014, criticises the large profits made by for-profit publishers while taking advantage of academics’ labours. After internal disagreements (between the publisher and the editorial board), the article was published where the <a rel='cito:citesAsEvidence' href="http://figshare.com/articles/Publisher_be_damned_From_price_gouging_to_the_open_road/1046703" data-versionurl='https://web.archive.org/web/20190220011147/https://figshare.com/articles/Publisher_be_damned_From_price_gouging_to_the_open_road/1046703' data-versiondate='2019-02-20T01:11:47Z'>original version</a> introduced a disclaimer warning by the publisher stating that <q>the accuracy of the content should not be relied upon.</q> Such unfortunate turn of events exemplifies how academic freedom can be jeopardised, subject to censorship and manipulation when external parties ultimately control the distribution of knowledge.</p> <p id='sci-hub'>In response to paywalled articles with high costs, <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Sci-Hub" data-versionurl='https://web.archive.org/web/20190709111135/https://en.wikipedia.org/wiki/Sci-Hub' data-versiondate='2019-07-09T11:11:35Z'>Sci-Hub</a></cite> is a website that provides free access to research articles and books. The authentication credentials is illicitly obtained authentication credentials to commercial publisher’s online libraries. Sci-Hub has received a variety of responses including praise and criticism from different stakeholders including the research community and the commercial publishers.</p> <blockquote cite='https://www.openlibhums.org/news/314/'> <p>In the case of scholarly publishing, standards such as DOI, JIF, and even metadata standards, are not only technical decisions, but are also political decisions with public policy implications. This is because these standards are not neutral, but are designed to privilege certain types of knowledge or outputs, while rendering other invisible.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.openlibhums.org/news/314/" data-versionurl='https://web.archive.org/web/20190101133633/https://www.openlibhums.org/news/314/' data-versiondate='2019-01-01T13:36:33Z'>Open Access, the Global South and the Politics of Knowledge Production and Circulation</a></cite>, an Open Insights interview with Leslie Chan, Leslie Chan, 2018</footer> </blockquote> <p id='effects-of-third-parties-on-scholarly-communication'>Some of the observable effects of commercial participants in the scholarly ecosystem on scholarly communication is that they have the means to monitor the usage and interaction of units of scholarly information, censor who or what information gets shared and at what cost, have the agency to control the flow of information, and influence the coupling of their notion of academic impact to a biased incentive system.</p> <p id='open-with-a-fine-print'>The current state of scholarly communication predominantly operates under the notion of requiring or relying on third-party publishers to make scholarly contributions available, as well as setting technical and ethical constraints on what can potentially be a scholarly contribution. Looking at this from another perspective, we can observe that actor-controlled participation is not possible towards “open” participation. I will highlight <em>some</em> of the technical practices (from a plethora of instances) put in place by third-party publishers (irrespective of genuine interest in adhering to the Open Science initiative) which raises a number of user experience (<abbr title='User Experience'>UX</abbr>) issues. Some commonly observable UX includes:</p> <ul id='third-party-user-experience'> <li>Session tracking.</li> <li>Requiring cookies to be enabled in order to access the core content.</li> <li>JavaScript-driven resources – forcing users to use certain software and enable JavaScript execution.</li> <li>Resources (eg. articles, annotations) including tracking software.</li> <li>Resources are actively blocked, rate limited, restrictive terms and conditions on reuse for content mining – preventing further research.</li> <li>Web crawlers are actively blocked – preventing archiving services to snapshot.</li> <li>Proprietary data models and access methods.</li> <li>Resources including advertisements.</li> <li>Resources including subscription forms to the journal.</li> <li>Resources are branded by the publisher.</li> <li>Resources change at the discretion of the publisher.</li> <li>Persistent identifiers eventually resolving to landing webpages with no deterministic way for machines to discover content.</li> </ul> </div> </section> </div> </section> <section resource='#forces-and-functions' rel='schema:hasPart' inlist='' id='forces-and-functions'> <h3 property='schema:name'>Forces and Functions</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The scientific communication <em>market</em> is an interplay between actors with an objective to exchange units of information along the lines of: academic literature, analysis, annotations (eg. assessments, bookmarks, comments), datasets, evidence, interactive representations, software, observations, provenance, and workflows. Further, researchers commonly want to expose their work beyond the scientific community to the wider world, seeking adoption or contradiction of new ideas and findings.</p> <p id='forces-and-functions-in-scientific-communication'>In the seminal work, <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.physik.uni-oldenburg.de/conferences/crisp97/roosendaal.html" data-versionurl='https://web.archive.org/web/20190709111136/http://www.physik.uni-oldenburg.de/conferences/crisp97/roosendaal.html' data-versiondate='2019-07-09T11:11:36Z'>Forces and functions in scientific communication</a></cite>, Roosendaal, 1997 provide a framework which has had historical influence on research and development pertaining to technical challenges on interoperability, workflows, service sharing, and information modeling in scholarly communication. Through this thesis, I will refer back to these concepts as a means to describe and compare various technologies and approaches to scientific publishing.</p> <p>Roosendaal and Geurts disassemble the scientific communication market as an interplay between four <a rel='cito:givesBackgroundTo' href="https://csarven.ca/linked-research-decentralised-web/#forces-scientific-communication">forces</a> and <a rel='cito:givesBackgroundTo' href="https://csarven.ca/linked-research-decentralised-web/#functions-scientific-communication">functions</a>. The dynamics between the forces and functions is described as a tetrad:</p> <h4 typeof='skos:ConceptScheme' resource='http://www.physik.uni-oldenburg.de/conferences/crisp97/roosendaal.html' rel='cito:obtainsBackgroundFrom' property='skos:prefLabel' id='forces-scientific-communication' about='#forces-scientific-communication'>Forces</h4> <p property='skos:definition' about='#forces-scientific-communication'>The scientific communication market consists of four forces with each having complementary parts: <a rel='skos:hasTopConcept' href="https://csarven.ca/linked-research-decentralised-web/#forces-actors">actors</a>, <a rel='skos:hasTopConcept' href="https://csarven.ca/linked-research-decentralised-web/#forces-accessibility">accessibility</a>, <a rel='skos:hasTopConcept' href="https://csarven.ca/linked-research-decentralised-web/#forces-content">content</a>, and <a rel='skos:hasTopConcept' href="https://csarven.ca/linked-research-decentralised-web/#forces-applicability">applicability</a>.</p> <dl> <dt typeof='skos:Concept' property='skos:prefLabel' id='forces-actors' about='#forces-actors'>Actors</dt> <dd property='skos:definition' about='#forces-actors'>Any kind of interactive agent that creates or uses information, eg. authors, readers, tool implementers, policy makers, application programs.</dd> <dt typeof='skos:Concept' property='skos:prefLabel' id='forces-accessibility' about='#forces-accessibility'>Accessibility</dt> <dd property='skos:definition' about='#forces-accessibility'>The availability and retrievability of information, content accessibility.</dd> <dt typeof='skos:Concept' property='skos:prefLabel' id='forces-content' about='#forces-content'>Content</dt> <dd property='skos:definition' about='#forces-content'>The generated questions and answers by actors.</dd> <dt typeof='skos:Concept' property='skos:prefLabel' id='forces-applicability' about='#forces-applicability'>Applicability</dt> <dd property='skos:definition' about='#forces-applicability'>Transfer of knowledge to science, technology, and society.</dd> </dl> <h4 typeof='skos:ConceptScheme' resource='http://www.physik.uni-oldenburg.de/conferences/crisp97/roosendaal.html' rel='cito:obtainsBackgroundFrom' property='skos:prefLabel' id='functions-scientific-communication' about='#functions-scientific-communication'>Functions</h4> <p property='skos:definition' about='#functions-scientific-communication'>Scientific communication consists of four functions: <a rel='skos:hasTopConcept' href="https://csarven.ca/linked-research-decentralised-web/#functions-registration">registration</a>, <a rel='skos:hasTopConcept' href="https://csarven.ca/linked-research-decentralised-web/#functions-awareness">awareness</a>, <a rel='skos:hasTopConcept' href="https://csarven.ca/linked-research-decentralised-web/#functions-certification">certification</a>, and <a rel='skos:hasTopConcept' href="https://csarven.ca/linked-research-decentralised-web/#functions-archiving">archiving</a> (<abbr title='Registration, Awareness, Certification, Archiving' property='skos:altLabel'>RACA</abbr>).</p> <dl> <dt typeof='skos:Concept' property='skos:prefLabel' id='functions-registration' about='#functions-registration'>Registration</dt> <dd property='skos:definition' about='#functions-registration'>Allows claims of precedence for a scientific activity.</dd> <dt typeof='skos:Concept' property='skos:prefLabel' id='functions-awareness' about='#functions-awareness'>Awareness</dt> <dd property='skos:definition' about='#functions-awareness'>Remaining informed of the observations.</dd> <dt typeof='skos:Concept' property='skos:prefLabel' id='functions-certification' about='#functions-certification'>Certification</dt> <dd property='skos:definition' about='#functions-certification'>Establishes the validity of registered claims.</dd> <dt typeof='skos:Concept' property='skos:prefLabel' id='functions-archiving' about='#functions-archiving'>Archiving</dt> <dd property='skos:definition' about='#functions-archiving'>Preservation of scholarly records over time.</dd> </dl> <p>The actor and content forces are generic and internal to the scholarly market, and are considered to be indispensable in that there would not be a scientific communication market if there are no researchers and the artifacts they exchange. The accessibility and applicability forces on the other hand are external forces because they shape, give purpose to, or influence the activities and content.</p> <p>The registration and archiving are objective functions in that they are external to the research process. Information exchange cannot take place if there are no usable identifiers for the units of communication or if no knowledge preservation measures are put in place. Certification and awareness are subjective communication functions – internal to the research process. Registration and awareness are different aspects of making information findable, or <em>scientific observations</em>. Certification and archiving are aspects of <em>scientific judgement</em>, ie. they act as filtering mechanisms in the information space.</p> <p>In today’s scholarly publishing, the journal article is considered to have four chief functions:</p> <blockquote cite='http://www.worldcat.org/oclc/773482913'> <ul> <li>The dissemination of information</li> <li>The archiving, or permanent preservation, of the information</li> <li>The assignment of priority in the information</li> <li>Quality control</li> </ul> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.worldcat.org/oclc/773482913" data-versionurl='https://web.archive.org/web/20190709105651/https://www.worldcat.org/title/encyclopedia-of-international-media-and-communications-vol-2-f-k/oclc/773482913' data-versiondate='2019-07-09T10:56:51Z'>Encyclopedia of International Media and Communications</a></cite>, Scholarly Journals, Vol. 2, p. 690, 2003</footer> </blockquote> <p id='rethinking-scholarly-communication'>In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.dlib.org/dlib/september04/vandesompel/09vandesompel.html" data-versionurl='https://web.archive.org/web/20180604193422/http://www.dlib.org/dlib/september04/vandesompel/09vandesompel.html' data-versiondate='2018-06-04T19:34:22Z'>Rethinking Scholarly Communication</a></cite>, Van de Sompel, 2004, proposes to revise the notion of a unit of scholarly communication in two ways. In a technological sense, it suggests to recognise the compound and dynamic nature of a <q cite='http://www.dlib.org/dlib/september04/vandesompel/09vandesompel.html'>unit of communication</q> that work on the Web. Content can be the result of a combination of other registered items; data may be available through interactions, or depend on acquiring externally registered items. In order to empower scholarly communities from a systems perspective, the article posits that there should be more flexibility in what constitutes a unit of scholarly communication in order to allow registration, as well as factoring timing and the quality of what is to be registered. The article also acknowledge the presence of an additional function in the market which reflects the academic credit and policy in the current system. A derived function, <q>rewarding</q> of actors <q>for their performance in the communication system based on metrics derived from that system</q>. For rewarding to take place, the information space needs to provide the ability to extract meaningful metrics.</p> <p id='a-perspective-on-archiving-the-scholarly-web'>In <cite><a rel='cito:obtainsBackgroundFrom' href="https://hvdsomp.info/papers/Papers/2014/iPres2014_Sompel_Treloar.pdf" data-versionurl='https://web.archive.org/web/20180822222954/https://hvdsomp.info/papers/Papers/2014/iPres2014_Sompel_Treloar.pdf' data-versiondate='2018-06-24T16:34:27Z'>A Perspective on Archiving the Scholarly Web</a></cite>, Van de Sompel, 2014 characterises the ongoing evolution and transition of objects pertaining to scholarly communication. In particular, the communication is becoming more <q>Web-centric</q> ie. visible, continuous, informal, instant, content-driven, and the communicated objects vary in their type, have compound composition, diverse, networked, and open.</p> <p>Given that the emergence of the Web influenced the communication market by transforming it from predominantly being medium-driven into a content-driven ecosystem, as well as the research process becoming more visible on the Web (per the <q>Open Science</q> movement), the article also posit that the aforementioned indicators impact the functions in scientific communication, and in particular have a significant impact on the future of archiving. The observation is based on the archival process held on the Web; unplanned and unconstrained archiving, organically occurring, by way of Web objects being deposited across distributed and dedicated archival services. They describe the effect of Web-based archiving with respect to the four functions:</p> <ul id='web-archiving-forces-functions'> <li>registration: a wide variety and versions of objects that are compound, dynamic, interrelated, and interdependent are available from different Web platforms;</li> <li>certification: a variety of mechanisms that are decoupled from registration;</li> <li>awareness: a variety of objects being communicated in real-time and social;</li> <li>archiving: <q>no constraints on the number or kinds of parties that can hold archived copies</q>, the need for <q>appropriate levels of cross-archive interoperability in order to support seamless, uniform access to archived objects</q>, that are temporally appropriate while context being preserved</li> </ul> <p>The authors conclude that in order to address the needs of a distributed archival approach for scholarly Web objects, standards will play a central role for interoperable systems.</p> <p id='rethinking-distributed-archived-scholarly-communication'>Given the dynamic nature of units of communication on the Web, vertical integration, stepping through the four functions in order (as per the traditional journal-centric ecosystem), turns out to be inadequate. Hence, an affirmation of the outlook as outlined in <cite>Rethinking Scholarly Communication</cite>, that the essential functions need to be <q cite='https://hvdsomp.info/papers/Papers/2014/iPres2014_Sompel_Treloar.pdf'>fulfilled in discreet, disaggregated, and distributed manners, and in which a variety of networked pathways interconnect the autonomous hubs that fulfill these functions</q>. The act of <q>recording</q> (or <em>registering</em> in the most general sense) a unit of communication is not a replacement for <em>archiving</em> or persistence, even if the freely available Web services are used towards this end. The authors distinguish recording and archiving in that the former is short-term, no guarantees provided, used for many read-write operations, and part of a scholarly process. Archiving serves a different function, in that it is intended for the long-term, and there is an attempt of a guarantee (or promise) and the archived artifact becomes part of the scholarly record.</p> <p id='web-archivable-scholarly-communication'>The authors call for another archival paradigm that is based off the characteristics of the Web. That is, given the inherently interlinked and dynamic nature of Web objects, archived resources cannot be treated as atomic resources as they do not necessarily contain the complete content. For instance, a research document on the Web may refer to external media or interactive scripts, aggregated objects, and changing or ephemeral objects. This is in contrast to the traditional journal-centric approach to archival where all material – physical paper – can be eventually tracked to library stacks. Hence, the future of archiving needs to consider the nature of the object, including the degree to which it can be archived. The complexity and care that is required for the proper preservation of digital objects is further described in <cite><a rel='cito:citesForInformation' href="http://www.dlib.org/dlib/november05/rosenthal/11rosenthal.html" data-versionurl='https://web.archive.org/web/20190709111136/http://www.dlib.org/dlib/november05/rosenthal/11rosenthal.html' data-versiondate='2019-07-09T11:11:36Z'>Requirements for Digital Preservation Systems</a></cite>, Rosenthal, 2005, provides a taxonomy of threat models: software, communication, network, economic, organisational, to name a few, which pose a particular risk to permanent information loss. Thus, it is important to bare these potential issues in mind when considering what scholarly units of information will contain and how they will be made available.</p> </div> </section> <section resource='#effects-and-artifacts' rel='schema:hasPart' inlist='' id='effects-and-artifacts'> <h3 property='schema:name'>Effects and Artifacts</h3> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='http://www.worldcat.org/oclc/981396559'> <p>All of man’s artifacts – whether language, or laws, or ideas and hypotheses, or tools, or clothing, or computers – are extensions of the physical human body or the mind.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.worldcat.org/oclc/981396559" data-versionurl='https://web.archive.org/web/20190709111139/https://www.worldcat.org/title/laws-of-media-the-new-science/oclc/981396559' data-versiondate='2019-07-09T11:11:39Z'>Laws of Media</a></cite>, p. 93, Marshall McLuhan, 1989</footer> </blockquote> <p>In recent decades there has been a global shift in communication forms used for scientific activities. This perhaps demonstrates a desire for amplification of the senses that are used to consume and create knowledge. For instance, print-centric emphasises the linearity of scientific information representation and its communication, whereas a Web-centric approach makes multimodal interactions possible within the same domain. Scientists need no longer fit their understanding of the world within the confines of static and two-dimensional descriptions of phenomena. The need to travel great distances for first-hand observations and collaboration is also reduced. With electronic media, and more specifically the Web, we have the option to also watch, listen, and participate around measured observations, instantaneously as the events occur, or after the fact around persistent and detailed logs. Just as the invention of the printing press transformed the codification and mobility of knowledge, the Web transformed and extended human and machine communication on all fronts. What will be further explored in this thesis is the extent to which our current scholarly activities make use of the inherent qualities of the Web, as well as ways to further take advantage of these qualities.</p> <p id='tetrad-of-media-effects'><strong>Tetrad of Media Effects</strong>: The Web is an <em>artifact</em> of our society. In order to help us understand the <em>effects</em> of the Web on scholarly communication, we can <em>tetrad of media effects</em> from the <cite><a rel='cito:usesMethodIn' href="http://www.worldcat.org/oclc/981396559" data-versionurl='https://web.archive.org/web/20190709111139/https://www.worldcat.org/title/laws-of-media-the-new-science/oclc/981396559' data-versiondate='2019-07-09T11:11:39Z'>Laws of Media</a></cite>, McLuhan, 1989, as a heuristic device; a set of four questions:</p> <blockquote cite='http://www.worldcat.org/oclc/981396559'> <ul> <li>What does it enhance or intensify?</li> <li>What does it render obsolete or displace?</li> <li>What does it retrieve that was previously obsolesced?</li> <li>What does it produce or become when pressed to an extreme?</li> </ul> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.worldcat.org/oclc/981396559" data-versionurl='https://web.archive.org/web/20190709111139/https://www.worldcat.org/title/laws-of-media-the-new-science/oclc/981396559' data-versiondate='2019-07-09T11:11:39Z'>Laws of Media</a></cite>, p. 7, Marshall McLuhan, 1989</footer> </blockquote> <p id='effects-of-web-centric-scholarly-communication'><strong>Effects of Web Centric Scholarly Communication</strong>: The questions are intended to be complimentary and studied simultaneously. They correspond to four effects: <q>enhances</q>, <q>obsolesces</q>, <q>retrieves</q>, and <q>reverses into</q>. I use this tetrad to situate the effects and artifacts of scholarly communication on the Web in relative to adjacent mediums, in particular, to print media:</p> <dl> <dt id='effect-enhances'>Enhances</dt> <dd>access to information, autonomy, social connections, decentralisation, distribution, immediacy, multi-modality</dd> <dt id='effect-obsolesces'>Obsolesces</dt> <dd>centralisation, isolation, distance, memorisation, privacy, tactility, travel, linearity, typographical conventions</dd> <dt id='effect-retrieves'>Retrieves</dt> <dd>community, correspondence, direct representation, free expression, dialogue, involvement, public space, self-control</dd> <dt id='effect-reverses-into'>Reverses into</dt> <dd>collectivism, degraded information quality, group-think, information overload, fabrication, lack of accountability, noise, third-party control</dd> </dl> <p>Throughout this thesis, I will refer back to these concepts.</p> <p id='inspecting-effects-and-artifacts'>The tetrad serves as a conceptual categorisation of impacts of a medium that a particular media affords. It allows us to outline and analyse what the medium enables or has implications for based on observations in "the real world", or in day-to-day academic practice. In particular, we can examine the Web’s effects and artifacts within with regards to composition of scholarly information, individual autonomy to create and consume knowledge, and sociality of scholarly communication. By examining these effects, we can hone in on understanding what the underlying <em>form</em> does to us, society at large, and scientific communication itself. It provides us with a foundation to go further in uncovering the nature of scholarly communication’s interplay with the Web.</p> <p>How does scientific communication evolve through the mediums it operates from?</p> </div> </section> <section resource='#understanding-the-medium' rel='schema:hasPart' inlist='' id='understanding-the-medium' class='hot-cool'> <h3 property='schema:name'>Understanding the Medium</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='the-medium-is-the-massage'>In the 1967 book, <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.worldcat.org/oclc/47679653" data-versionurl='https://web.archive.org/web/20190709111138/https://www.worldcat.org/title/medium-is-the-massage-an-inventory-of-effects/oclc/47679653' data-versiondate='2019-07-09T11:11:38Z'>The Medium is the Massage</a></cite>, McLuhan wrote: <q resource='http://www.worldcat.org/oclc/47679653' rel='cito:includesQuotationFrom' cite='http://www.worldcat.org/oclc/47679653'>at the high speeds of electric communication, purely visual means of apprehending the world are no longer possible; they are just too slow to be relevant or effective</q>. While McLuhan’s critique was about the effect of the print media in the electric age, it stands especially valid today in the age of interactive new media. For instance, the <em class='cool-media'>World Wide Web</em> is a <q>cool media</q> because its access, multi-linearity, and interactive possibilities offer multi-sensory states for individuals. This is in contrast to <em class='hot-media'>print</em>, considered by McLuhan to be <q>hot media</q>, demanding primarily the attention of our vision. As the printed word’s requirement for the other senses is minimal, it <em>spoon-feeds</em> the content to the reader in a l-i-n-e-a-r <span class='typographic-wave'><span>f</span><span>a</span><span>s</span><span>h</span><span>i</span><span>o</span><span>n</span></span>. The literate or print culture is passive and is detached from immediate involvement because the medium has no such requirements. The cooler media on the other hand, requires a greater level of engagement from the audience at a faster rate. This increased engagement allows us to detect change and better recognise patterns, which, according to <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Principles_of_grouping" data-versionurl='https://web.archive.org/web/20190729074952/https://en.wikipedia.org/wiki/Principles_of_grouping' data-versiondate='2019-07-29T07:49:52Z'>Gestalt laws of grouping</a></cite>, makes the whole of the information easier to follow and understand.</p> <p id='what-constitutes-scholarly-contribution'>The interaction of media with our senses is an inherent property of media. The media’s built-in sensory bias affects and transforms human society and psyche. Modern media, like the Web, offer extensible interactions, creative participation, and social engagement. There is a natural human desire to connect and exchange ideas, behaviour, or style with others, as well as to co-create. Given these opportunities, the fundamental question to ask here is, why should research communication be limited to, evaluated by, and rewarded on methods and practices be based on print-centric media? Scholarly communication still uses methods which date back to the invention of the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Printing_press" data-versionurl='https://web.archive.org/web/20190729074952/https://en.wikipedia.org/wiki/Printing_press' data-versiondate='2019-07-29T07:49:52Z'>mechanical movable type printing press</a></cite> (c. 1450 CE), even in the advent of the globally accessible and interactive new media that are at our fingertips today, and at much faster turnaround times from publication to consumption than ever before. The practices correspond to publication workflows that are in place for academic communication, and have remained largely unchanged for over a century. What does it mean to have an academic achievement through a “publication”? If we consider the Web as a potential supplement to or replacement for these older practices, and given that the Web can be purposed for greater possibilities than print alone, then we (members of the academic community) also need to address the question, <em>what constitutes a scholarly contribution?</em></p> <p id='print-centric-hot-media'>Today, it is evident that the typical academic publishing scenario requires adherence to the <em>printability</em> aspects of the information eg. <span class='unicode-document'>page length, typographical guidelines</span>. That is, all of the encompassing data or supporting artifacts for any given research output typically must be channelled through the characteristics of print media. In practice, this leads the research community to use tools that are tailored solely for printing or viewing (on screen). This (sticking to print) leads to unnecessary information loss or arbitrary filtering of the content, which might be otherwise preserved if a different medium was used. Since print is only one possible way to represent and communicate the information, it is worthwhile to investigate and employ alternative or complimentary representations that are more appropriate given the affordances of the Web. Traditional electronic document formats, on the hot end of the media spectrum, are trying remain relevant inside a cool medium.</p> <p>This section served to acknowledge initiatives and developments that went into scholarly communication in the age of information and Web, against their historical backdrop. It also introduces some frameworks for description and analysis of technologies and processes particular to scholarly communication, and communication mediums in general, which I will continue to refer to through the rest of this thesis. Subsequent sections are dedicated to devising a scholarly space that is more fitting to the medium of the Web.</p> </div> </section> </div> </section> <section resource='#structure-of-scholarly-information' rel='schema:hasPart' inlist='' id='structure-of-scholarly-information'> <h2 property='schema:name'>Structure of Scholarly Information</h2> <div property='schema:description' datatype='rdf:HTML'> <p><cite><a href="https://csarven.ca/linked-research-decentralised-web/#scholarly-communication-on-the-web">Scholarly Communication on the Web</a></cite> served to explain the state of sociotechnical affairs in scholarly communication. In this section, I focus on facets of research and scholarly information and its exchange on the Web. The <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-statistics">Linked Statistics</a></cite> section describes my knowledge and artifact contributions for publishing and exchanging statistical Linked Data.</p> <section resource='#information-spaces' rel='schema:hasPart' inlist='' id='information-spaces'> <h3 property='schema:name'>Information Spaces</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Given that global strategic research is influenced by policies and industry, different <em>information spaces</em> can be created by an ensemble of units of information. Such information spaces would serve to facilitate knowledge exchange in the scientific communication market. In this section, I investigate existing approaches towards configuring different aspects of Web-centric information spaces.</p> <p id='knowledge-graphs'>Scholarly knowledge includes a range of research artifacts that needs to be described, uniquely identifiable and be discoverable on the Web. These include research articles, peer reviews, research data, social interactions like review requests and notifications in general, as well as different kinds of annotations on research objects. The current state of access and use of scholarly knowledge is insufficient for society at large. By enabling accessible <q cite='http://drops.dagstuhl.de/opus/volltexte/2019/10328/pdf/dagrep_v008_i009_p029_18371.pdf#subsection.3.25'>Scholarly Knowledge</q> (<cite><a rel='cito:citesForInformation' href="http://drops.dagstuhl.de/opus/volltexte/2019/10328/pdf/dagrep_v008_i009_p029_18371.pdf" data-versionurl='https://web.archive.org/web/20190325111930/http://drops.dagstuhl.de/opus/volltexte/2019/10328/pdf/dagrep_v008_i009_p029_18371.pdf' data-versiondate='2019-03-25T11:19:30Z'>Knowledge Graphs: New Directions for Knowledge Representation on the Semantic Web</a></cite>) graphs as well as applications which make use of it, we hope to enable universal access to previous research. By improving the availability through linked research, we can facilitate discovery and building on existing research. A fundamental first step is to investigate and develop effective ways to represent fine-grained information that is accessible, human- and machine-readable, and interconnected.</p> <p id='involving-scholarly-communication'>A typical high-level interplay between the <em>actors</em> and the <em>content</em> forces, and their functions (registration, awareness, certification, archive) in scholarly communication have authors reply to call for contributions by sharing their literature. Reviewers provide feedback on the research results; individuals annotate and re-share the literature; editors filter and assemble a collection of work; archives are notified about the research. While the document-centric Web was mostly for human-readability, Linked Data-based Web is oriented towards improving discoverability, readability, and reuse for machines, and in effect better helping humans. For example, if research articles capture their <a rel='cito:citesAsEvidence' href="https://csarven.ca/web-science-from-404-to-200#problem-space">problem statements</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/call-for-linked-research#no-central-authority">motivation</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/sense-of-lsd-analysis#hypothesis-null">hypothesis</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/cooling-down-web-science#introduction">arguments</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/enabling-accessible-knowledge#workflow">workflow steps</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/sense-of-lsd-analysis#methodology">methodology</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-data-notifications#protocol">design</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-statistical-data-analysis#results">results</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-data-notifications#analysis-and-evaluation">evaluation</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-research-scholarly-communication#conclusions">conclusions</a>, <a rel='cito:citesAsEvidence' href="https://csarven.ca/dokieli#next-steps">future challenges</a>, as well as all <a rel='cito:citesAsEvidence' href="https://dokie.li/#figure-dokieli-citation">inline semantic citations</a> (to name <em>a few</em>) where they are uniquely identified, related to other data, and discoverable, then specialised software can be used to verify the article’s well-formedness with respect to the domain. In essence, this materialises the possibility of articles being executable towards reproduction of computational results. Similarly, user interfaces can manifest environments where readers can rerun experiments or observe the effects of changing the input parameters of an algorithm. This has the affordance for a more <a title='Up and Down the Ladder of Abstraction' href="http://worrydream.com/LadderOfAbstraction/">involving environment for the user</a>, improves learnability of material, and supersedes the passive mode of reading.</p> <p id='practical-knowledge-representation-for-the-web'>In a 1999 article, <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.cs.vu.nl/~frankh/postscript/IJCAI99-III.html" data-versionurl='https://web.archive.org/web/20181229164515/https://www.cs.vu.nl/~frankh/postscript/IJCAI99-III.html' data-versiondate='2018-12-29T16:45:15Z'>Practical Knowledge Representation for the Web</a></cite>, Van Harmelen, 1999, stated that <q>the lack of semantic markup is a major barrier to the development of more intelligent document processing on the Web</q>, and <q>meta-data annotation of Web sources is essential for applying AI techniques on a large and successful scale</q>.</p> <p>In this section I examine some of the existing Web standards and practices for the structure and semantics of scholarly information with focus on narrative documents and observational data. Scholarly documents with the characteristics of a continuous prose, such as those of research articles typically includes factual information about an investigation with supporting provenance-level information and references to underlying data. Annotations in the general sense can be similar to articles, however they are generally intended to encapsulate an indirection where target resources are associated with annotation activities with motivations, eg. commenting, bookmarking, or classifying. Notifications for scholarly activities serve as a way to inform a target of interest about events in general. I also examine representation and publication of statistical, experimental, or observational data on the Web following the Linked Data design principles.</p> <p>One goal here is to identify and apply patterns so that content creators can register different units of information at varying semantic granularity. Ultimately, I seek solutions that embrace interoperability and reusability, device and medium independence, as well as favourable for accessibility and archiving.</p> </div> </section> <section resource='#structure-and-semantics' rel='schema:hasPart' inlist='' id='structure-and-semantics'> <h3 property='schema:name'>Structure and Semantics</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The structure of a scholarly journal article has been mostly conserved during the evolution of scientific communication. A typical scholarly article may include a sequence of sections, usually an abstract; introduction and background relevant to earlier work; methods used to justify experiments; research results; discussion and conclusions; and a list of references. Different forms of research eg. original, scientific, artistic, or research in the humanities, may have their own discipline-centric organisational structures for the journal article. For example, <em>Introduction, Methods, Results, and Discussion</em> (<abbr title='Introduction, Methods, Results, and Discussion'>IMRAD</abbr>) is a widely adopted standardised structure in original research articles as per survey, <cite><a rel='cito:citesForInformation' href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC442179/" data-versionurl='https://web.archive.org/web/20190729124632/https://www.ncbi.nlm.nih.gov/pmc/articles/PMC442179/' data-versiondate='2019-07-29T12:46:32Z'>The introduction, methods, results, and discussion (IMRAD) structure: a fifty-year survey</a></cite>, Sollaci, 2004. In the medical domain, <em>structured abstracts</em> are used to help with rapid comprehension by having distinct labelled sections, eg. introduction, objects, methods, results, conclusions, within the abstract of the article.</p> <p>This section covers semantic structure of the narrative aspects scholarly communication. This can enhance <em>both</em> human- and machine-readability of information, in particular, representations of units irrespective of how they are produced.</p> <p>Non-narrative units can also be semantically represented to enable easier reuse and interpretation; this is covered in more detail in <a href="https://csarven.ca/linked-research-decentralised-web/#linked-statistics">Linked Statistics</a> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#interactive-linked-statistics">Interactive Linked Statistics</a></cite>.</p> <section resource='#units-of-communication' rel='schema:hasPart' inlist='' id='units-of-communication'> <h4 property='schema:name'>Units of Communication</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Researchers exchange <q resource='http://www.dlib.org/dlib/september04/vandesompel/09vandesompel.html' rel='cito:includesQuotationFrom' cite='http://www.dlib.org/dlib/september04/vandesompel/09vandesompel.html'>units of communication</q> like scientific literature, annotation, datasets, workflows, argumentation, provenance, citation, and software. Knowledge may be represented or presented dynamically, or as a compilation of various independent units (compound). Semantic structure may be embedded in narrative or prose-based scholarly communication as well as used to enhance non-narrative units like experimental results or datasets. Narrative and non-narrative units may in turn include or refer to each other.</p> <p id='article-annotatin-notification-profile-graph'>While Web resources and their representations can be composed of different kinds of hypermedia, I focus on those that are generally referred to as <q>documents</q>. For instance, articles, annotations, notifications, and profiles when combined can cover a wide range of use cases with respect to units of communication. Each instantiation share common characteristics in that they can be both human- and machine-readable – forming a particular <q cite='http://drops.dagstuhl.de/opus/volltexte/2019/10328/pdf/dagrep_v008_i009_p029_18371.pdf'>knowledge graph</q>.</p> <dl> <dt>Article</dt> <dd>An article in the most general sense is a domain-agnostic unit of information encoded in a document. Research contributions including, manuscripts, reports, assessments, technical specifications, news, social media posts and slideshows are some examples for different kinds of articles.</dd> <dt>Annotation</dt> <dd>Annotations include information that is generally about an association between resources with different intentions. For example, assessing, commenting, liking, bookmarking, describing, linking, are some of the motivations to annotate an article.</dd> <dt>Notification</dt> <dd>Notifications generally express actor activities. For example, announcements about a scientific article or parts within; a quality assessment of some literature; reports of observations; annotations or social activities.</dd> <dt>Profiles</dt> <dd>Actors have online profiles where they generally describe themselves, refer to their contacts (address books) or curriculum vitae.</dd> </dl> </div> </section> <section resource='#human-and-machine-readable-information' rel='schema:hasPart' inlist='' id='human-and-machine-readable-information'> <h4>Human- and Machine-Readable Information</h4> <div> <p id='human-and-machine-readable-format'>A <dfn>human-readable format</dfn> (or medium) is a representation of information that enables humans to read, edit, or act upon. A <dfn>machine-readable format</dfn> entails that information can be effectively stored and processed by a machine. Both approaches are equipped with <cite><a href="https://csarven.ca/linked-research-decentralised-web/#affordance">affordances</a></cite> that can be used by respective agents.</p> <p resource='#declarative-programming-paradigm' rel='schema:hasPart' id='declarative-programming-paradigm'><strong property='schema:name'>Declarative programming paradigm</strong>: <span property='schema:description' datatype='rdf:HTML'>Declarative programming is a style of building the structure and expressing the semantics of programs, ie. <em>what</em> it should accomplish. The imperative programming style on the other hand is about <em>how</em> the program should execute and change the program state. The declarative approach tends to be short, easy to understand, independent of implementation, less likely to contain errors as well as to easily correct, and tractable. For example, many domain-specific markup languages, such as HTML and XML-family (XSLT, SVG, MathML), and CSS are declarative. HTML simply tells the consuming agent – like a Web browser – what should appear as part of a Webpage. HTML’s readability and ease of interpretation played a role in its adoption – anyone that wanted to express some information in a Webpage can "view source" to learn without any further steps.</span></p> <p resource='#rdf-as-the-language' rel='schema:hasPart' id='rdf-as-the-language'><strong property='schema:name'>RDF as the language</strong>: <span property='schema:description' datatype='rdf:HTML'>HTML is a prominent media form to publish on the Web. While this is sufficient to cover various use cases in a scholarly information space, it is limited in the sense that the granularity of machine-readable content is based on the classic hypertext model, ie. ultimately a relationship with loose semantics between documents or their parts. It is considered to be limited in terms of capturing domain-specific knowledge. This is in contrast to using RDF as the language to communicate knowledge about arbitrary things at different levels of abstraction. Atomic statements about scientific information and scholarly activities can be expressed, as well as each component of a statement being universally identifiable. The language enables the information to be serialised using different syntaxes eg. HTML+RDFa, Turtle. Perhaps most importantly, the underlying data is intended to be manipulated as a <em>graph</em> of things, where its syntactical representations remaining isomorphic across serialisations.</span></p> <p resource='#human-and-machine-readable-units' rel='schema:hasPart' id='human-and-machine-readable-units'><strong property='schema:name'>Human- and machine-readable units</strong>: <span property='schema:description' datatype='rdf:HTML'>As indicated earlier, the high-level units of communication that I am examining are primarily in the form of prose which may be accompanied with or linked to supplemental (meta)data eg. statistical Linked Data. With this premise, I emphasise on the point that the underlying information is intended for <em>both</em> humans and machines, where each can create and interact with the information through applicable and desired interfaces.</span></p> <p resource='#content-negotiation' rel='schema:hasPart' id='content-negotiation'><strong property='schema:name'>Content negotiation</strong>: <span property='schema:description' datatype='rdf:HTML'>The HTTP <cite><a rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc7231#section-3.4" data-versionurl='https://web.archive.org/web/20190709111137/https://tools.ietf.org/html/rfc7231' data-versiondate='2019-07-09T11:11:37Z'>Content Negotiation</a></cite> (<abbr title='Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content'>RFC 7231</abbr>) mechanism can be used to serve a possible representation of a resource that the client prefers from a URI. The decision algorithm may be based on different dimensions of content negotiation, eg. media type, character set, encoding, language, time. All things equal, here I consider having simplicity in the design as a desired quality for a server requirement, in order to make data available for the purpose of read-write operations that a client can perform. For instance, to what extent can we serve a resource representation "as is" without having to perform media type conversions in order to satisfy both human and machine consumers? By raising this, it is neither the case that a one-size-fits-all solution is required or desirable.</span></p> <p resource='#rdfa' rel='schema:hasPart' id='rdfa'><strong property='schema:name'>RDFa</strong>: <span property='schema:description' datatype='rdf:HTML'>From the available RDF syntaxes, this line of reasoning brings us to encapsulating information using <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/rdfa-core/" data-versionurl='https://web.archive.org/web/20190709105643/https://www.w3.org/TR/rdfa-core/' data-versiondate='2019-07-09T10:56:43Z'>RDFa 1.1</a></cite> – attribute-level extension – inside host languages like (X)HTML, and various XML-family languages eg. SVG, MathML – language mixing. What makes <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/rdfa-in-html/" data-versionurl='https://web.archive.org/web/20190709111137/https://www.w3.org/TR/rdfa-in-html/' data-versiondate='2019-07-09T11:11:37Z'>RDFa in HTML</a></cite>, for instance, an attractive combination is that it maps information patterns in RDF which is ideal for enhanced machine processing, while retaining the same document that is interpretable by humans. Essentially, interoperable information exchange and reuse by machines is intended to work over the RDF graph that is expressed and encoded with RDFa. Here HTML merely acts as the container to encapsulate the underlying information and to offer presentations and interactions (in regardless of the RDF syntax embedded in HTML). RDFa specifies only a syntax and allows independently defined specifications (like vocabularies) to be used. RDFa defines a single, non-domain-specific syntax, used alongside a hosting language’s syntax, so that fragments of information can be consistently interpretable. Existing HTTP servers can virtually serve HTML content without additional server or client-side modules or application logic. Ergo, RDFa in HTML manifests a low barrier to make human- and machine-readable information available from a single URL. The W3C TAG Finding, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.w3.org/2001/tag/doc/selfDescribingDocuments" data-versionurl='https://web.archive.org/web/20190709105645/http://www.w3.org/2001/tag/doc/selfDescribingDocuments' data-versiondate='2019-07-09T10:56:45Z'>The Self-Describing Web</a></cite>, 2009, also posits RDFa in HTML as a good practice: <q cite='https://www.w3.org/2001/tag/doc/selfDescribingDocuments.html#UsingRDFa'>To integrate HTML information into the self-describing Semantic Web, use RDFa.</q> Finally, W3C <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/xhtml-rdfa-scenarios/" data-versionurl='https://web.archive.org/web/20190709111137/https://www.w3.org/TR/xhtml-rdfa-scenarios/' data-versiondate='2019-07-09T11:11:37Z'>RDFa Use Cases: Scenarios for Embedding RDF in HTML</a></cite> describes the <q cite='https://www.w3.org/TR/xhtml-rdfa-scenarios/#use-case-7'>Augmented Browsing for Scientists</q> use case where actors can add RDFa to their articles to indicate the scientific components by reusing the existing vocabularies defined by the scientific community.</span></p> <div resource='#rdf-in-html' rel='schema:hasPart' id='rdf-in-html' class='note'> <h5 property='schema:name'>RDF in HTML</h5> <div property='schema:description' datatype='rdf:HTML'> <p>The initial motivation and development on encoding <q>RDF in HTML</q> started in the late 1990s and continued into early 2000, and eventually became the <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/MarkUp/2004/rdf-a.html" data-versionurl='https://web.archive.org/web/20190709111137/https://www.w3.org/MarkUp/2004/rdf-a.html' data-versiondate='2019-07-09T11:11:37Z'>RDF/A Syntax</a></cite> – currently known as RDFa – in 2004. The goal was to express RDF by using markup languages’ attribute mechanisms alongside existing content so that documents can be more machine-readable. There has been a number of <cite><a rel='cito:obtainsBackgroundFrom' href="http://infomesh.net/2002/rdfinhtml/" data-versionurl='https://web.archive.org/web/20180407082030/http://infomesh.net/2002/rdfinhtml/' data-versiondate='2018-04-07T08:20:30Z'>RDF in HTML: Approaches</a></cite> which helped shape the initial version of RDFa, the surviving approach i) retained the expressiveness of the RDF language ii) and extending host languages (like HTML, SVG, MathML) through common attributes as necessary, iii) was aligned with the original vision of the Web, iv) was built through consensus through an open Web standards body like the W3C.</p> </div> </div> <p resource='#why-rdfa' rel='schema:hasPart' id='why-rdfa'><strong property='schema:name'>Why RDFa</strong>: <span property='schema:description' datatype='rdf:HTML'>HTML’s extensibility mechanism allows authors to embed <q>data blocks</q> using the <code>&lt;script type=""&gt;</code> mechanism to include content in <a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/TR/turtle/#in-html">Turtle</a>, <a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/TR/json-ld/#embedding-json-ld-in-html-documents">JSON-LD</a>. Information in <code>script</code> are hidden from human view in native HTML interfaces until supplementary processing takes place. For information extraction to take place, the consumer needs to 1) process the HTML, 2) select the <code>script</code> node, 3) parse the content in RDF. On the other hand, RDFa can be included on any HTML tag, and so all human-visible content in HTML can be complemented with machine-readable counterparts in the same context node. This is optimal in avoiding data duplication in the same document which happens to be the case with the other serialisations in RDF, as well as avoiding any further intervention to synchronise data across different nodes. Having a single, unambiguous, and authoritative representation of the information as human-visible and marked as RDFa conforms to the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Don&quot;t_repeat_yourself" data-versionurl='https://web.archive.org/web/20190709111138/https://en.wikipedia.org/wiki/Don%27t_repeat_yourself' data-versiondate='2019-07-09T11:11:38Z'>Don’t Repeat Yourself</a></cite> (<abbr title='Don’t Repeat Yourself'>DRY</abbr>) principle. It is efficient in that it has no dependency on JavaScript, external or third-party applications to make the hidden machine-readable content be consumable from a human user interface – whereas HTML based user-agents can be expected to conform to <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/html5/editing.html" data-versionurl='https://web.archive.org/web/20190709111138/https://www.w3.org/TR/html5/editing.html' data-versiondate='2019-07-09T11:11:38Z'>user interaction</a></cite> <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/html5/browsers.html" data-versionurl='https://web.archive.org/web/20190709111138/https://www.w3.org/TR/html5/browsers.html' data-versiondate='2019-07-09T11:11:38Z'>loading Web pages</a></cite> specification. For example, a <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Text-based_web_browser" data-versionurl='https://web.archive.org/web/20190729124632/https://en.wikipedia.org/wiki/Text-based_web_browser' data-versiondate='2019-07-29T12:46:32Z'>text-based Web browsers</a></cite> can access and allow interactions with documents. RDFa in HTML is all around a simple but effective design pattern that is able to serve both humans and machines without additional parts or machinery. With all things equal, having all content in HTML is optimal for Web-based archives, as well as helps towards meeting the <em>archiving</em> and <em>awareness</em> functions of scholarly communication.</span></p> <p resource='#content-serialisations' rel='schema:hasPart' id='content-serialisations'><strong property='schema:name'>Content serialisations</strong>: <span property='schema:description' datatype='rdf:HTML'>Having the canonical representation for articles, annotations, and notifications in HTML+RDFa, still leaves the servers, if so desired, to provide alternative serialisations, eg. Turtle, and JSON-LD, depending on the <a href="https://csarven.ca/linked-research-decentralised-web/#content-negotiation">content negotiation</a> with clients. Articles are represented in HTML+RDFa so that information is usable by both humans and machine consumers while maintaining lowest requirements for publishing, eg. a single URL with full content in HTML+RDFa can be accessible from any HTTP server. No additional requirements are necessary from clients such as JavaScript support or servers with additional RDF based content negotiation.</span></p> <p resource='#separation-of-concerns' rel='schema:hasPart' id='separation-of-concerns'><strong property='schema:name'>Separation of concerns</strong>: <span property='schema:description' datatype='rdf:HTML'>By adopting the <cite><a href="http://en.wikipedia.org/wiki/Progressive_enhancement" data-versionurl='https://web.archive.org/web/20190627155713/https://en.wikipedia.org/wiki/Progressive_enhancement' data-versiondate='2019-06-27T15:57:13Z'>progressive enhancement</a></cite> strategy as described in <cite><a rel='cito:citesAsRelated' href="http://hesketh.com/publications/progressive_enhancement_and_the_future_of_web_design.html" data-versionurl='https://web.archive.org/web/20190709111138/http://hesketh.com/publications/progressive_enhancement_and_the_future_of_web_design.html' data-versiondate='2019-07-09T11:11:38Z'>Progressive Enhancement and the Future of Web Design</a></cite>, Champeon and Nick, 2003, for the structural (HTML+RDFa), presentational (CSS), and behavioural (JavaScript) layers, we can allow content and base functionality to be accessible through different media and devices. Ultimately, the unit of communication represented in HTML+RDFa can be accessible – readable – for both humans and machines without requiring any CSS or JavaScript. This approach is considered to cover the base requirement of making the content available with lowest server requirements, ie. practically, today any HTTP server that can serve HTML and a client that can consume HTML.</span></p> <p resource='#affordance' rel='schema:hasPart' id='affordance'><strong property='schema:name'>Affordance</strong>: <span property='schema:description' datatype='rdf:HTML'>Hypertext has perceivable affordances in that both humans and machines can choose to act. For example, when a Web document is presented with a hyperlink, its users have the option to follow the link, if they so desire, by pressing a key on their keyboard, clicking on it with their pointing-device, or with voice activation and so on. Hovering a link with the cursor can trigger the Web browser to display the full target URL in the status bar of the application, and hence informing the user on what lies ahead before engaging further. If the user is already familiar with the link (visited earlier) or uninterested, they can skip. The interaction with the hypertext is in essence non-linear, ie. we can follow the links as far as we are able to, or interested, and then come back to where we started. Similarly, machines, like Web-crawlers are able to perform exactly the same process. Moreover, hyperlinks marked up with specific relations to their target reference can signal information that can effectively induce unique interactions. In that respect, RDFa in HTML for instance can help enrich and enable the structure for different interaction possibilities, for example though runtime JavaScript or the Web browser’s built-in understanding of the underlying actions. With respect to scholarly referencing, hypertext can not only reference other resources – as typical to print-based expressions – but it can also link.</span></p> <p resource='#units-with-unique-identifiers' rel='schema:hasPart' id='units-with-unique-identifiers'><strong property='schema:name'>Units with unique identifiers</strong>: <span property='schema:description' datatype='rdf:HTML'>Any <em>thing</em> that is deemed to be of importance can be identified on the Web with a URI as per <cite><a href="https://csarven.ca/linked-research-decentralised-web/#axiom-0">Axiom 0: Universality 1</a></cite>. Having globally unique identifiers for all sorts of objects at fine granularity facilitates precision for interlinked knowledge. We have the means to guide both human and machine users to better discover and exchange scientific and scholarly objects. Thereby making it possible to fulfill the <em>registration</em> function for virtually anything.</span></p> <p resource='#markup-patterns' rel='schema:hasPart' id='markup-patterns'><strong property='schema:name'>Markup patterns</strong>: <span property='schema:description' datatype='rdf:HTML'>HTML has several <cite><a rel='cito:citesAsAuthority' href="http://w3c.github.io/html/single-page.html#design-notes-extensibility" data-versionurl='https://web.archive.org/web/20190709111138/http://w3c.github.io/html/single-page.html' data-versiondate='2019-07-09T11:11:38Z'>extensibility mechanisms</a></cite>, eg. <code>class</code>, <code>data-*</code>, <code>rel</code> attributes, and <code>meta</code>, <code>script</code> elements to support vendor-neutral markup patterns. In addition to HTML’s <cite><a rel='cito:citesAsAuthority' href="http://w3c.github.io/html/infrastructure.html#infrastructure" data-versionurl='https://web.archive.org/web/20190709111139/http://w3c.github.io/html/infrastructure.html' data-versiondate='2019-07-09T11:11:39Z'>common infrastructure</a></cite>, it is possible for documents to signal formal grammars, eg. HTML profiles and XML schemas, to announce the structure of documents such that the machine-processing instructions are well-defined; predetermined and fixed. In practice, grammars are used to help extract markup patterns according to specified definitions. Although profiles are no longer supported in HTML5, <cite><a rel='cito:citesForInformation' href="https://www.w3.org/html/wg/wiki/DroppedAttributeProfile" data-versionurl='https://web.archive.org/web/20190729124632/https://www.w3.org/html/wg/wiki/DroppedAttributeProfile' data-versiondate='2019-07-29T12:46:32Z'>DroppedAttributeProfile</a></cite>, W3C, HTML Working Group, 2010, they were originally intended to assign additional meaning that would otherwise remain local (private) to the document. For instance, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/grddl/" data-versionurl='https://web.archive.org/web/20190709111140/https://www.w3.org/TR/grddl/' data-versiondate='2019-07-09T11:11:40Z'>Gleaning Resource Descriptions from Dialects of Languages</a></cite> (<abbr title='Gleaning Resource Descriptions from Dialects of Languages'>GRDDL</abbr>) provided a way for custom <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/xslt/" data-versionurl='https://web.archive.org/web/20190709111141/https://www.w3.org/TR/xslt/all/' data-versiondate='2019-07-09T11:11:41Z'>XSL Transformations</a></cite> (<abbr title='XSL Transformations'>XSLT</abbr>) to handle out-of-band transformation workflows, and to interpret the structure and semantics in the original document.</span></p> <p resource='#formal-grammars' rel='schema:hasPart' id='formal-grammars'><strong property='schema:name'>Formal grammars</strong>: <span property='schema:description' datatype='rdf:HTML'>While HTML markup with formal grammars has the quality of being efficient for cooperating systems, it comes at the cost of wider interoperability. That is, if an application is designed to <em>only</em> work with a particular flavour or subset of HTML, then it would not be able to work with arbitrary HTML documents on the Web. Hence, having profiles or grammars in and itself not an issue, however its <em>effects</em> are likely to be that they are less interoperable than they can be. This is in contrast to applications safely ignoring information patterns they do not understand or interested in using, even if they have their preferred internal grammars or HTML templates. From the consuming side, if the application’s information <em>reuse</em> is dependent on HTML a specific schema or tree structure, effectively locks the application into coping with those patterns, and ultimately less flexible about handling expressions that the application is unfamiliar with. The effect is a constrained or a closed information system.</span></p> </div> </section> <section resource='#vocabularies' rel='schema:hasPart' inlist='' id='vocabularies'> <h4 property='schema:name'>Vocabularies</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Here I describe a wide range of well-known Semantic Web vocabularies that can be used to model and describe units of communication. It is not intended to be an exhaustive list but to provide an overview on the kind of things that could be potentially described, anywhere from publishing articles, scholarly activities, to datasets holding scientific measurements.</p> <p id='general-purpose'><strong>General purpose</strong>: <cite><a rel='cito:citesAsAuthority' href="http://www.dublincore.org/documents/dcmi-terms/" data-versionurl='https://web.archive.org/web/20190709111140/http://www.dublincore.org/documents/dcmi-terms/' data-versiondate='2019-07-09T11:11:40Z'>DCMI Metadata Terms</a></cite> is used to describe digital and physical resources along with metadata on provenance and rights. <cite><a rel='cito:citesAsAuthority' href="http://schema.org/" data-versionurl='https://web.archive.org/web/20190709212203/https://schema.org/' data-versiondate='2019-07-09T21:22:03Z'>schema.org</a></cite> is composed of a common set of schemas that occurs in Web pages. These vocabularies are widely used on the Web and are generally domain agnostic, making them suitable to describe document-level concepts with respect to scholarly units.</p> <p id='publishing-and-referencing'><strong>Publishing and referencing</strong>: <cite><a rel='cito:citesAsAuthority' href="http://purl.org/ontology/bibo/" data-versionurl='https://web.archive.org/web/20190710075341/http://bibliographic-ontology.org/bibo/bibo.php' data-versiondate='2019-07-10T07:53:41Z'>Bibliographic Ontology Specification</a></cite> and <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar" data-versionurl='https://web.archive.org/web/20181004084013/http://www.sparontologies.net/' data-versiondate='2018-10-04T08:40:13Z'>Semantic Publishing and Referencing Ontologies</a></cite> (<abbr title='Semantic Publishing and Referencing Ontologies'>SPAR</abbr>) cover a wide range of concepts in the publishing domain while being agnostic about the types of content, eg. <q cite='http://purl.org/spar'>document description, bibliographic resource identifiers, types of citations and related contexts, bibliographic references, document parts and status, agents’ roles and contributions, bibliometric data and workflow processes</q>. <cite><a rel='cito:citesForInformation' href="https://w3id.org/spar/article/spar-iswc2018/" data-versionurl='https://web.archive.org/web/20181004140528/https://sparontologies.github.io/article/spar-iswc2018/' data-versiondate='2018-10-04T14:05:28Z'>The SPAR Ontologies</a></cite>, Peroni, 2018, describes ontologies for bibliographic resources and their parts (<cite><a title='FRBR-aligned Bibliographic Ontology' rel='cito:citesAsAuthority' href="http://purl.org/spar/fabio" data-versionurl='https://web.archive.org/web/20190729124639/https://sparontologies.github.io/fabio/current/fabio.html' data-versiondate='2019-07-29T12:46:39Z'>FaBiO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/frbr" data-versionurl='https://web.archive.org/web/20190729124637/https://sparontologies.github.io/frbr/current/frbr.html' data-versiondate='2019-07-29T12:46:37Z'>FRBR-DL</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/doco" data-versionurl='https://web.archive.org/web/20190729124636/https://sparontologies.github.io/doco/current/doco.html' data-versiondate='2019-07-29T12:46:36Z'>DoCO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/deo" data-versionurl='https://web.archive.org/web/20190729125614/https://sparontologies.github.io/deo/current/deo.html' data-versiondate='2019-07-29T12:56:14Z'>DEO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/datacite" data-versionurl='https://web.archive.org/web/20190729124637/https://sparontologies.github.io/datacite/current/datacite.html' data-versiondate='2019-07-29T12:46:37Z'>DataCite</a></cite>); citations of scholarly resources (<cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/cito" data-versionurl='https://web.archive.org/web/20190729124639/https://sparontologies.github.io/cito/current/cito.html' data-versiondate='2019-07-29T12:46:39Z'>CiTO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/biro" data-versionurl='https://web.archive.org/web/20190729124640/https://sparontologies.github.io/biro/current/biro.html' data-versiondate='2019-07-29T12:46:40Z'>BiRO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/c4o" data-versionurl='https://web.archive.org/web/20190729124639/https://sparontologies.github.io/c4o/current/c4o.html' data-versiondate='2019-07-29T12:46:39Z'>C4O</a></cite>); publishing workflow (<cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/pro" data-versionurl='https://web.archive.org/web/20190729124641/https://sparontologies.github.io/pro/current/pro.html' data-versiondate='2019-07-29T12:46:41Z'>PRO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/pso" data-versionurl='https://web.archive.org/web/20190729124642/https://sparontologies.github.io/pso/current/pso.html' data-versiondate='2019-07-29T12:46:42Z'>PSO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/pwo" data-versionurl='https://web.archive.org/web/20190729124642/https://sparontologies.github.io/pwo/current/pwo.html' data-versiondate='2019-07-29T12:46:42Z'>PWO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/scoro" data-versionurl='https://web.archive.org/web/20190729124643/https://sparontologies.github.io/scoro/current/scoro.html' data-versiondate='2019-07-29T12:46:43Z'>SCoRO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/cerif/frapo" data-versionurl='https://web.archive.org/web/20190428110844/https://sparontologies.github.io/frapo/current/frapo.html' data-versiondate='2019-04-28T11:08:44Z'>FRAPO</a></cite>); metrics and statistics for bibliographic resources (<cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/bido" data-versionurl='https://web.archive.org/web/20190729125615/https://sparontologies.github.io/bido/current/bido.html' data-versiondate='2019-07-29T12:56:15Z'>BiDO</a></cite>, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/spar/fivestars" data-versionurl='https://web.archive.org/web/20190729124648/https://sparontologies.github.io/fivestars/current/fivestars.html' data-versiondate='2019-07-29T12:46:48Z'>FiveStars</a></cite>).</p> <p id='knowledge-organisation'><strong>Knowledge Organisation</strong>: <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/skos-reference/" data-versionurl='https://web.archive.org/web/20190709212203/https://www.w3.org/TR/skos-reference/' data-versiondate='2019-07-09T21:22:03Z'>Simple Knowledge Organization System</a></cite> (<abbr title='Simple Knowledge Organization System'>SKOS</abbr>) defines a common data model for structures like thesauri, taxonomies, classification schemes and subject heading systems in library and information sciences. SKOS is suitable to bridge different scientific communities to organise concepts by providing definitions, links, and possible mappings across collections.</p> <p id='participation'><strong>Participation</strong>: Actors are integral to social Web activities and the four functions of scholarly communication. Generally speaking, agent – human or machine – profiles can be described with the <cite><a rel='cito:citesAsAuthority' href="http://xmlns.com/foaf/0.1/" data-versionurl='https://web.archive.org/web/20190709212205/http://xmlns.com/foaf/0.1/' data-versiondate='2019-07-09T21:22:05Z'>Friend of a Friend</a></cite> (<abbr title='Friend of a Friend'>FOAF</abbr>) vocabulary to have a combination of what or who they are, what they have created, who they know, their memberships, and so forth. <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/vcard-rdf/" data-versionurl='https://web.archive.org/web/20190707124603/https://www.w3.org/TR/vcard-rdf/' data-versiondate='2019-07-07T12:46:03Z'>vCard Ontology - for describing People and Organizations</a></cite> describes the mapping of the vCard specification to RDF/OWL in order to allow compatible representations for personal data interchange. <cite><a rel='cito:citesAsAuthority' href="http://rdfs.org/sioc/spec/" data-versionurl='https://web.archive.org/web/20190710180011/http://rdfs.org/sioc/spec/' data-versiondate='2019-07-10T18:00:11Z'>SIOC Core Ontology Specification</a></cite> provides concepts to describe information from online communities like weblogs, message boards, wikis, etc., as well as connections between their content items. <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/activitystreams-vocabulary/" data-versionurl='https://web.archive.org/web/20190709212205/https://www.w3.org/TR/activitystreams-vocabulary/' data-versiondate='2019-07-09T21:22:05Z'>Activity Vocabulary</a></cite> provides specific activity structures and types for objects and links (eg. article, event, place, mention), actors (eg. application, group, person, service) and for past, current or future social activities (eg. announce, create, like, invite, question). While the core vocabulary covers a wide range of activities, it can be extended to cover domain-specific scientific activities. The <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/" data-versionurl='https://web.archive.org/web/20190709212205/https://www.w3.org/TR/annotation-vocab/' data-versiondate='2019-07-09T21:22:05Z'>Web Annotation Vocabulary</a></cite> underpins the annotation model and is used to express information about a set of connected resources, typically conveying some sort of a relationship where the <q>body</q> of a resource is about the <q>target</q> resource. <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-html/" data-versionurl='https://web.archive.org/web/20190709212206/https://www.w3.org/TR/annotation-html/' data-versiondate='2019-07-09T21:22:06Z'>Embedding Web Annotations in HTML</a></cite> describes and illustrates potential approaches for including annotations within HTML documents using current specifications like RDFa or JSON-LD. <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/selectors-states/" data-versionurl='https://web.archive.org/web/20190709212206/https://www.w3.org/TR/selectors-states/' data-versiondate='2019-07-09T21:22:06Z'>Selectors and States</a></cite> describes the use of annotation Selectors as URI fragment identifiers relying on the formal specification and the semantics in the data model. Any resources can advertise a location where it can receive <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/" data-versionurl='https://web.archive.org/web/20190709211912/https://www.w3.org/TR/ldn/' data-versiondate='2019-07-09T21:19:12Z'>Linked Data Notifications</a></cite> for social activities eg. invitation to review an article, annotation being created. I describe LDN in detail later serving as one of the foundational components towards a decentralised and social Web. In order to indicate an agent’s cognitive pattern within contexts, their temporal dynamics and their origins, <cite><a rel='cito:citesAsAuthority' href="http://purl.org/ontology/cco/core" data-versionurl='https://web.archive.org/web/20190709212210/http://smiy.sourceforge.net/cco/spec/cognitivecharacteristics.html' data-versiondate='2019-07-09T21:22:10Z'>The Cognitive Characteristics Ontology</a></cite> can be used eg. a human language competence.</p> <p id='rights-and-responsibilities'><strong>Rights and Responsibilities</strong>: <cite><a rel='cito:citesAsAuthority' href="http://creativecommons.org/ns" data-versionurl='https://web.archive.org/web/20190709212208/https://creativecommons.org/ns' data-versiondate='2019-07-09T21:22:08Z'>Creative Commons Rights Expression Language</a></cite> lets licenses to be described – jurisdiction, permissions, requirements, license and work properties – and having them attached to digital works. The <cite><a rel='cito:citesAsAuthority' href="https://creativecommons.org/licenses/" data-versionurl='https://web.archive.org/web/20190709212208/https://creativecommons.org/licenses/' data-versiondate='2019-07-09T21:22:08Z'>Creative Commons licenses</a></cite> is intended to enable sharing and reuse of creative works and knowledge, by specifying how something – like scientific and scholarly resources – may be copied, distributed, edited, remixed, and built upon. The <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/ns/odrl/2/" data-versionurl='https://web.archive.org/web/20190709212208/https://www.w3.org/ns/odrl/2/' data-versiondate='2019-07-09T21:22:08Z'>Open Digital Rights Language</a></cite> (<abbr title='Open Digital Rights Language'>ODRL</abbr>) makes it possible to express permissions and obligations about the usage of content and services. <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/odrl-vocab/" data-versionurl='https://web.archive.org/web/20190709212208/https://www.w3.org/TR/odrl-vocab/' data-versiondate='2019-07-09T21:22:08Z'>ODRL Vocabulary &amp; Expression</a></cite> describes how to encode such policies.</p> <p id='access-control-and-certificates'><strong>Access Control and Certificates</strong>: The <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/wiki/WebAccessControl" data-versionurl='https://web.archive.org/web/20190709212208/https://www.w3.org/wiki/WebAccessControl' data-versiondate='2019-07-09T21:22:08Z'>Web Access Control</a></cite> (<abbr title='Web Access Control'>WAC</abbr>) mechanism with the <cite><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/auth/acl" data-versionurl='https://web.archive.org/web/20190710175336/http://www.w3.org/ns/auth/acl' data-versiondate='2019-07-10T17:53:36Z'>Access Control List</a></cite> (<abbr title='Access Control List'>ACL</abbr>) vocabulary describes authorization policies in particular to access and operations – read, write, append, control – that can be done on Web resources by agents or groups. <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/ns/auth/cert" data-versionurl='https://web.archive.org/web/20190709212209/https://www.w3.org/ns/auth/cert' data-versiondate='2019-07-09T21:22:09Z'>The Cert Ontology 1.0</a></cite> can be used to indicate digital certificate information for agents.</p> <p id='provenance'><strong>Provenance</strong>: <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/prov-o/" data-versionurl='https://web.archive.org/web/20190709212209/https://www.w3.org/TR/prov-o/' data-versiondate='2019-07-09T21:22:09Z'>The PROV Ontology</a></cite> (<abbr title='The PROV Ontology'>PROV-O</abbr>) can be used <q>to represent and interchange provenance information generated in different systems and under different contexts</q>. It can be also be <q>specialized for modeling application-specific provenance details in a variety of domains</q>, like for instance <cite><a rel='cito:citesAsAuthority' href="http://www.opmw.org/model/OPMW/" data-versionurl='https://web.archive.org/web/20190710175824/http://www.opmw.org/model/OPMW/' data-versiondate='2019-07-10T17:58:24Z'>The OPMW-PROV Ontology</a></cite> to describe workflow traces and their templates, which also extends the <cite><a rel='cito:citesAsAuthority' href="http://www.opmw.org/model/p-plan/" data-versionurl='https://web.archive.org/web/20190710075341/http://www.opmw.org/model/p-plan/' data-versiondate='2019-07-10T07:53:41Z'>P-Plan Ontology</a></cite> that is designed to represent scientific processes. The <cite><a rel='cito:citesAsAuthority' href="https://w3id.org/ro/" data-versionurl='https://web.archive.org/web/20190709212212/https://wf4ever.github.io/ro/' data-versiondate='2019-07-09T21:22:12Z'>Wf4Ever Research Object Model</a></cite> is used to describe workflow-centric <cite>Research Objects</cite>: aggregations of resources along with annotations on those resources relating to scientific workflows. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/verifiable-claims-data-model/" data-versionurl='https://www.w3.org/TR/2019/CR-verifiable-claims-data-model-20190328/' data-versiondate='2019-04-17T14:00:00Z'>Verifiable Claims Data Model 1.0</a></cite> is aimed at expressing a claim; statement made by an entity about a subject, on the Web in a way that is cryptographically secure, privacy respecting, and automatically verifiable. <cite><a rel='cito:citesAsAuthority' href="http://mementoweb.org/ns" data-versionurl='https://web.archive.org/web/20190710175528/http://mementoweb.org/ns' data-versiondate='2019-07-10T17:55:28Z'>The Memento terms vocabulary</a></cite> contains a set of terms for the <cite>Memento Framework</cite> to facilitate obtaining representation of resource states. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc5829" data-versionurl='https://web.archive.org/web/20190724215047/https://tools.ietf.org/html/rfc5829' data-versiondate='2019-07-24T21:50:47Z'>Link Relation Types for Simple Version Navigation between Web Resources</a></cite> (<abbr title='Link Relation Types for Simple Version Navigation between Web Resources'>RFC 5829</abbr>) defines link relation types to related to navigating between versioned Web resources, such as latest and predecessor versions and working copies.</p> <p id='design-lifecycle'><strong>Design Lifecycle</strong>: <cite><a rel='cito:citesAsAuthority' href="https://w3id.org/dio" data-versionurl='https://web.archive.org/web/20160812125725/http://aligned.cs.ox.ac.uk/ont/dio.owl' data-versiondate='2016-08-12T12:57:25Z'>Design Intent Ontology</a></cite> can be used to <q>to capture the knowledge generated during various phases of the overall design lifecycle</q> like for instance the artifacts about software or technical specification requirements, issues, solutions, justifications and evidence.</p> <p id='datasets'><strong>Datasets</strong>: For multi-dimensional statistical data, the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/vocab-data-cube/" data-versionurl='https://web.archive.org/web/20190709212211/https://www.w3.org/TR/vocab-data-cube/' data-versiondate='2019-07-09T21:22:11Z'>RDF Data Cube vocabulary</a></cite> can be used to both model the structure of the hypercube as well as aggregate data which uses its structure definition. The structure is typically an arbitrary number of components: dimensions that helps to identify an observation, and one or more measurements about the phenomenon being observed. The <cite><a rel='cito:citesAsAuthority' href="http://rdf-vocabulary.ddialliance.org/discovery.html" data-versionurl='https://web.archive.org/web/20190709212211/http://rdf-vocabulary.ddialliance.org/discovery.html' data-versiondate='2019-07-09T21:22:11Z'>DDI-RDF Discovery Vocabulary</a></cite> (<abbr title='DDI-RDF Discovery Vocabulary'>Disco</abbr>) enables publishing and discovery of metadata about datasets like research and survey data. Disco is generally concerned with microdata descriptions that is on a lower level of aggregation than the RDF Data Cube. It is not intended to represent the data itself, but only its structure, where the record-level raw data in its original format is only referenced. Disco also enables a way to describe the aggregation methods that was used to collect the data. The <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/vocab-ssn/" data-versionurl='https://web.archive.org/web/20190709212211/https://www.w3.org/TR/vocab-ssn/' data-versiondate='2019-07-09T21:22:11Z'>Semantic Sensor Network Ontology</a></cite> (<abbr title='Semantic Sensor Network'>SSN</abbr>) can be used for <q>describing sensors and their observations, the involved procedures, the studied features of interest, the samples used to do so, and the observed properties, as well as actuators</q>. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/void/" data-versionurl='https://web.archive.org/web/20190709212212/https://www.w3.org/TR/void/' data-versiondate='2019-07-09T21:22:12Z'>Describing Linked Datasets with the VoID Vocabulary</a></cite> (<abbr title='Vocabulary of Interlinked Datasets'>VoID</abbr>) is concerned with metadata about RDF datasets to help with deployment, discovery of data and services, cataloguing and archiving of RDF datasets, as well as linksets between datasets. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/EARL10-Schema/" data-versionurl='https://web.archive.org/web/20190709212212/https://www.w3.org/TR/EARL10-Schema/' data-versiondate='2019-07-09T21:22:12Z'>Evaluation and Report Language</a></cite> (<abbr title='Evaluation and Report Language'>EARL</abbr>) can be used to describe the test results and facilitate their exchange between applications. It provides reusable terms for generic quality assurance and validation purposes.</p> <p id='scientific-expressions'><strong>Scientific expressions</strong>: <cite><a rel='cito:citesAsAuthority' href="http://sio.semanticscience.org/" data-versionurl='https://web.archive.org/web/20190709212212/http://sio.semanticscience.org/' data-versiondate='2019-07-09T21:22:12Z'>Semanticscience Integrated Ontology</a></cite> can be used to describe scientific experiments, for example including their procedure, hypothesis, objectives, study design, analysis, and observations. <cite><a rel='cito:citesAsAuthority' href="http://purl.obolibrary.org/obo/stato.owl" data-versionurl='https://web.archive.org/web/20190710075344/https://raw.githubusercontent.com/ISA-tools/stato/dev/releases/latest_release/stato.owl' data-versiondate='2019-07-10T07:53:44Z'>STATO: the statistical methods ontology</a></cite> covers statistical methods, tests, conditions of application, results, as well as aspects of experimental design and descriptions. <cite><a rel='cito:citesAsAuthority' href="http://nanopub.org/guidelines/working_draft/" data-versionurl='https://web.archive.org/web/20180901130643/http://nanopub.org/guidelines/working_draft/' data-versiondate='2018-09-01T13:06:43Z'>Nanopublication Guidelines</a></cite> helps to publish scientific assertions that can be uniquely identified with associated context, attributed to their author, as well as help to preserve associated provenance. <cite><a rel='cito:citesAsAuthority' href="http://purl.org/mp" data-versionurl='https://web.archive.org/web/20190713134925/https://raw.githubusercontent.com/timclark001/mp/master/mp.owl' data-versiondate='2019-07-13T13:49:25Z'>Micropublications</a></cite> can be used to formalise the arguments and evidence in scientific publications.</p> <p id='software-projects'><strong>Software Projects</strong>: <cite><a rel='cito:citesAsAuthority' href="http://usefulinc.com/" data-versionurl='https://web.archive.org/web/20190709212213/http://usefulinc.com/' data-versiondate='2019-07-09T21:22:13Z'>Description of a Project</a></cite> (<abbr title='Description of a Project'>DOAP</abbr>) can be used to describe (open source) software projects like their repositories, bug databases, maintainers, technical specifications they implement, programming languages they use or the platform they run on.</p> </div> </section> <section resource='#accessibility-usability-inclusion' rel='schema:hasPart' inlist='' id='accessibility-usability-inclusion'> <h4 property='schema:name'>Accessibility, Usability, and Inclusion</h4> <div property='schema:description' datatype='rdf:HTML'> <p>We acknowledge the diversity of people using the Web, not only the actors in scholarly communication, but anyone that may create or reuse information. Our aim is to have inclusive designs for wide range of people and their abilities. I outline and borrow key initiatives and solutions on content accessibility, accessible applications, authoring tools, and internationalisation. I refer to <q>accessibility</q> (<abbr title='Accessibility'>a11y</abbr>) in the widest sense that any agent; human, machine, or other can effectively access information and participate.</p> <p id='web-content-accessibility'><strong>Web Content Accessibility</strong>: The accessibility of units of communications can also be seen as an aim for all-inclusive design that is usable by humans with widest possible range of abilities and situations. For this, I defer to W3C’s <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/WCAG/" data-versionurl='https://web.archive.org/web/20190709212213/https://www.w3.org/TR/WCAG/' data-versiondate='2019-07-09T21:22:13Z'>Web Content Accessibility Guidelines</a></cite> (<abbr title='Web Content Accessibility Guidelines'>WCAG</abbr>) to cover an array of recommendations to make content accessible to a wider range of people regardless of any disability, limitation, or sensitivity, through different media and interfaces. The goal is to provide a reliably mutually consistent expression of the content. For human-centric scholarly communication to thrive, units of communication should be targeted to aim to meet highest level of conformance criteria. W3C WCAG 2.1 provides a range of guidelines that can be adopted for better content accessibility:</p> <blockquote cite='https://www.w3.org/TR/WCAG21/'> <dl> <dt>Perceivable</dt> <dd>Information and user interface components must be presentable to users in ways they can perceive.</dd> <dt>Operable</dt> <dd>User interface components and navigation must be operable.</dd> <dt>Understandable</dt> <dd>Information and the operation of user interface must be understandable.</dd> <dt>Robust</dt> <dd>Content must be robust enough that it can be interpreted by a wide variety of user agents, including assistive technologies.</dd> </dl> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.w3.org/TR/WCAG21/" data-versionurl='https://web.archive.org/web/20190709212213/https://www.w3.org/TR/WCAG21/' data-versiondate='2019-07-09T21:22:13Z'>Web Content Accessibility Guidelines (WCAG) 2.1</a></cite>, W3C, 2018</footer> </blockquote> <p id='accessible-rich-internet-applications'><strong>Accessible Applications</strong>: The W3C <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/wai-aria-1.1/" data-versionurl='https://web.archive.org/web/20190709212213/https://www.w3.org/TR/wai-aria-1.1/' data-versiondate='2019-07-09T21:22:13Z'>Accessible Rich Internet Applications</a></cite> (<abbr title='Accessible Rich Internet Applications'>WAI-ARIA</abbr>) recommendation provides an ontology to help assistive technologies to provide a consistent user interface and understanding of the objects. Host languages like HTML and SVG can include the ARIA ontology: <q>roles</q> to alert the purpose of an element; <q>properties</q> to indicate an elements relationship to other things; <q>states</q> to indicate what the element is doing, as well as alerting users about changes in state. ARIA helps to inform consuming assistive technologies such as screen magnifiers, screen readers, text-to-speech software, speech recognition software, alternate input technologies, and alternate pointing devices to create a particular accessibility tree, and to adapt the user interface to a form that works for the person, eg. a screen-reader can read the menu items, or selected option is receiving keyboard focus. WAI-ARIA is extensible and has a number of accessible API mappings. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/dpub-aria/" data-versionurl='https://web.archive.org/web/20190709212213/https://www.w3.org/TR/dpub-aria/' data-versiondate='2019-07-09T21:22:13Z'>Digital Publishing WAI-ARIA Module 1.0</a></cite> (<abbr title='Digital Publishing WAI-ARIA Module'>DPUB-ARIA</abbr>) specialises WAI-ARIA’s ontology to enable semantic navigation, styling and interactive features in context of digital publishing. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/graphics-aria/" data-versionurl='https://web.archive.org/web/20190709212214/https://www.w3.org/TR/graphics-aria/' data-versiondate='2019-07-09T21:22:14Z'>WAI-ARIA Graphics Module</a></cite> is another extension of WAI-ARIA aimed to support structured graphics such as charts, graphs, technical drawings and scientific diagrams, to assistive technologies in order improve accessibility of graphics or diagrams through detailed annotations.</p> <p id='authoring-tool-accessibility'><strong>Authoring Tool Accessibility</strong>: In order to contribute to the proliferation of Web content that is accessible to a broad range of people, authoring tools would need to be accessible as well. The W3C <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ATAG/" data-versionurl='https://web.archive.org/web/20190709212214/https://www.w3.org/TR/ATAG/' data-versiondate='2019-07-09T21:22:14Z'>Authoring Tool Accessibility Guidelines</a></cite> (<abbr title='Authoring Tool Accessibility Guidelines'>ATAG</abbr>) is a recommendation to assist with the design of authoring tools. The guidelines have a success criteria covering two areas:</p> <blockquote cite='http://www.w3.org/TR/ATAG20/#guidelines'> <ul> <li>Make the authoring tool user interface accessible</li> <li>Support the production of accessible content</li> </ul> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.w3.org/TR/ATAG20/#guidelines" data-versionurl='https://web.archive.org/web/20190709212215/http://www.w3.org/TR/ATAG20/' data-versiondate='2019-07-09T21:22:15Z'>ATAG 2.0 Guidelines</a></cite>, W3C, 2015</footer> </blockquote> <p id='user-agent-accessibility-guidelines'><strong>User Agent Accessibility Guidelines</strong>: To support the general principles for the development of accessible user agents, ie. <q>any software that retrieves, renders and facilitates end-user interaction with web content</q>, the W3C <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/UAAG20/" data-versionurl='https://web.archive.org/web/20190709212215/https://www.w3.org/TR/UAAG20/' data-versiondate='2019-07-09T21:22:15Z'>User Agent Accessibility Guidelines</a></cite> (<abbr title='User Agent Accessibility Guidelines'>UUAG</abbr>) specifies three layers of guidance for developers to integrate:</p> <ul> <li>overall principles: perceivable, operable, understandable, programmatic access, specifications and conventions;</li> <li>general guidelines to provide a framework to make user agents more accessible to users with disabilities;</li> <li>and success criteria in order to test conformance</li> </ul> <p id='internationalization-and-localization'><strong xml:lang='en-us' lang='en-us'>Internationalization and Localization</strong>: Adaptability of content and software to the needs of target audiences helps towards accessibility. For example, the mechanisms to cater information and interfaces so that people from any culture, region, or language preference can participate better. The W3C <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/International/" data-versionurl='https://web.archive.org/web/20190709212215/https://www.w3.org/International/' data-versiondate='2019-07-09T21:22:15Z'>internationalization</a></cite> (<abbr title='Internationalization'>i18n</abbr>) and <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/International/questions/qa-i18n#l10n" data-versionurl='https://web.archive.org/web/20190709212215/https://www.w3.org/International/questions/qa-i18n' data-versiondate='2019-07-09T21:22:15Z'>localization</a></cite> (<abbr title='Localization'>l10n</abbr>) initiatives and best practices helps towards this end. Internationalization refers to the design and development of mechanisms so that adaptable localization can take place in users’ environment.</p> <p id='internationalization'>Internationalization of Web content and technologies is intended to make it possible for people to use them with different languages, scripts, and cultures. For example, content authors can:</p> <ul> <li>include links to navigate to different languages of the content;</li> <li>declare the base language of a document, indicate multiple languages and their directional flow – to help with translations;</li> <li>use Unicode character encoding, eg. UTF-8, in data forms and text to ensure correct effects;</li> <li>check and minimise inappropriate cultural bias, and improve translatability;</li> <li>restrict markup use to structure and semantics.</li> </ul> <p id='localization'>The localization of content would mean that user’s preferred (or acceptable) visual design can be presented. For instance, human-readable numeric, date and time formats can be adapted to what we are familiar with; symbols, icons, and colours can be anywhere from what’s culturally acceptable, familiar or comfortable for us to use; text and graphics can be normalised or transformed to minimise misinterpretation.</p> </div> </section> <section resource='#archivability' rel='schema:hasPart' inlist='' id='archivability'> <h4 property='schema:name'>Archivability</h4> <div property='schema:description' datatype='rdf:HTML'> <p id='archivability-of-web-resources'>Archivability of Web resources <q cite='http://library.stanford.edu/projects/web-archiving/archivability'>refers to the ease with which the content, structure, functionality, and front-end presentation(s) of a website can be preserved and later re-presented, using contemporary web archiving tools</q>.</p> <p id='website-archivability'>In <cite><a rel='cito:citesForInformation' href="http://purl.pt/24107/1/iPres2013_PDF/CLEAR%20a%20credible%20method%20to%20evaluate%20website%20archivability.pdf" data-versionurl='https://web.archive.org/web/20180205144935/http://purl.pt/24107/1/iPres2013_PDF/CLEAR%20a%20credible%20method%20to%20evaluate%20website%20archivability.pdf' data-versiondate='2018-02-05T14:49:35Z'>CLEAR: a credible method to evaluate website archivability</a></cite>, Banos, 2013 posit that Web archivability can be measured by five facets: <q>accessibility</q> as network access to content; <q>standards compliance</q> in terms of information using common open formats and specifications; <q>cohesion</q> as information being independent of external support; the level of <q>metadata</q> that is available alongside the content; and, server’s <q>performance</q>. Such facets can be used to quantify website archivability.</p> <p id='archivability-rule-of-thumb'>In the Web development community, a rule of thumb to improve archivability of Web content is to aim for general standards compliance and content accessibility. In the case of standards compliance, well-formed and valid markup ensures internal integrity of Web documents. As for better accessibility, incorporating WCAG where applicable can help user-agents, including text-only Web browsers, Web crawlers, and other agents with minimal capabilities to parse and render content. With respect to traditional Web documents, the information that is visible, observable, or human-readable from HTML is considered to set the lowest barrier to obtain content. As CSS and JavaScript are concerned with presentation and behavioural layers respectively, they play a secondary role towards archiving of "content".</p> <p id='archivability-javascript'><cite><a rel='cito:citesForInformation' href="https://www.cs.odu.edu/~mln/pubs/ijdl-archivability-2015.pdf" data-versionurl='https://web.archive.org/web/20180925171230/https://www.cs.odu.edu/~mln/pubs/ijdl-archivability-2015.pdf' data-versiondate='2018-09-25T17:12:30Z'>The impact of JavaScript on archivability</a></cite>, Brunelle, 2015, study the quality of archived Web resources (based on URIs from Twitter and Archive-It) and report that JavaScript-driven content played a significant role in the reduction of preservation and recall of content. For example, resources referring to external scripts may load unsuccessfully given that their own independent availability. Authors refer to the notion of <q>deferred representations</q> where the final state of a resource is when all code and events have finished executing. Hence, representations rely on JavaScript to fully render do not serve well for archival crawlers that are unequipped to handle JavaScript. On the other hand, certain archival services include a feature known as <em>headless browser</em> that is capable of processing the resource similar to common GUI-based Web browsers with JavaScript enabled, and thus capturing the final state of the representation once all scripts are executed. This too however may be problematic for content that dynamically changes based on the instructions of the script. For example, a script that presents temporal content may be different at each time the archived resource is recalled.</p> <p id='archivability-accuracy'>While evaluation services like <cite><a rel='cito:discusses' href="http://archiveready.com/" data-versionurl='https://web.archive.org/web/20190709212217/http://archiveready.com/' data-versiondate='2019-07-09T21:22:17Z'>ArchiveReady</a></cite> check for website archivability based on the five metrics, it is not able to determine the <em>accuracy</em> of intended information. As the content in the HTML representation and the state of rendered content (after script execution) may differ, their delta can be compared to what is intended for archiving. In <cite><a rel='cito:citesForInformation' href="https://www.planets-project.eu/docs/papers/Dappert_Significant_Characteristics_ECDL2009.pdf" data-versionurl='https://web.archive.org/web/20180925212635/https://www.planets-project.eu/docs/papers/Dappert_Significant_Characteristics_ECDL2009.pdf' data-versiondate='2018-09-25T21:26:35Z'>Significance is in the Eye of the Stakeholder</a></cite>, Dappert, 2009, contend that a stakeholder can specify the characteristics of resource representations and the conditions for preservation. For human-readable documents, it can be reasoned that the rendered content is what is intended for archiving by the publisher.</p> </div> </section> </div> </section> <section resource='#existing-markup-patterns' rel='schema:hasPart' inlist='' id='existing-markup-patterns'> <h3 property='schema:name'>Existing Markup Patterns</h3> <div property='schema:description' datatype='rdf:HTML'> <p>There are plethora of approaches and developments to representing scholarly information with markup languages. Here I focus on a few and describe their characteristics.</p> <p id='jats'><cite><a rel='cito:citesAsAuthority' href="http://jats.niso.org/" data-versionurl='https://web.archive.org/web/20190709212216/http://jats.niso.org/' data-versiondate='2019-07-09T21:22:16Z'>Journal Article Tag Suite</a></cite> (<abbr title='Journal Article Tag Suite'>JATS</abbr>) is an XML format used to describe content and metadata of research and non-research articles eg. including reviews, editorials, instructions to authors. It can be used by publishers and archives to interchange scholarly content in a uniform way. The intent of its Tag Suite is to prescribe and to preserve the structure and semantics of the original content independent of the presentation. JATS includes three Tag Sets: journal archive and interchange, journal publishing, and article authoring. In the case of peer reviewed scholarly articles that are intended to be archived, the publication may also include information about the conference the research was presented at, data about the publication and journal, document history, license, funding, and various kinds of annotations. Given that JATS is XML-based, different manifestations of the original content are generated through transformations eg. as a print-version, HTML, as well as RDF as described in <cite><a rel='cito:citesForInformation' href="https://www.ncbi.nlm.nih.gov/books/NBK100491/" data-versionurl='https://web.archive.org/web/20181001202229/https://www.ncbi.nlm.nih.gov/books/NBK100491/' data-versiondate='2018-10-01T20:22:29Z'>From Markup to Linked Data: Mapping NISO JATS v1.0 to RDF using the SPAR (Semantic Publishing and Referencing) Ontologies</a></cite>.</p> <p id='tei'><cite><a rel='cito:discusses' href="http://www.tei-c.org/" data-versionurl='https://web.archive.org/web/20190709212217/https://tei-c.org/' data-versiondate='2019-07-09T21:22:17Z'>Text Encoding Initiative</a></cite> (<abbr title='Text Encoding Initiative'>TEI</abbr>) has guidelines to <q rel='cito:citesAsAuthority' cite='http://www.tei-c.org/guidelines/'>define and document a markup language for representing the structural, renditional, and conceptual features of texts.</q> TEI is similar to JATS in that it aims to improve understanding of text made explicit with XML, as well as for information interchange, integration, and preservation. Its encoding methods are mainly aimed at machine-readable texts in academic, linguistic, literary and technical documents. Its document structure is similar to JATS in that it has a front (header), body (article), and back pattern, and including a generalistic approach to coping with text with any size, complexity, writing system, language, date, or media. For instance, the specification helps with information identification (eg. page numbers), structural divisions, pictures and diagrams with captions; different writing modes (eg. prose, verse); each with formal structural units (eg. paragraphs, lists, stanzas); with textual distinctions (eg. titles, names, quotations); as well as metatextual indications (eg. corrections, annotations, revisions).</p> <p id='epub'><cite><a rel='cito:discusses' href="http://www.idpf.org/epub" data-versionurl='https://web.archive.org/web/20190709212220/https://www.w3.org/publishing/groups/epub3-cg/' data-versiondate='2019-07-09T21:22:20Z'>Electronic Publication</a></cite> (<abbr title='Electronic Publication'>EPUB</abbr>) is implemented as a distribution and interchange format based on XML and Web Standards. EPUB is delivered as an archive file (ZIP) packaging XHTML, CSS SVG, along with supporting media files. The <cite><a rel='cito:citesAsAuthority' href="http://www.idpf.org/epub3/latest/contentdocs" data-versionurl='https://web.archive.org/web/20180920120337/http://www.idpf.org/epub/31/spec/epub-contentdocs.html' data-versiondate='2018-09-20T12:03:37Z'>EPUB Content Documents</a></cite> defines profiles – inheriting XHTML and extensions to the underlying document model – for the content to be used in the context of EPUB Publications, and <cite>EPUB Open Container Format</cite> defines the file format and processing model for the single-file that encapsulates all material. Software on devices complying with EPUB can read and interact with its content. It retains the reflowable features of XHTML and CSS in that content presentation can be adapted by a consuming device. The specification allows embedding of RDFa attributes.</p> <p id='rash'><cite><a rel='cito:citesForInformation' href="https://w3id.org/people/essepuntato/papers/rash-peerj2016.html" data-versionurl='https://web.archive.org/web/20171002171756/https://essepuntato.github.io/papers/rash-peerj2016.html' data-versiondate='2017-10-02T17:17:56Z'>Research Articles in Simplified HTML</a></cite> (<abbr title='Research Articles in Simplified HTML'>RASH</abbr>) is a format accompanied with the RASH Framework <q>for writing HTML-based scholarly papers</q>. RASH aims at sharing scholarly documents through the Web while working within the existing publishing workflow, and is expected to be produced from MS Word, ODT and LaTeX sources. RASH has been developed as a formal grammar using RelaxNG which includes a subset of elements – 32 – from HTML5. With the exception of the <code>script</code> element, it is compiled of printable elements. Its grammar facilitates RASH documents to run against a markup validator, to convert between sources, rendering for Web and print media, and to extract additional semantics. Its rationale for representing human-visible and machine-readable information in HTML varies eg. title, authors, keywords of an article are used as hidden metadata, and require additional processing to make it human-visible in the Web browser, as such a dependency on JavaScript support and being enabled. The resulting grammar favours simplicity towards authoring over expressing accurate or appropriate semantics eg. <code>h1</code> for all heading levels is used, as opposed to HTML5’s required heaving levels (<samp>hX</samp>). The format allows DPUB-ARIA and RDFa annotations, as well as embedding JSON-LD, Turtle, and RDF/XML data islands with the <code>script</code> element.</p> <p id='scholarly-html'><cite><a rel='cito:discusses' href="https://www.w3.org/community/scholarlyhtml/" data-versionurl='https://web.archive.org/web/20190709212217/https://www.w3.org/community/scholarlyhtml/' data-versiondate='2019-07-09T21:22:17Z'>W3C Scholarly HTML Community Group</a></cite> has its mission to build a common, open format for the exchange of scholarly information. Its specification on <cite><a rel='cito:citesAsAuthority' href="https://w3c.github.io/scholarly-html/" data-versionurl='https://web.archive.org/web/20171002171558/https://w3c.github.io/scholarly-html/' data-versiondate='2017-10-02T17:15:58Z'>Scholarly HTML</a></cite> proposes a vernacular document format aimed at encoding <em>scholarly articles</em> built on open standards, as well as having them compatible with off-the-self Web browsers. One of its high-level goals is to enable structured metadata as well as semantic enrichments, accessibility, internationalisation. It applies the notion of <q>semantic overlays</q> for its markup patterns with focus on role-based semantics as defined in WAI-ARIA, DPUB-ARIA, and semantic representations using RDFa. The – work-in-progress – specification explains how concepts for people and organisation, article semantics, schema roles, actions, citations, document rights, and so forth can be marked using appropriate vocabularies, using the schema.org vocabulary as base. In order to simplify authoring, where applicable, it is encouraged to use RDFa markup patterns where the depth (level of nesting in the DOM tree) for the RDF statements would be relatively flat. One consequences of this rule of thumb may be that there can be duplicate information or parts of the information being human-visible whereas some others would be intended only for machine use.</p> <p id='existing-markup-patterns-characteristics'><strong>Summary of Characteristics</strong>: For historical and technical reasons, here I summarise some of their (shared) characteristics:</p> <ul> <li>With the exception of <cite>Scholarly HTML</cite>, the markup methods first cater to printability (as opposed to being Web-centric) or require transformations to other formats in order to be viewed and interacted further.</li> <li>Data representations are prescriptive in that they are coupled with specific applications or workflows.</li> <li>The generation or use of markup is dependent on specific environments for use or interchange, media or devices.</li> <li>The structure of the information is scoped to general-purpose scholarly documents, as opposed to for example encapsulating social (scholarly) Web activities.</li> <li>The structure and semantics of information is fundamentally based on HTML or XML (as opposed to the RDF language).</li> <li>In some cases, there is information duplicity as human and machine consumers are served with different data.</li> <li>There are post-processing dependencies (eg. via JavaScript execution) in order to turn hidden metadata into visible and readable by humans.</li> </ul> </div> </section> <section resource='#linked-statistics' rel='schema:hasPart' inlist='' id='linked-statistics'> <h3 property='schema:name'>Linked Statistics</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Research data in the form of observational or experimental data follows a different structure than narrative content – which is a common characteristic of a research article, annotation, notification or a profile. Structured data may be (semi-)automatically aggregated through instruments, stored, and viewed in different ways.</p> <p id='statistical-linked-dataspaces'>As pointed out in <cite><a rel='cito:usesConclusionsFrom' href="https://csarven.ca/statistical-linked-dataspaces" data-versionurl='https://web.archive.org/web/20190709212217/https://csarven.ca/statistical-linked-dataspaces' data-versiondate='2019-07-09T21:22:17Z'>Statistical Linked Dataspaces</a></cite>, 2012, Capadisli, what linked statistics provide, and in fact enable, are queries across datasets: Given that the dimension concepts are interlinked, one can learn from a certain observation’s dimension value, and enable the automation of cross-dataset queries. Moreover, domain-specific user interfaces can be built based on federated queries as discussed in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-statistical-data-analysis">Linked Statistical Data Analysis</a></cite> in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#sparqlines">Sparqlines: SPARQL to Sparkline</a></cite>.</p> <section resource='#linked-sdmx-data' rel='schema:hasPart' inlist='' id='linked-sdmx-data'> <h4 property='schema:name'>Linked SDMX Data</h4> <div property='schema:description' datatype='rdf:HTML'> <p>As statistical data is inherently highly structured and comes with rich metadata (in form of code lists, data cubes etc.), the application of the Linked Data design patterns is inherently suitable for representation and reuse on the Web. There exists no simple, standardised or (semi)automated way to transform statistical data into Linked Data since the raw data comes in different shapes and forms.</p> <p>While access to statistical data in the public sector has increased in recent years, a range of technical challenges makes it difficult for data consumers to take advantage at ease. These are particularly related to the following two areas:</p> <ul> <li>Automation of data transformation of data from high profile statistical organizations.</li> <li>Minimisation of third-party interpretation of the source data and metadata and lossless transformations.</li> </ul> <p id='sdmx-ml'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=52500" data-versionurl='https://web.archive.org/web/20190709212755/https://www.iso.org/standard/52500.html' data-versiondate='2019-07-09T21:27:55Z'>Statistical Data and Metadata eXchange</a></cite> (<abbr title='Statistical Data and Metadata eXchange'>SDMX</abbr>) is an ISO standard which provides the possibility to consistently carry out data flows between publishers and consumers. SDMX-ML (using XML syntax) is considered to be the gold standard for expressing statistical data. It has a highly structured mechanism to represent statistical observations, classifications, and data structures. Given that SDMX is arguably the most widely used standard for statistical data exchange (among statistical agencies and others), a great amount of statistical data about our societies is yet to be discoverable and identifiable through the Open Web Platform. Development teams often face low-level repetitive data management tasks to deal with someone else’s data. Within the context of Linked Data, one aspect is to transform this raw statistical data eg. SDMX-ML, into an RDF representation in order to be able to use publicly available data in a uniform way.</p> <p><cite><a rel='cito:usesConclusionsFrom' href="https://csarven.ca/linked-sdmx-data" data-versionurl='https://web.archive.org/web/20190709212219/https://csarven.ca/linked-sdmx-data' data-versiondate='2019-07-09T21:22:19Z'>Linked SDMX Data</a></cite>, Capadisli, 2013, ie. my colleagues and I, contribute as follows:</p> <ul id='linked-statistical-publishing'> <li>an approach for transforming SDMX-ML based on XSLT 2.0 templates and the implementation which transforms SDMX-ML data to RDF/XML</li> <li>The extract, transform, load <abbr title='Extract Transform Load'>ETL</abbr> process: a) retrieval of SDMX-ML data from APIs, b) their transformations to RDF/XML, and c) enrichment, d) storage in an RDF data store, and e) publicly accessible Linked Data publication based on the statistical data from the following agencies: <ul> <li><cite><a rel='cito:discusses' href="https://www.abs.gov.au/" data-versionurl='https://web.archive.org/web/20190710084754/https://www.abs.gov.au/' data-versiondate='2019-07-10T08:47:54Z'>Australian Bureau of Statistics</a></cite> (<abbr title='Australian Bureau of Statistics'>ABS</abbr>)</li> <li><cite><a rel='cito:discusses' href="http://www.bfs.admin.ch/" data-versionurl='https://web.archive.org/web/20190709212225/https://www.bfs.admin.ch/bfs/de/home.html' data-versiondate='2019-07-09T21:22:25Z'>Swiss Federal Statistical Office</a></cite> (<abbr xml:lang='de' title='Bundesamt für Statistik' lang='de'>BFS</abbr>)</li> <li><cite><a rel='cito:discusses' href="http://www.bis.org/" data-versionurl='https://web.archive.org/web/20190709212221/https://www.bis.org/' data-versiondate='2019-07-09T21:22:21Z'>Bank for International Settlements</a></cite> (<abbr title='Bank for International Settlements'>BIS</abbr>)</li> <li><cite><a rel='cito:discusses' href="http://www.ecb.int/" data-versionurl='https://web.archive.org/web/20190709212226/https://www.ecb.europa.eu/home/html/index.en.html' data-versiondate='2019-07-09T21:22:26Z'>European Central Bank</a></cite> (<abbr title='European Central Bank'>ECB</abbr>)</li> <li><cite><a rel='cito:discusses' href="http://www.fao.org/" data-versionurl='https://web.archive.org/web/20190709212221/http://www.fao.org/home/en/' data-versiondate='2019-07-09T21:22:21Z'>Food and Agriculture Organization of the United Nations</a></cite> (<abbr title='Food and Agriculture Organization of the United Nations'>FAO</abbr>)</li> <li><cite><a rel='cito:discusses' href="https://www.federalreserve.gov/" data-versionurl='https://web.archive.org/web/20190710085912/https://www.federalreserve.gov/' data-versiondate='2019-07-10T08:59:12Z'>Federal Reserve Board</a></cite> (<abbr title='Federal Reserve Board'>FRB</abbr>)</li> <li><cite><a rel='cito:discusses' href="http://www.imf.org/" data-versionurl='https://web.archive.org/web/20190709212223/https://www.imf.org/external/index.htm' data-versiondate='2019-07-09T21:22:23Z'>International Monetary Fund</a></cite> (<abbr title='International Monetary Fund'>IMF</abbr>)</li> <li><cite><a rel='cito:discusses' href="http://www.oecd.org/" data-versionurl='https://web.archive.org/web/20190709212223/http://www.oecd.org/' data-versiondate='2019-07-09T21:22:23Z'>Organisation for Economic Co-operation and Development</a></cite> (<abbr title='Organisation for Economic Co-operation and Development'>OECD</abbr>)</li> <li><cite><a rel='cito:discusses' href="http://www.uis.unesco.org/" data-versionurl='https://web.archive.org/web/20190709212224/http://uis.unesco.org/' data-versiondate='2019-07-09T21:22:24Z'>UNESCO Institute for Statistics</a> (<abbr title='UNESCO Institute for Statistics'>UIS</abbr>)</cite></li> </ul> </li> </ul> <p>Each Linked Statistical Data (<abbr title='Linked Statistical Data'>LSD</abbr>) endpoint:</p> <ul> <li>modeled using RDF, RDFS, XSD, OWL, XSD, DC Terms for general purpose descriptions; the RDF Data Cube vocabulary to describe multi-dimensional statistical data; PROV-O is used for provenance coverage; SKOS and XKOS to cover concepts, concept schemes and their relationships to one another;</li> <li>cross dataset and concept scheme interlinking;</li> <li>uniquely identifiable provenance level information at retrieval, transformation, and post-processing phases;</li> <li>licensed under CC0 1.0 Universal Public Domain Dedication;</li> <li>follows a URI template, where the URIs are versioned with respect to the original data counterparts</li> <li>data dumps;</li> <li>queryable SPARQL endpoint;</li> </ul> <p>The results are part of the <cite><a rel='cito:citesAsEvidence' href="https://270a.info/" data-versionurl='https://web.archive.org/web/20190710085419/https://270a.info/' data-versiondate='2019-07-10T08:54:19Z'>270a.info</a></cite> LSD Cloud. The LSD Cloud is also part of the broader <cite><a rel='cito:citesAsEvidence' href="https://lod-cloud.net/" data-versionurl='https://web.archive.org/web/20190608095720/https://lod-cloud.net/' data-versiondate='2019-06-08T09:57:20Z'>Linked Open Data Cloud</a></cite> (<abbr title='Linked Open Data'>LOD</abbr>) Cloud.</p> <figure resource='#interlinks-270a.info' rel='schema:hasPart' id='interlinks-270a.info'> <object width='640' type='image/svg+xml' rel='schema:image' height='480' data="https://270a.info/media/images/270a.cloud.svg"></object> <figcaption property='schema:name'>Interlinks of Linked Statistical Data endpoints at 270a.info.</figcaption> </figure> <p>What the LSD Cloud enables is that highly structured and interlinked statistical data and classifications that can be queried and used by decentralised applications.</p> </div> </section> <section resource='#linked-statistical-data-analysis' rel='schema:hasPart' inlist='' id='linked-statistical-data-analysis'> <h4 property='schema:name'>Linked Statistical Data Analysis</h4> <div property='schema:description' datatype='rdf:HTML'> <p>In <cite><a rel='cito:usesConclusionsFrom' href="https://csarven.ca/linked-statistical-data-analysis" data-versionurl='https://web.archive.org/web/20190709212225/https://csarven.ca/linked-statistical-data-analysis' data-versiondate='2019-07-09T21:22:25Z'>Linked Statistical Data Analysis</a></cite>, Capadisli, 2013, puts forward an approach based on decentralised (and federated) structured queries to retrieve statistical data from various SPARQL endpoints, conducting various data analyses (eg. regression analysis), and providing the results of the analysis as Linked Data back to the user. The system demonstrating the mechanism stores the analysis in RDF to enable future discovery and reuse eg. researchers looking up statistically significant results based on a set of indicators for a specific reference area. As a result, distributed linked statistics with accompanying provenance data can be more easily explored and analysed by interested parties.</p> <p>The approach expects that the data is modelled using the RDF Data Cube vocabulary and has <cite><a rel='cito:citesAsAuthority' href="http://www.w3.org/TR/vocab-data-cube/#wf" data-versionurl='https://web.archive.org/web/20190709212226/http://www.w3.org/TR/vocab-data-cube/' data-versiondate='2019-07-09T21:22:26Z'>Well-formed cubes</a></cite>. Essential checks for integrity constraints include: 1) a unique data structure definition (DSD) is used for a dataset, 2) the DSD includes a measure (value of each observation), 3) concept dimensions have code lists, and 4) codes are from the code lists.</p> <p>In order to compare variables in observations across statistical datasets, there needs to be an agreement on the concepts that are being matched for in respective observations. In the case of regression analysis, the primary concern is about reference areas (ie. locations), and making sure that the comparison made for the observations from dataset<sub>x</sub> (independent variable) and dataset<sub>y</sub> (dependent variable) are using concepts that are interlinked (using the property <code>skos:exactMatch</code>). Practically, a concept eg. Switzerland, from at least one of the dataset’s code lists should have a relation to the other dataset’s concept. It ensures that there is a reliable degree of confidence that the particular concept is interchangeable or the degree in which the concepts being comparable. Hence, the measure corresponding to the phenomenon being observed, is about the same location in both datasets. To this end, concepts in the datasets were interlinked.</p> <p id='oh-yeah'>In order to foster trust and confidence for data consumers (human and machine), the analysis is accompanied with provenance data. The analysis includes a <cite><a rel='cito:usesConclusionsFrom' href="https://www.w3.org/DesignIssues/UI#OhYeah" data-versionurl='https://web.archive.org/web/20190709212226/https://www.w3.org/DesignIssues/UI' data-versiondate='2019-07-09T21:22:26Z'>Oh yeah?</a></cite> reference (in HTML as well as in RDF serializations) intended to guide the data consumer to a resource about the provenance activity – using the PROV-O vocabulary – about the performed analysis. These previously generated provenance activities provide links to all data sources which were used for the analysis, query construct for data aggregation, as well as metadata about the used tools, assigned license, production timestamps, and responsible agents for the generated analysis. Thus, in addition to analysis metadata, the user is able to track the data all the way back to its origins (at the statistical agencies), and reproduce or compare their results.</p> <p>The proposed approach focuses on the scalability of the system with minimal human intervention. That is, new statistical dataset can be independently published while being expressed with relevant statistical vocabularies, and sufficient interlinks between concepts, then applications can discover them and perform queries in a uniform way. Hence, applications <em>only</em> need to be made aware of the location of new datasets.</p> </div> </section> <hr/> <p id='enabling-scientific-data-on-the-web'><cite><a rel='cito:citesForInformation' href="https://www.era.lib.ed.ac.uk/bitstream/handle/1842/9957/Milowski2014.pdf" data-versionurl='https://web.archive.org/web/20190710075345/https://www.era.lib.ed.ac.uk/bitstream/handle/1842/9957/Milowski2014.pdf' data-versiondate='2019-07-10T07:53:45Z'>Enabling Scientific Data on the Web</a></cite>, Miłowski, 2014, focuses on <q>enabling scientific data to exist on the Web in such a way that it can be processed both as viewable content and consumed data</q>. Miłowski posits that in order to enable user interactions through the Open Web Platform while having the same information machine-readable, <q>data must to be partitioned into “Web-sized” representations</q>. This can be contrasted with the approaches mentioned from earlier where the data is treated as "as is" without being structured in any particular way for applications to consume.</p> <p>In this thesis I describe and exemplify multiple implementation approaches. For example, the tabular data in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#characteristics-of-specifications">Characteristics of Specifications</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#comparison-of-notification-mechanisms">Comparison of Notification Mechanisms</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-notifications-implementations">Linked Data Notifications Implementations</a></cite>, and in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralised-linked-research-application">Decentralised Linked Research Application</a></cite>, as well as the data in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-specifications-reports">Linked Specifications, Test Suites, and Implementation Reports</a></cite> are all human- and machine-readable. Whereas in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#interactive-linked-statistics">Interactive Linked Statistics</a></cite>, I will describe <cite><a href="https://csarven.ca/linked-research-decentralised-web/#sparqlines">Sparqlines: SPARQL to Sparkline</a></cite> where SPARQL queries can be executed by client-side applications in an article authoring environment to fetch live data from remote endpoints, and be represented in SVG+RDFa.</p> </div> </section> </div> </section> <section resource='#decentralising-scholarly-communication' rel='schema:hasPart' inlist='' id='decentralising-scholarly-communication'> <h2 property='schema:name'>Decentralising Scholarly Communication</h2> <div property='schema:description' datatype='rdf:HTML'> <p>In this section, I discuss the design of socially-aware decentralised systems. The sections <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#forces-and-functions-in-specifications">Forces and Functions in Specifications</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#the-effects-and-artifacts-of-autonomous-engagement">The Effects and Artifacts of Autonomous Engagement</a></cite> are my knowledge contributions.</p> <section resource='#control-yourself' rel='schema:hasPart' inlist='' id='control-yourself'> <h3 property='schema:name'>Control Yourself</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Throughout history, the complex connections between communication technologies and society transformed control structures of civilisations. <a href="https://en.wikipedia.org/wiki/Harold_Innis">Harold Innis</a> and Marshall McLuhan argued that electronic media, unlike any other, compressed time and space, creating a <q cite='http://www.worldcat.org/oclc/993539009'>global village</q> as well as facilitating the influence and potential of centralised control.</p> <p id='cyberspace-independence'>While the Internet reinforces democratic (re)distribution of communicative power, and the Web is inherently a decentralised social system, centralisation of all forms of information exchange and various forms of censorship – state or self-imposed – still occurs. In response to the <cite>Telecommunications Act of 1996</cite>, John Perry Barlow voiced a fundamental societal concern in <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.eff.org/cyberspace-independence" data-versionurl='https://web.archive.org/web/20180828220312/https://www.eff.org/cyberspace-independence' data-versiondate='2018-08-28T22:03:12Z'>A Declaration of the Independence of Cyberspace</a></cite> given the attempts of the <q>governments of the industrial world</q> to exert control over it, the builders of the cyberspace; a self-sovereign online society that is cross- border, culture, with diverse economies is ultimately an opposing force.</p> <p id='information-control'>Over the years, large-scale centralised systems were built to collect, organise and share data in diverse sectors. The domination of centralisation is essentially due to economic and state incentives, and it has shaped the technical infrastructure: it is currently much easier and more efficient to author, manage, publish, read, and search large amounts of content using centralised services or proprietary platforms. As such the convenience that comes with centralisation is at the user’s expense where ownership and access control is compromised, and ultimately the user’s privacy and security. Moreover, from the service provider’s perspective, there is no particular incentive to build interoperable systems as that would entail losing control over data. Since such services hinder information flow; information in one service is not necessarily usable by other applications and services and vice versa, they effectively form information silos – <cite><a rel='cito:citesForInformation' href="http://dig.csail.mit.edu/2008/Papers/MSNWS/index.html" data-versionurl='https://web.archive.org/web/20180830094126/http://dig.csail.mit.edu/2008/Papers/MSNWS/index.html' data-versiondate='2018-08-30T09:41:26Z'>Decentralization: The Future of Online Social Networking</a></cite>, 2008.</p> <p>In addition to state controlled network infrastructures, information empires like <cite>Google</cite>, <cite>Facebook</cite>, <cite>Amazon</cite>, <cite>Elsevier</cite>, as well as a long tail of (social media) services, exert a great deal of influence on how information can be accessed, expressed and reused. This influence impacts society, affecting the cost of accessing information, the effort required to produce and distribute, long-standing privacy concerns (in exchange of some convenience for users), as well as how and the amount of information that is aggregated, shared and filtered.</p> <p id='trusting-centralised-services'>Independence from centralised services and platforms is a necessity for ownership of published ideas, and to establish authenticity and trust. For example, <cite>Facebook</cite> has been accused of <a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal">data scandals</a>, <a rel='cito:citesForInformation' href="http://www.slate.com/articles/technology/technology/2016/05/yes_facebook_is_biased_now_it_should_admit_it.html">bias</a>, <a rel='cito:citesForInformation' href="https://www.theguardian.com/media/2016/jul/12/how-technology-disrupted-the-truth">false information</a>, and <a rel='cito:citesForInformation' href="https://www.nytimes.com/2016/09/10/technology/facebook-vietnam-war-photo-nudity.html">censorship</a> – but rather than blaming this on any particular service or platform, we identify it as an unavoidable result of centralisation. After all, there is a continued tension between unrestricted publication rights on the one hand, and a guarantee of balanced, verified information on the other. In a fully decentralised setting, each source is filterless and responsible for its own quality and reputation, while consumers are free to selectively (dis-)trust certain sources using any mechanism they desire, for example through trusted parties. This can have both favourable and unfavourable consequences depending on actual implementations. <cite>Google Search</cite> or <cite><a rel='cito:discusses' href="https://duckduckgo.com/" data-versionurl='https://web.archive.org/web/20190709212227/https://duckduckgo.com/' data-versiondate='2019-07-09T21:22:27Z'>DuckDuckGo</a></cite> for instance apply different filtering algorithms based on their Web crawls. Whether consciously or not, why we use a particular search engine naturally correlates with the amount of use or trust we have on that system. Similarly, as the academic peer review system acts as a layer to regulate credibility of academic contributions, we can approach the research results provided that there is sufficient provenance, accountability of the quality control processes, and able to distinguish different levels of certification given or lack of from the scholarly community.</p> <p id='situation-challenges'>With the presumption that the major external forces – governments, companies – are at play, the situation for individual-controlled communication is complicated and ever challenging. Given that academic research is a global activity, it is important to acknowledge that the Web enables an environment in which actors in the space can both autonomously conduct their endeavours and participate in knowledge exchange. Hence, there is a need to <em>re-decentralise the Web</em> so that it benefits individuals, the public, as well as the scholarly communication market as a whole. We need to improve decentralisation and take further steps to apply it to research activities and scholarly publishing.</p> <p id='knowledge-commons'>The information needs of individuals, communities and societies vary on personal, local and global levels. In <cite><a rel='cito:citesForInformation' href="http://www.worldcat.org/oclc/731904330" data-versionurl='https://web.archive.org/web/20190709212231/https://www.worldcat.org/title/understanding-knowledge-as-a-commons-from-theory-to-practice/oclc/731904330' data-versiondate='2019-07-09T21:22:31Z'>Understanding Knowledge as a Commons</a></cite>, 2011, Hess and Ostrom, and contributing authors state that scientific communities can make their discoveries and digital resources available to all which can be shared without having a subtractable characteristic like that of print. Through electronic knowledge representations, researchers can take part in reproducing and replicating others’ findings; be involved in quality-control and certification processes, as well as incorporate interactions among researchers, examiners, journalists, policy makers, and the general public. Given access to the Internet and the Web, academic researchers can register their URIs, and control how they express their ideas and what they refer to, establish data storage and choose which applications to use for their social and scholarly activity.</p> <hr/> <p id='say-decentralisation-again'>So far I have used the term <q>decentralisation</q> liberally, but in fact it can mean different things depending on the context, community, and collection of standards and technologies that are used. From here on end, I work with the the following definition in context of the Web architecture:</p> <blockquote cite='https://content.sciendo.com/downloadpdf/journals/popets/2017/4/article-p404.pdf'> <dl> <dt>Decentralized system</dt> <dd>A distributed system in which multiple authorities control different components and no single authority is fully trusted by all others.</dd> </dl> <footer><cite><a rel='cito:includesQuotationFrom' href="https://content.sciendo.com/downloadpdf/journals/popets/2017/4/article-p404.pdf" data-versionurl='https://web.archive.org/web/20180827145653/https://content.sciendo.com/downloadpdf/journals/popets/2017/4/article-p404.pdf' data-versiondate='2018-08-27T14:56:53Z'>Systematizing Decentralization and Privacy: Lessons from 15 Years of Research and Deployments</a></cite>, Troncoso, 2017</footer> </blockquote> <p>Messages and operations in centralised or distributed systems <q>may be managed by a single root of trust or authority</q>. From this position <q>decentralized systems are a subset of distributed systems</q> where they <q>embody a complex set of relationships of trust between parties managing different aspects of the system</q>. These systems are conceived of as a graph where the nodes correspond to the components of the system, and the edges correspond to connections between them. From a global perspective, the Web is a decentralised system, however, it can have components which are disjoint from the rest of the graph. Figure <cite><a href="https://csarven.ca/linked-research-decentralised-web/#figure-centralised-decentralised-architectures">Coupling of Centralised and Decentralised Architectures</a></cite> depicts the contrast between typical centralised and decentralised architectures.</p> <figure resource='#figure-centralised-decentralised-architectures' rel='schema:hasPart' id='figure-centralised-decentralised-architectures'> <object width='480' type='image/svg+xml' rel='schema:image' height='360' data="https://csarven.ca//media/images/articles/coupling-centralised-decentralised-architectures.svg"></object> <figcaption property='schema:name'>Typical centralised and decentralised architectures.</figcaption> </figure> <p>Troncoso et al, consider <em>security</em> and <em>privacy</em> to be integral aspects of systems. Security includes <q>confidentiality, integrity, authentication … availability, accountability, authorization, non-repudiation or non-equivocation</q>, and privacy considers <q>protections of users’ related data (identities, actions, etc.)</q>, and <q>formalized in terms of privacy properties (anonymity, pseudonymity, unlinkability, unobservability).</q></p> <p>How do we control ourselves on the modern, overly-centralised Web? I focus on the feasibility of using a set of open Web standards and technologies to address certain kinds of challenges in scholarly communication. I conclude with a focus on three areas of control (<cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite>) that are at the forefront of the way (scholarly) communication is conducted on the Web and its ramifications on the rest of the sociotechnical system.</p> </div> </section> <section resource='#decentralised-dataspaces' rel='schema:hasPart' inlist='' id='decentralised-dataspaces'> <h3 property='schema:name'>Decentralised Dataspaces</h3> <div property='schema:description' datatype='rdf:HTML'> <p>In this section I discuss existing research involving the decentralisation of dataspaces on the Web.</p> <p id='from-databases-to-dataspaces'>In <cite><a rel='cito:usesConclusionsFrom' href="https://people.eecs.berkeley.edu/~franklin/Papers/dataspaceSR.pdf" data-versionurl='https://web.archive.org/web/20180906131033/https://people.eecs.berkeley.edu/~franklin/Papers/dataspaceSR.pdf' data-versiondate='2018-09-06T13:10:33Z'>From Databases to Dataspaces: A New Abstraction for Information Management</a></cite>, Franklin, 2005, raises a challenge of organisations <q>relying on large number of diverse, interrelated data sources, but having no way to manage their <em>dataspaces</em> in a convenient, or principles fashion.</q>. The article brings forth the notion of dataspaces as a <q>data co-existence</q> approach, with the goal of providing functionality over all data source. In such systems, there is a set of participants and relationships, while remaining sensitive to their requirements of autonomy. The authors propose the development of different <q>DataSpace Support Platform</q>s (<abbr title='DataSpace Support Platform'>DSSP</abbr>) where interrelated services would allow data to be managed by participant systems.</p> <p id='principles-of-dataspace-systems'>In <cite><a rel='cito:usesConclusionsFrom' href="https://homes.cs.washington.edu/~alon/files/pods06.pdf" data-versionurl='https://web.archive.org/web/20180906150300/https://homes.cs.washington.edu/~alon/files/pods06.pdf' data-versiondate='2018-09-06T15:03:00Z'>Principles of Dataspace Systems</a></cite>, Halevy, 2006, explores challenges that are involved in realizing DSSPs based on motivating applications eg. personal information management (<abbr title='Personal Information Management'>PIM</abbr>), scientific data management, structured queries and content on the Web. Authors conclude that <q>interoperability and interchangeability of multiple components is key to the success of DSSPs.</q></p> <p id='paygo'>In <cite><a rel='cito:usesConclusionsFrom' href="http://cidrdb.org/cidr2007/papers/cidr07p40.pdf" data-versionurl='https://web.archive.org/web/20180906093645/http://cidrdb.org/cidr2007/papers/cidr07p40.pdf' data-versiondate='2018-09-06T09:36:45Z'>Web-scale Data Integration: You can only afford to Pay As You Go</a></cite>, Madhavan, 2007, propose the notion of a <abbr title='pay as you go'>PAYGO</abbr> data integration architecture with the premise that it is impossible to fully integrate vast heterogeneous collections of structured data that exists on the Web. The PAYGO principle states that a system needs to be able to incrementally evolve in its understanding of underlying data’s structure, semantics, and relationships between sources.</p> <p id='webbox'>In <cite><a rel='cito:usesConclusionsFrom' href="https://eprints.soton.ac.uk/id/eprint/273200" data-versionurl='https://web.archive.org/web/20181211102358/https://eprints.soton.ac.uk/273200/1/webbox-pim.pdf' data-versiondate='2018-12-11T10:23:58Z'>A decentralized architecture for consolidating personal information ecosystems: The WebBox</a></cite>, Van Kleek, 2012, proposes a realisation of Berners-Lee’s socially aware cloud storage, in which <q>Web applications running on a user’s devices gain privileged access a unified, user-controlled data space</q>, where Webbox applications are decoupled from personal data spaces.</p> <p id='distributed-semantic-social-networks'>In <cite><a rel='cito:usesConclusionsFrom' href="http://svn.aksw.org/papers/2011/SWJ_DSSN/public.pdf" data-versionurl='https://web.archive.org/web/20190710075344/http://svn.aksw.org/papers/2011/SWJ_DSSN/public.pdf' data-versiondate='2019-07-10T07:53:44Z'>An Architecture of a Distributed Semantic Social Network</a></cite>, Tramp, 2012, and <cite><a rel='cito:usesConclusionsFrom' href="http://ul.qucosa.de/api/qucosa%3A12983/attachment/ATT-0/" data-versionurl='https://web.archive.org/web/20190710075345/http://ul.qucosa.de/api/qucosa%3A12983/attachment/ATT-0/' data-versiondate='2019-07-10T07:53:45Z'>Distributed Semantic Social Networks: Architecture, Protocols and Applications</a></cite>, Tramp, 2014, posits that the landscape of Social Web is increasingly losing its distributed nature. Tramp highlights that there is an increased use of centralised social platforms, where users are locked in to their respective platforms with not much opportunity to communicate easily with users on other platforms, as well as difficulty to relocate their social graphs and personal data. Interoperability between platforms being largely limited to proprietary APIs, and changes being at the discretion of the service provider. Users of the online services are being required to keep their – often overlapping – data individually at each location up to date in order to minimise divergent information. Tramp argues that technical solutions should empower users to regain control and ownership over their data and its use, ensure privacy policies and rules that’s user-centric (as opposed to driven by commercial interest), increased data security, information extensibility based on user’s needs, reliability through distribution, and freedom of communication without centralised control. The output of Tramp’s research is that Semantic Web technologies can be deployed to some extant to support the structure, maintenance, and usage of federated and distributed social networking on the Web. The evaluation is based on integration use case tests, eg. <cite><a rel='cito:citesForInformation' href="https://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SWAT0" data-versionurl='https://web.archive.org/web/20190709212228/https://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SWAT0' data-versiondate='2019-07-09T21:22:28Z'>SWAT0</a></cite>, <cite><a rel='cito:citesForInformation' href="https://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SWAT1_use_cases" data-versionurl='https://web.archive.org/web/20190709212228/https://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SWAT1_use_cases' data-versiondate='2019-07-09T21:22:28Z'>SWAT1</a></cite>, formulated by the W3C <cite><a rel='cito:citesForInformation' href="https://www.w3.org/2005/Incubator/federatedsocialweb/" data-versionurl='https://web.archive.org/web/20190709212228/https://www.w3.org/2005/Incubator/federatedsocialweb/' data-versiondate='2019-07-09T21:22:28Z'>Federated Social Web Incubator Group</a></cite>.</p> <p id='data-ownership-and-interoperability-for-a-decentralized-social-semantic-web'>In <cite><a rel='cito:usesConclusionsFrom' href="https://tel.archives-ouvertes.fr/tel-00917965/document" data-versionurl='https://web.archive.org/web/20190710075345/https://tel.archives-ouvertes.fr/tel-00917965/document' data-versiondate='2019-07-10T07:53:45Z'>Data ownership and interoperability for a decentralized social semantic web</a></cite>, Sambra, 2013, acknowledges the same core challenges of the modern Web as Tramp, and sets out to identify key components that would help achieve data ownership and interoperability. Sambra demonstrates how a stack of interoperable Web technologies around WebID and Linked Data can be used to build class of social Web applications, where users without centralised intermediaries can authenticate themselves, and participate in creating and exchanging data with servers that are equipped with social access controls.</p> <p id='amber-decoupling-user-data-from-web-applications'>In <cite><a rel='cito:citesForInformation' href="https://pdos.csail.mit.edu/papers/amber:hotos15.pdf" data-versionurl='https://web.archive.org/web/20190713110853/https://pdos.csail.mit.edu/papers/amber:hotos15.pdf' data-versiondate='2019-07-13T11:08:53Z'>Amber: Decoupling User Data from Web Applications</a></cite>, Chajed, 2015, posit that <q>users control their own data</q> choosing which applications to manipulate their data as well as their ability to share data between applications and with other users. <cite>Amber</cite> is a proposed architecture that looks into overcoming challenges on inexpensive querying, an expressive authentication and access control system, users trusting their platform, being able to handle large volumes of data and query results, offline capabilities, and a sensible economic compatibility among its users, platform, and application developers. The results from Amber show that the architecture is most useful when data is associated with users, and operations on the data are carried out in Web browsers.</p> <p id='a-demonstration-of-the-solid-platform-for-social-web-applications'>In <cite><a rel='cito:usesConclusionsFrom' href="http://gdac.uqam.ca/WWW2016-Proceedings/companion/p223.pdf" data-versionurl='https://web.archive.org/web/20180821100927/http://gdac.uqam.ca/WWW2016-Proceedings/companion/p223.pdf' data-versiondate='2018-08-21T10:11:43Z' data-originalurl='https://doi.org/10.1145/2872518.2890529'>A Demonstration of the Solid Platform for Social Web Applications</a></cite>, Mansour, 2016, raise the concern that well-known Social Web applications are essentially <q>data silos</q> involving design patterns where each application is custom built to store its own data, along with custom authentication and access control mechanisms. Hence, users of such systems often cannot easily switch personal data storage services, or reuse their data with similar applications. Authors demonstrate the <cite>Solid platform</cite> to address the challenges in decentralised authentication, data management, as well as the development of interoperable and portable Social Web applications that interact. A number of servers and client applications are implemented where it is possible to create, store, serve RDF and non-RDF based resources, as well as permitting operations via SPARQL queries for complex data retrieval and link-following. The client-side applications cover common "day-to-day" tasks eg. contacts management, event organisation, collaborative authoring, annotating, and social notifications, all meanwhile users are able to use their WebIDs and switch between applications with similar functions.</p> </div> </section> <section resource='#read-write-linked-data' rel='schema:hasPart' inlist='' id='read-write-linked-data'> <h3 property='schema:name'>Read-Write Linked Data</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='standards-based-scholarly-communication'><strong>Standards-based Scholarly Communication</strong>: In order to manifest a Web-centric interoperable information space, I investigate existing research, Web specifications and practices that can fulfill the forces and functions in scholarly communication. This is in contrast to an arbitrary ensemble of implementations which are not guaranteed to be interoperable with each other, alternatively may only after post-facto interoperability initiatives eg. the survey on <cite><a rel='cito:citesAsEvidence' href="https://docs.google.com/spreadsheets/d/1KUMSeq_Pzp4KveZ7pb5rddcssk1XBTiLHniD0d3nDqo" data-versionurl='https://web.archive.org/web/20190709212234/https://docs.google.com/spreadsheets/d/1KUMSeq_Pzp4KveZ7pb5rddcssk1XBTiLHniD0d3nDqo/edit' data-versiondate='2019-07-09T21:22:34Z'>400+ Tools and innovations in scholarly communication</a></cite> for the most part observes applications implementing propriety designs. The following are a selection of open Web specifications; standards and practices that are designed with the notion of decentralisation, interoperability, and extensibility. They are based on use cases that facilitate discovery, read-write operations of interlinked Web resources.</p> <p>Both Tramp and Sambra approach from the perspective that the Web has proven itself architecturally and universality, and argue to extend the decentralised architecture for information reuse and user interaction. The core approaches use the Linked Data technology stack for publishing, retrieval, and integration; decoupling services and applications from the users data so that content creators are owners and have desired rights on their data and its use; and fostering data extensibility and distribution, as well as privacy.</p> <p id='internet-web-protocols'>The foundational communication and transfer protocols of the Internet and the Web are designed to operate in a decentralised and distributed manner. In terms of global functionality, removing a single node from the network – a machine with an IP address – does not halt the whole network. Similarly, when an HTTP URL is no longer available (eg. typical "404 Not Found", "410 Gone" status messages), the other URLs are not directly affected. This particular behaviour, where the Web being functional without requiring bi-directional hyperlinks is considered to be a "feature" (rather than a "bug") of the overall system. In the meantime, bi-directional links can still be established when so desired eg. as in the case with notifications.</p> <p id='read-write-web'>The <abbr title='Architecture of the World Wide Web'>AWWW</abbr> enables the identification, discovery and description of information for the notion of a <q>Read-Write Web</q> where servers and clients interact using Web standards.</p> <p id='socially-aware-read-write-linked-data'>In <cite><a rel='cito:usesConclusionsFrom' href="https://www.w3.org/DesignIssues/CloudStorage" data-versionurl='https://web.archive.org/web/20190709212230/https://www.w3.org/DesignIssues/CloudStorage' data-versiondate='2019-07-09T21:22:30Z'>Socially Aware Cloud Storage</a></cite> and <cite><a rel='cito:usesConclusionsFrom' href="https://www.w3.org/DesignIssues/ReadWriteLinkedData" data-versionurl='https://web.archive.org/web/20190709212231/https://www.w3.org/DesignIssues/ReadWriteLinkedData' data-versiondate='2019-07-09T21:22:31Z'>Read-Write Linked Data</a></cite>, Berners-Lee discusses where the Web architecture together with existing or future communication protocols and data standards can be used to materialise a <q>socially-aware decentralized access control of reading and of writing to linked data, and of notification of changes.</q> The overarching goal is to enable people and software to co-create information, and as well as to interact with information using social applications. This is all meanwhile technically and legally enabling participants to retain their autonomy, identity and storage, access and rights over their contributions. In order to achieve this, one of the goals is to make an infrastructure where data and applications are decoupled by design. That is, an ability to work with Linked Data without constraints on which applications can be used, as long as they follow consensus-based open protocols and data models. At the core of this initiative is where users, groups, and applications use global identifiers (URIs), and access control is applied using policies assigned to those identifiers. This also leads to the commodification of read-write data storage; the storage location on the Web can be decided by its owners and contributors, and it remains independent from the applications interacting with it.</p> <hr/> <p id='linked-data-platform'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldp/" data-versionurl='https://web.archive.org/web/20190709212231/https://www.w3.org/TR/ldp/' data-versiondate='2019-07-09T21:22:31Z'>Linked Data Platform</a></cite> (<abbr title='Linked Data Platform'>LDP</abbr>) specifies a <q>RESTful</q> read-write protocol and vocabulary for Web resources. LDP has distinct notions for <q>resource</q> and <q>container</q>; where the container construct can group and manage resources. LDP uses the RDF data model to describe the state of RDF and non-RDF resources. <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldp-ucr/" data-versionurl='https://web.archive.org/web/20190709212233/https://www.w3.org/TR/ldp-ucr/' data-versiondate='2019-07-09T21:22:33Z'>Linked Data Platform Use Cases and Requirements</a></cite> outlines a wide-range of user stories, use cases, scenarios, and requirements which was used as the bases for the LDP specification. LDP can be used to mimic a file system abstraction interacting with Web resources over HTTP. The <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldp-paging/" data-versionurl='https://web.archive.org/web/20190709212233/https://www.w3.org/TR/ldp-paging/' data-versiondate='2019-07-09T21:22:33Z'>LDP Paging</a></cite> mechanism can be used by clients and servers to efficiently request and serve a resource description, eg. resources in a container, in multiple parts. All LDP servers and clients can interact with each other using the same HTTP interface in context of Linked Data operations. An LDP server can facilitate researchers to register and store their resources, as well as share their content by applying different access controls.</p> <p id='hydra-core-vocabulary'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.hydra-cg.com/spec/latest/core/" data-versionurl='https://web.archive.org/web/20190709212233/http://www.hydra-cg.com/spec/latest/core/' data-versiondate='2019-07-09T21:22:33Z'>Hydra</a></cite> is a vocabulary to enable the creation of hypermedia-driven Web APIs by enabling a server to advertise affordances of its resources – machine-readable valid state transitions – to a client. A client uses this information to construct HTTP requests in order to perform possible read-write operations. Hydra enables generic client applications to be built without hardcoding knowledge about the available operations against Web APIs. With Hydra, applications can automate some of their tasks and only request researchers’ engagement when need to.</p> <p id='linked-data-fragments'><cite><a rel='cito:citesAsAuthority' href="http://linkeddatafragments.org/" data-versionurl='https://web.archive.org/web/20190709212234/http://linkeddatafragments.org/' data-versiondate='2019-07-09T21:22:34Z'>Linked Data Fragments</a></cite> (<abbr title='Linked Data Fragments'>LDF</abbr>) is the concept of having a uniform view on Linked Data interfaces that can be used towards reliable Web querying. To that end, a client asks a server about the kinds of Linked Data fragments that are available and then dynamically adapts its query plan for the server to execute. A Linked Data fragment is defined by three characteristics: data (what triples does it contain?), metadata (what do we know abut it?), controls (how to access more data?). LDF-based interactions can help researchers to inspect available scientific data through their distinct characteristics.</p> <p id='triple-pattern-fragments'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.hydra-cg.com/spec/latest/triple-pattern-fragments/" data-versionurl='https://web.archive.org/web/20190709212234/http://www.hydra-cg.com/spec/latest/triple-pattern-fragments/' data-versiondate='2019-07-09T21:22:34Z'>Triple Pattern Fragments</a></cite> (<abbr title='Triple Pattern Fragments'>TPF</abbr>) is one possible way for a server to define a Linked Data fragment that enable live querying over the dataset on the client-side. TPF’s hypermedia controls are expressed using the Hydra vocabulary.</p> <p id='linked-data-templates'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://atomgraph.github.io/Linked-Data-Templates/" data-versionurl='https://web.archive.org/web/20190709212234/https://atomgraph.github.io/Linked-Data-Templates/' data-versiondate='2019-07-09T21:22:34Z'>Linked Data Templates</a></cite> (<abbr title='Linked Data Templates'>LDT</abbr>) provides the means to define read-write Linked Data APIs declaratively using SPARQL and specify a uniform interaction protocol for them. An LDT based server applies re-usable RDF ontologies to define application structure declaratively as a set of instructions for resource representation processing. To this end, templating is where an HTTP operation is mapped to a certain URI pattern that a server executes a SPARQL command in order to drive RDF processing. When a client triggers a particular request pattern, the server gives a suitable response based on available templates that are identified with URIs. LDT allows arbitrary academic and research applications to be built while exposing a uniform API that can be used in decentralised environments.</p> <p id='rdf-post'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.lsrn.org/semweb/rdfpost.html" data-versionurl='https://web.archive.org/web/20181211205829/http://www.lsrn.org/semweb/rdfpost.html' data-versiondate='2018-12-11T20:58:29Z'>RDF/POST Encoding for RDF</a></cite> uses the W3C HTML 4.01 Recommendation to specify read-write operations of RDF data through form-encoded RDF serialisation. Read operations are done by having an RDF/POST document encoded in HTTP GET URL, and write operations are sent via HTTP POST with form-urlencoded media type. Operations similar to LDP and LDT can be achieved with RDF/POST.</p> <p id='fedora-api'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://fcrepo.github.io/fcrepo-specification/" data-versionurl='https://web.archive.org/web/20190709212234/https://fcrepo.github.io/fcrepo-specification/' data-versiondate='2019-07-09T21:22:34Z'>Fedora API Specification</a></cite> refines the semantics and interaction patterns of the LDP specification in order to address the needs of repositories for durable access to digital data. Its goal is to facilitate interoperability with client applications. While the interactions patterns provides a mechanism for different client applications to communicate with servers, servers can be expected to vary in the kinds of services and affordances they offer for their resources. Fedora uses LDP as a foundation and defines the version identification and navigation scheme with respect to the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#memento">Memento specification</a></cite>, integrates resource authorization and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#acl">Access Control List</a></cite> rules (both described below), provides a design for the publication of event notifications, and interaction patterns to support binary resource fixity verification. The Fedora API can fulfill the registration, awareness and archiving functions, while enabling different actors to cooperate across instances on each others resources through independently built applications.</p> <p id='memento'><cite><a rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc7089" data-versionurl='https://web.archive.org/web/20190709111128/https://tools.ietf.org/html/rfc7089' data-versiondate='2019-07-09T11:11:28Z'>HTTP Framework for Time-Based Access to Resource States -- Memento</a></cite> (<abbr title='HTTP Framework for Time-Based Access to Resource States -- Memento'>RFC 7089</abbr>): introduces a uniform, datetime-based, version access capability that integrates present and past Web resources. As representations of resources change over time, there is a need to preserve (archive and version) earlier representations. One common resource versioning pattern on the Web consists of generic URIs referring to the latest version of an accessible resource, as well as having a dedicated version URI for each resource. The Memento framework facilitates the discovery and retrieval of distributed versioned resources with datetime negotiation, a variant of content-negotiation; and TimeMaps an index of URIs referring to the prior states of a resource. The framework also helps to recognise frozen states of resources – a promise that the resource state has not and will not change. The Memento protocol can assist scientific applications to discover and reveal the variations of scholarly artifacts.</p> <p id='web-annotation'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/annotation/" data-versionurl='https://web.archive.org/web/20190709212235/https://www.w3.org/annotation/' data-versiondate='2019-07-09T21:22:35Z'>Web Annotation</a></cite> (<abbr title='Web Annotation'>WA</abbr>) is set of specifications for an interoperable, sharable, distributed Web Annotation architecture. The annotations convey information about a resource or associations between resources to meet different motivations and purposes, eg. assessing, replying, describing, bookmarking, as well as <q cite='https://www.w3.org/TR/annotation-model/#abstract'>linking arbitrary content to a particular data point or to segments of timed multimedia resources</q>. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.w3.org/TR/annotation-protocol/" data-versionurl='https://web.archive.org/web/20190709212235/http://www.w3.org/TR/annotation-protocol/' data-versiondate='2019-07-09T21:22:35Z'>Web Annotation Protocol</a></cite> (<abbr title='Web Annotation Protocol'>WAP</abbr>) is the HTTP API for publishing, syndicating, and distributing Web Annotations. Much of the protocol is based on using and extending LDP and REST best practices. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.w3.org/TR/annotation-model/" data-versionurl='https://web.archive.org/web/20190709212236/http://www.w3.org/TR/annotation-model/' data-versiondate='2019-07-09T21:22:36Z'>Web Annotation Data Model</a></cite> describes the underlying annotation <em>abstract</em> data model as well as a JSON-LD serialization. The WAP uses an LDP container to manage annotations with some constraints derived from the WA Model. Scholars can use servers and applications that support Web Annotation in order to annotate scholarly literature to meet the certification function.</p> <p id='activity-streams'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/activitystreams-core/" data-versionurl='https://web.archive.org/web/20190709212236/https://www.w3.org/TR/activitystreams-core/' data-versiondate='2019-07-09T21:22:36Z'>Activity Streams 2.0</a></cite> (<abbr title='Activity Streams 2.0'>AS2</abbr>) detail a model for representing potential and completed activities with the intention of using specific types of activity vocabularies defined elsewhere. The <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/activitystreams-vocabulary/" data-versionurl='https://web.archive.org/web/20190709212205/https://www.w3.org/TR/activitystreams-vocabulary/' data-versiondate='2019-07-09T21:22:05Z'>Activity Vocabulary</a></cite> provides a foundational vocabulary to describe past, present, and future activities eg. announcing, creating, following, offering, and about objects eg. actors, media. Various academic and research activities can be recorded and brought to the attention of actors to determine their applicability and allow management of scholarly knowledge.</p> <p id='w3c-ldn'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/" data-versionurl='https://web.archive.org/web/20190709211912/https://www.w3.org/TR/ldn/' data-versiondate='2019-07-09T21:19:12Z'>Linked Data Notifications</a></cite> (<abbr title='Linked Data Notifications'>LDN</abbr>) is a resource-centric communication protocol for applications to generate notifications about activities, interactions, and new information, which may be presented to the user or processed further. It allows any resource (target) to advertise a receiving endpoint (inbox) for the messages anywhere on the Web. The server (receiver) hosting the inbox can have messages pushed to them by applications (sender), as well as how other applications (consumer) may retrieve those messages. Each notification in an inbox is an identifiable and reusable unit (URI), and can contain any data using any vocabulary. LDN can be combined with Web Annotation and Activity Streams to support applications to deliver and consume notifications about research and scholarly activities. I will revisit <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-notifications">LDN</a></cite> and discuss its role in research communication where it supports the accessibility, content forces, and how it can perform the registration and awareness functions.</p> <p id='activitypub'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/activitypub/" data-versionurl='https://web.archive.org/web/20190709212236/https://www.w3.org/TR/activitypub/' data-versiondate='2019-07-09T21:22:36Z'>ActivityPub</a></cite> (<abbr title='ActivityPub'>AP</abbr>) is a decentralised social networking protocol based upon the Activity Streams 2.0 data format. It provides a client to server API, as well as a federated server to server API for delivering notifications and content. User accounts on servers have an inbox (to receive messages from the world), and an outbox (to send messages to others). AP’s inbox property is the same as LDN’s, and the targeting and delivery mechanism can be interoperably combined. AP can facilitate distributed scholarly interactions by allowing actors to disseminate their operations on their own, as well as others’ data. It serves to fulfill various social scholarly Web functions.</p> <p id='read-write-linked-data-design-pattern'>The design pattern for these read-write Linked Data centric protocols and architectures can be categorised as follows:</p> <ul> <li>The ability to perform HTTP interactions against Web resources.</li> <li>Decoupling software from domain or application-specific operations and data.</li> <li>Descriptive, extensible, and interconnected units of information.</li> <li>Declarative and machine-readable affordances for valid read-write operations.</li> </ul> </div> </section> <section resource='#universal-identity-for-the-web' rel='schema:hasPart' inlist='' id='universal-identity-for-the-web'> <h3 property='schema:name'>Universal Identity for the Web</h3> <div property='schema:description' datatype='rdf:HTML'> <p>One of the functions of an online identity is to a identify a persisting entity at a particular time and context. The construction of an online identity of an entity eg. individual, organisation, community, state, can be complex in that it is interconnected with social and technical systems, and it can be issued – declared to exist, named, or be referenceable – in different ways. Entities being universally and uniquely identifiable on or off the Web entails that they can be attributed for their contributions, develop their reputations, be accountable for their actions and research output, as well as play an integral role towards building trust. An actor is an indispensable force in research communication, and enabling identity agency is both relevant and foundational.</p> <p id='social-personal-data-stores'>In <cite><a title='https://doi.org/10.1145/2740908.2743975' rel='cito:usesConclusionsFrom' href="https://www.research.ed.ac.uk/portal/files/20028374/vanKleek_et_al_2015_Social_Personal_Data_Stores.pdf" data-versionurl='https://web.archive.org/web/20190710075347/https://www.research.ed.ac.uk/portal/files/20028374/vanKleek_et_al_2015_Social_Personal_Data_Stores.pdf' data-versiondate='2019-07-10T07:53:47Z'>Social Personal Data Stores: the Nuclei of Decentralised Social Machines</a></cite>, Van Kleek, 2015, considers decentralised social applications from the user’s perspective based on the shortcomings and dangers of <span xml:lang='la' title='Latin phrase refering to what happens in practice, in contast to law' lang='la'>de facto</span> practices where user data and interactions being controlled by centralised service providers. The work states that existing personal data stores for the most part do not <q>account for the need for multiple identities, effective separation of roles and anonymity, and to prevent unwanted tracking and clickstream profiling</q>, and that future work should integrate people’s need for privacy, creation, management, and switching of separate identities, pseudonyms, personas in order to be used in different contexts, eg. personal, professional.</p> <p id='the-presentation-of-self-on-a-decentralised-web'>In <cite><a rel='cito:usesConclusionsFrom' href="https://dr.amy.gy/" data-versionurl='https://web.archive.org/web/20190709212237/https://dr.amy.gy/' data-versiondate='2019-07-09T21:22:37Z'>The Presentation of Self on a Decentralised Web</a></cite>, Guy, 2017, the <q cite='https://dr.amy.gy/chapter3#what-is-a-profile'>What is a profile?</q> study describes <q resource='https://dr.amy.gy/chapter3#what-is-a-profile' rel='cito:includesQuotationFrom' cite='https://dr.amy.gy/chapter3#what-is-a-profile'>affordances of systems which integrate online profiles in a social capacity and raises five features of systems with regards to their representations of users: flexibility, access control, prominence, portability, representation.</q> Furthermore, Guy posits that <q resource='https://dr.amy.gy/chapter3#ccccc' rel='cito:includesQuotationFrom' cite='https://dr.amy.gy/chapter3#ccccc'>online self-presentation is both constituted and affected by <em>who</em> sees a representation of an individual, and <em>what</em> it is they see, both of which are encompassed by the situation <em>whereby</em> it is seen</q>. The results of the studies are summarised as a conceptual framework as the <q id='ccccc'>5Cs</q> for online profiles and self presentation: <q>context, control, customisability, connectivity, cascade</q>.</p> <p id='third-party-controlled-identity'><strong>Third-party controlled identity</strong>: Community or state controlled identifiers for identities are a class of identifiers that are ultimately third-party controlled in that their ownership, governance, description is beyond an individual’s jurisdiction. The creation and control of identifiers by a group has the quality of long-term promise for persistence. Typically there are policies in place which promise their longevity, and procedures in the event that the group ceases to manage the identifiers. For example, ORCID URIs are intended to be part of the scholarly commons where they managed by the <cite><a rel='cito:discusses' href="https://orcid.org/about/community" data-versionurl='https://web.archive.org/web/20190729124641/https://orcid.org/about/community' data-versiondate='2019-07-29T12:46:41Z'>ORCID community</a></cite>. The ORCID URI and profile description is useful to researchers, organisations, as well as to interlink researcher objects, however it is ultimately intended to serve the research community, and the systems that use it. One unintended consequence of this kind of centralisation in scholarly communication is that a growing number of institutions and publishers require researchers to participate with their ORCID identifiers, as opposed to any URI of a researcher. The resulting effects of <cite><a rel='cito:discusses' href="https://orcid.org/content/requiring-orcid-publication-workflows-open-letter" data-versionurl='https://web.archive.org/web/20190729124642/https://orcid.org/content/requiring-orcid-publication-workflows-open-letter' data-versiondate='2019-07-29T12:46:42Z'>such initiatives</a></cite> are counter to autonomous participation in that a researcher has to conform to the terms and policies of multiple third-parties. On the other hand, the administration of the URI by the ORCID organisation removes the burden of maintaining the URI as well as the profile URL. In this case, a "trusted" third-party takes care of the identifier, whereas researchers are responsible of updating the content.</p> <p id='researcher-identifier-academic-freedom'>While some scholarly societies adopt identifiers like ORCID given their agreed potential benefits, it can also be harmful in the case of tracking researchers; where they work, who they work for or collaborate with, what they work on. Such ease of identification opens up the possibility to target and surveil researchers, as well as to discriminate or exile them if their findings act counter to others’ interests. <cite><a rel='cito:includesQuotationFrom' href="http://mailman.ecs.soton.ac.uk/pipermail/goal/2017-March/004432.html" data-versionurl='https://web.archive.org/web/20190504211839/http://mailman.ecs.soton.ac.uk/pipermail/goal/2017-March/004432.html' data-versiondate='2019-05-04T21:18:39Z'>[GOAL] eLife collects ORCIDs from authors of accepted papers at proofing</a></cite>, Morrison, 2017, argues that <q cite='http://mailman.ecs.soton.ac.uk/pipermail/goal/2017-March/004432.html'>it is not clear that facilitating researcher identification is in the best interests of academic freedom … participation in a service like ORCID should be optional</q>. <cite><a rel='cito:citesAsEvidence' href="https://www.codyh.com/writing/tracking.html" data-versionurl='https://web.archive.org/web/20190409203140/https://www.codyh.com/writing/tracking.html' data-versiondate='2019-04-09T20:31:40Z'>User Tracking on Academic Publisher Platforms</a></cite>, Hanson, 2019, studied 15 different publisher sites and found that on average, each had 18 third-party assets loaded, with a total of 139 distinct third-parties across the platforms. The loaded JavaScript and cookies tracked user behaviour, interests, and research when combined with user identity information or fragmentary identity. The collected user data is shared with ad networks and data brokers. Unauthorised third-party tracking of users online activities is particularly concerning even in the case of <em>public sector</em> websites, which are expected to be more privacy respecting than "ordinary" websites (as per <abbr title='General Data Protection Regulation'>GDPR</abbr> in the EU). For example, <cite><a rel='cito:citesAsEvidence' href="https://www.cookiebot.com/media/1121/cookiebot-report-2019-medium-size.pdf" data-versionurl='https://web.archive.org/web/20190318102156/https://www.cookiebot.com/media/1121/cookiebot-report-2019-medium-size.pdf' data-versiondate='2019-03-18T10:21:56Z'>Ad Tech Surveillance on the Public Sector Web</a></cite>, Cookiebot, 2019, reports that advertising technology (ad tech) companies are extensively tracking EU citizens using government and public health service websites – <q cite='https://www.cookiebot.com/media/1121/cookiebot-report-2019-medium-size.pdf'>a total of 112 companies were identified using trackers that send data to a total of 131 third party tracking domains</q>. Thus, behavioural data combined with third-party identifiers in any shape or form (including syncing across services) is in breach of individual’s privacy in many jurisdictions.</p> <p id='self-controlled-identity'><strong>Self-controlled identity</strong>: The concept of a personal self-sovereign identity entails that entities can register, describe, and manage their own identities of their choice. Controlling our online identities is important because it reflects our individuality and privacy. When identities are verifiable, we can also distinctly identify applications and their (human or machine) users, as well as switch between them depending on the context of use.</p> <p id='identity-http-uri'>Different types of strings, eg. a username, an email address, an RSA public key, a URI, can be used to directly or indirectly identify agents. While each can be useful within their own context, Web-based identifiers (HTTP URI) make it possible to provide machine-readable descriptions when dereferenced, descriptions being extensible by their owners, as well as being interoperable global identifiers that can be interlinked unambiguously with other things.</p> <p id='identity-privacy-spectrum'>A server can collect information about a client based on its device, machine, or browser fingerprint, even if the user did not directly disclose information about themselves. On the other hand, global identifiers like government-issued identifiers, credit card numbers, and full names, can be used to determine, track, and correlate an entity.</p> <p id='future-of-social-networking'>The <cite><a rel='cito:usesConclusionsFrom' href="https://www.w3.org/2008/09/msnws/report.html" data-versionurl='https://web.archive.org/web/20190113202452/https://www.w3.org/2008/09/msnws/report.html' data-versiondate='2019-01-13T20:24:52Z'>W3C Workshop on the Future of Social Networking Report</a></cite>, 2009, concluded that distributed social networking is a possibility on the Web, given available data interoperability technologies, as well as further support of open source implementation of decentralised architectures. At the crux of the initiatives was to: foster preservation of privacy best practices for users; and their ability to trust claims; deepening user contexts and roles in social networking; enabling protocols for exchanging goods and services within communities, and; creating adapted user experienced with improved accessibility and mobility by closing the gap between implementations of social networks and device capabilities.</p> <p id='foaf+ssl'>One of the conclusions of the workshop was that many of the existing technologies needed to create decentralised social networks already existed, eg. FOAF, OpenID, XMPP. <a title='FOAF &amp; SSL: creating a global decentralised authentication protocol' href="https://www.w3.org/2008/09/msnws/papers/foaf+ssl.html">One of contributions to the workshop</a> was presented by <a href="https://bblfish.net/people/henry/card#me">Henry Story</a> based on the original proposal for <cite><a rel='cito:obtainsBackgroundFrom' href="http://blogs.sun.com:80/bblfish/entry/foaf_ssl_creating_a_global" data-versionurl='https://web.archive.org/web/20080426014047/http://blogs.sun.com:80/bblfish/entry/foaf_ssl_creating_a_global' data-versiondate='2008-04-26T01:40:47Z'>FOAF+SSL</a></cite> (combining <cite><a rel='cito:obtainsBackgroundFrom' href="http://blogs.sun.com:80/bblfish/entry/rdfauth_sketch_of_a_buzzword" data-versionurl='https://web.archive.org/web/20080426142811/http://blogs.sun.com:80/bblfish/entry/rdfauth_sketch_of_a_buzzword' data-versiondate='2008-04-26T14:28:11Z'>RDFAuth</a></cite> by Henry Story and <cite><a rel='cito:obtainsBackgroundFrom' href="https://lists.w3.org/Archives/Public/semantic-web/2008Mar/0207.html" data-versionurl='https://web.archive.org/web/20190709212237/https://lists.w3.org/Archives/Public/semantic-web/2008Mar/0207.html' data-versiondate='2019-07-09T21:22:37Z'>sketch of a simple authentication protocol</a></cite> by Toby Inkster in 2008) for the notion of using Semantic Web vocabularies such as <abbr title='Friend of a Friend'>FOAF</abbr> with SSL certificate exchange mechanism permits distributed and interlinked social networks to exist. The protocol was later posited in <cite><a rel='cito:obtainsBackgroundFrom' href="http://dig.csail.mit.edu/2009/Papers/SPOT/foaf-ssl-spot2009.pdf" data-versionurl='https://web.archive.org/web/20190710075348/http://dig.csail.mit.edu/2009/Papers/SPOT/foaf-ssl-spot2009.pdf' data-versiondate='2019-07-10T07:53:48Z'>FOAF+SSL: RESTful Authentication for the Social Web</a></cite>. Its goal was set to protecting and controlling access to personal information distributed on the Web where identification and privacy is at its centre. The work on WebID and related extensions described below builds on this work.</p> <p id='webid-specs'>In order to enable people, group and software to act as autonomous agents that can cooperate on the Web, we need methods for distributed and decentralised identity, secure authentication, and access control. The collection of <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/2005/Incubator/webid/spec/" data-versionurl='https://web.archive.org/web/20190709212237/https://www.w3.org/2005/Incubator/webid/spec/' data-versiondate='2019-07-09T21:22:37Z'>WebID</a></cite> specifications outlines the approaches to meet those needs.</p> <p id='webid'><cite class='highlight-webid'><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/2005/Incubator/webid/spec/identity" data-versionurl='https://web.archive.org/web/20190709212239/https://www.w3.org/2005/Incubator/webid/spec/identity/' data-versiondate='2019-07-09T21:22:39Z'>Web Identity and Discovery</a></cite> (<abbr title='Web Identity and Discovery'>WebID</abbr>) is a specification that outlines a distributed and extensible universal identification mechanism on the Web. A WebID is an HTTP URI denoting an agent, for example a person, organisation, or software. It can be used towards the declaration of an agent’s existence; discovery, describing or reference; authentication; and authorization. WebID is distributed and decentralised in that any agent can be <em>named</em> anywhere on the Web, and the server hosting the URI space controls the identity. It is extensible in that it can be used in conjunction with secure authentication and access control mechanism, as well as having dereferenceable machine-readable descriptions which are themselves extensible. WebID can improve privacy, security, and control be in the hands of users. WebID fulfils registration of identities of academics and researchers, helps them to be associated with scholarly artifacts they interact with eg. authoring an article, having access to an annotation.</p> <p id='webid-profile'><cite class='highlight-webid-profile'><a rel='cito:citesAsAuthority' href="https://www.w3.org/2005/Incubator/webid/spec/identity/#dfn-webid_profile" data-versionurl='https://web.archive.org/web/20190709212239/https://www.w3.org/2005/Incubator/webid/spec/identity/' data-versiondate='2019-07-09T21:22:39Z'>WebID Profile</a></cite> is an RDF document which uniquely describes an agents denoted by a WebID. The profile description is a way for researchers to <em>extend</em> the information about themselves; specify their preferences for applications, the location of their storage, and scholarly artifacts; how they can be contacted; their associations with other researchers, as well as other identities, and so forth. It serves to make identity claims which can be coupled with verification systems.</p> <p>I have authority of the domain name <code class='highlight-webid-authority'>csarven.ca</code> where I publish my <cite>WebID Profile</cite> document <a href="https://csarven.ca/" class='highlight-webid-profile'>https://csarven.ca/</a> describing my <cite>WebID</cite> <samp class='highlight-webid'>https://csarven.ca/#i</samp> referring to me (in real life).</p> <figure resource='#example-webid-profile' rel='schema:hasPart' id='example-webid-profile' class='listing'> <p class='hierarchical-outline'><a title='WebID' href="https://csarven.ca/#i" class='highlight-webid'><span title='WebID Profile' class='highlight-webid-profile'>https://<span class='highlight-webid-authority'>csarven.ca</span>/</span>#i</a></p> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='#example-webid-profile'><code>&lt;<span class='highlight-webid-profile'>https://csarven.ca/</span>&gt;</code><code> a foaf:PersonalProfileDocument ;</code><code> foaf:primaryTopic &lt;https://csarven.ca/#i&gt; .</code><code></code><code>&lt;<span class='highlight-webid'>https://csarven.ca/#i</span>&gt;</code><code> a foaf:Person ;</code><code> foaf:name "Sarven Capadisli"@en ;</code><code> foaf:mbox &lt;mailto:info@csarven.ca&gt; ;</code><code> foaf:img &lt;https://csarven.ca/media/images/sarven-capadisli.jpg&gt; ;</code><code> foaf:interest &lt;https://en.wikipedia.org/wiki/Media_theory&gt; ;</code><code> cert:key &lt;https://csarven.ca/#key-e785&gt; ;</code><code> foaf:account &lt;irc://irc.freenode.net/csarven,isnick&gt; ;</code><code> foaf:knows &lt;https://www.w3.org/People/Berners-Lee/card#i&gt; ;</code><code> pim:storage &lt;https://csarven.ca/&gt; ;</code><code> ldp:inbox &lt;https://csarven.ca/inbox/&gt; ;</code><code> as:outbox &lt;https://csarven.ca/outbox/&gt; ;</code><code> foaf:made &lt;https://dokie.li/&gt; ;</code><code> rdfs:seeAlso &lt;https://csarven.ca/cv&gt; .</code></pre> <figcaption property='schema:name'>A WebID Profile describing a WebID.</figcaption> </figure> <p id='multiple-identities'><strong>Multiple identities</strong>: Individuals may want to be associated with multiple identities to fulfill diverse needs and social expectations. For instance, academics, politicians, employees, and artists, to name a few, may want to perform their online activities using public identifiers, so that they can be discovered, attributed, rewarded, trusted etc. There can also be quasi-public identities issued by a government or a bank to connect individuals to the physical world. Furthermore, individuals may wish to have several personal – public or private – identities and self representations, eg. on social networks, to address different needs. At any event, identities and corresponding identifiers can be registered and managed by different entities, and may be interlinked.</p> <p id='orcid-sameas-webid'>For instance, while ORCID profile description has constraints, it allows extensibility in the form of asserting a "same as" relation through its UI, so that the ORCID URI can be linked to other WebIDs. This essentially makes a connection to another <cite><a href="https://csarven.ca/linked-research-decentralised-web/#self-describing">self-describing document</a></cite> and facilitates <cite><a href="https://csarven.ca/linked-research-decentralised-web/#follow-your-nose">follow your nose</a></cite> discovery. My personal WebID which is under my control is <a href="https://csarven.ca/#i">https://csarven.ca/#i</a>. I also have an ORCID identifier that also serves as a WebID: <a href="https://orcid.org/0000-0002-0880-9125">https://orcid.org/0000-0002-0880-9125</a> which also has an RDF representation. As ORCID’s user interface allows people to extend their descriptions with certain fields, it is possible to add <em>same as</em> or <em>preferred URI</em> relations:</p> <figure resource='#example-orcid-sameas-webid' rel='schema:hasPart' id='example-orcid-sameas-webid' class='listing'> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='#example-orcid-sameas-webid'><code>&lt;https://orcid.org/0000-0002-0880-9125&gt; ;</code><code> <span class='highlight-predicate-sameas'>owl:sameAs</span> &lt;https://csarven.ca/#i&gt; ;</code><code> contact:preferredURI "https://csarven.ca/#i" .</code></pre> <figcaption property='schema:name'>WebID with same as and preferred URI relations.</figcaption> </figure> <p id='linking-identities'>The <code class='highlight-predicate-sameas'>owl:sameAs</code> and <code>contact:preferredURI</code> information provides an opportunity for applications consuming the ORCID WebID to potentially discover more information about other entities. This is particularly useful as the ORCID WebID Profile is not completely open to add arbitrary information. For example, specifying a person’s picture or their contacts is not currently possible with ORCID, however, if the alternative profiles (https://csarven.ca/#i) contain such information, they can be purposed to know more about the entity.</p> <p id='social-graph'><strong>Social Graph</strong>: Identity profiles can further describe their relationships to other identities and hence form a network of self-described profiles. This is useful in that relationships between profiles of people, groups, organisations, and even software agents can manifest an information space that at its core has social affordances. That is, different kinds of relationships between entities can be expressed for different use cases, where each identity is independently controlled by its owners. For example:</p> <ul> <li>identifying a layer of trusted (or acknowledged) network of people</li> <li>sending notifications to the members of one’s personal social graph</li> <li>discovering annotations made by a particular social graph</li> </ul> <p>Both the entities (nodes) and the relations (edges) of a social graph may have public and private parts. An example of a social graph where someone knows someone that knows someone, is as follows:</p> <figure resource='#example-person-knows' rel='schema:hasPart' id='example-person-knows' class='listing'> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='#example-person-knows'><code>&lt;https://www.w3.org/People/Berners-Lee/card#i&gt;</code><code> foaf:knows &lt;https://csarven.ca/#i&gt; .</code><code></code><code>&lt;https://csarven.ca/#i&gt;</code><code> foaf:knows &lt;https://bblfish.net/people/henry/card#me&gt; .</code></pre> <figcaption property='schema:name'>Tim knows Sarven, and Sarven knows Henry.</figcaption> </figure> </div> </section> <section resource='#authentication-and-authorization' rel='schema:hasPart' inlist='' id='authentication-and-authorization'> <h3 property='schema:name'>Authentication and Authorization</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='trust'>Trust is ultimately tied to verifiable claims about identity and their provenance. While the creation and protection of third-party controlled online identities have received much focus, claiming and using personal identities online is still a challenge. Today’s Web applications predominantly make use of online identities that are essentially tied to and controlled by authorities in which users are merely borrowing an identifier and its management. It is a common practice to where users are required to create accounts at each online service they wish to use, eg. social media sites. Moreover, the trust model of such design dictates claims and usage of online identities is not ultimately in the hands of the users, and can be taken away from the users by the owners of the URIs and service at any time and reason. Even in cases where third-party issues identities can be used across different services, it is subject to a privacy violation as the identity provider essentially gets to know which services the user’s online identity is used with and for what purpose. Consequently such services can gradually build up information about users’ actions as well as behavioural patterns on the Web. Lastly, portability and interoperability of the identities is generally under developed as there is no particular incentive for an identity provider to make it so – after all, providing “free” services for online identities, and then locking identities to well-defined circle of services is taken advantage of by large corporations given their business models. Perhaps most importantly, such online services (as well as applications) do not recognise the identity of users as a distinct notion from the applications and services they use towards authentication.</p> <p id='authentication-mechanisms'>While there are different authentication mechanisms, here I limit our coverage based on open standards and decoupling of identity, authentication and authorization process, as well as the resource server that the accounts are available from. Hence I categorically omit service-based authentication workflows which are known to require an account name and password, as well as for instance <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc7617" data-versionurl='https://web.archive.org/web/20190709212240/https://tools.ietf.org/html/rfc7617' data-versiondate='2019-07-09T21:22:40Z'>The 'Basic' HTTP Authentication Scheme</a></cite> (<abbr title='The &quot;Basic&quot; HTTP Authentication Scheme'>RFC 7617</abbr>).</p> <p id='web-of-trust'><cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Web_of_trust" data-versionurl='https://web.archive.org/web/20190709212239/https://en.wikipedia.org/wiki/Web_of_trust' data-versiondate='2019-07-09T21:22:39Z'>Web of Trust</a></cite> (<abbr title='Web of Trust'>WoT</abbr>) is a concept for a decentralised trust model used in systems like <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy" data-versionurl='https://web.archive.org/web/20190709212240/https://en.wikipedia.org/wiki/Pretty_Good_Privacy' data-versiondate='2019-07-09T21:22:40Z'>Pretty Good Privacy</a></cite> (<abbr title='Pretty Good Privacy'>PGP</abbr>) to establish the authenticity of the binding between a public key and its owner. A public key cryptographic system uses a pair of keys: public keys (disseminated openly) and private keys (withheld by the owner). It has two main functions: authentication and encryption. For authentication, public key verifies that a holder of the paired private key sent the message. In the case of encryption, for example, when Guinan wants to send Picard a message, Guinan takes Picard’s public key to encrypt a message where only Picard can decrypt the message with his private key. WoT essentially leaves trust decisions to the users, as opposed to a centralised authority. Thus, WoT uses self-signed certificates and third-party attestation of those certificates, eg. at <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Key_signing_party" data-versionurl='https://web.archive.org/web/20190729124642/https://en.wikipedia.org/wiki/Key_signing_party' data-versiondate='2019-07-29T12:46:42Z'>key signing parties</a></cite>. Self-signing certificates removes the dependency on hierarchical certificate authorities to assert identity.</p> <p id='x509'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.itu.int/rec/T-REC-X.509/en" data-versionurl='https://web.archive.org/web/20190709212243/https://www.itu.int/rec/T-REC-X.509/en' data-versiondate='2019-07-09T21:22:43Z'>X.509</a></cite> is a standard for public key certificates that specifies a structure for a digital certificate, including a public key associated with one or more identities, as well as extensions for new information. X.509 essentially serves as a identity card that can be used to store identity claims. X.509 certificates can be used to authenticate both servers and clients. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc2818" data-versionurl='https://web.archive.org/web/20190709212242/https://tools.ietf.org/html/rfc2818' data-versiondate='2019-07-09T21:22:42Z'>HTTP over TLS</a></cite> (<abbr title='HTTP over TLS'>RFC 2818</abbr>) – an extension of HTTP for secure communication (<abbr title='Hypertext Transfer Protocol Secure'>HTTPS</abbr>) – uses the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc5280" data-versionurl='https://web.archive.org/web/20190709212242/https://tools.ietf.org/html/rfc5280' data-versiondate='2019-07-09T21:22:42Z'>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite> (<abbr title='Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile'>RFC 5280</abbr>). All combined, HTTPS ensures privacy, integrity, and identification.</p> <p id='tls'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc5246" data-versionurl='https://web.archive.org/web/20190709212242/https://tools.ietf.org/html/rfc5246' data-versiondate='2019-07-09T21:22:42Z'>The Transport Layer Security Protocol Version 1.2</a></cite> (<abbr title='The Transport Layer Security Protocol Version 1.2'>RFC 5246</abbr>) is a cryptographic protocol aimed at providing secure connections between applications. When applications eg. a server and a client (Web browser), communicate using the <abbr title='Transport Layer Security'>TLS</abbr> protocol, it is private (secure) in that data is encrypted, identity of either party can be authenticated using public key cryptography (like PGP), and integrity of the exchanged data can be assured during transit.</p> <p id='webid-tls'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/2005/Incubator/webid/spec/tls" data-versionurl='https://web.archive.org/web/20190709212243/https://www.w3.org/2005/Incubator/webid/spec/tls/' data-versiondate='2019-07-09T21:22:43Z'>WebID-TLS</a></cite> defines how a server can authenticate a user with a client application holding the user’s public key certificate, and serves towards identity claim verification. As the extension mechanism in X.509 allows additional statements to be specified under the <code>Subject Alternative Name</code> (<abbr title='Subject Alternative Name'>SAN</abbr>) field, it is used to declare the user’s WebID for the <code>URI</code> field. When a client application running on the Web browser requests a resource from the server, the TLS connection gets established between them. Once TLS has been set up, the HTTP application protocol exchange takes place (eg. <code>HTTP GET</code>, <code>HTTP POST</code>). If the requested resource requires WebID authentication the server can request the client to authenticate itself. When the Web browser encounters this certificate request, it may prompt its user to choose a certificate (from its certificate manager) – thereby signing a token with its private key – to let the client send it to the server. The verification agent extracts the public key as well as the WebID from the certificate. As the WebID enables a global dereferencing mechanism for finding a key, the server uses can decide on dereferencing the WebID Profile and verify the claims about the WebID. Once the identity verification is established, the server can look up its access control rules for the requested resource to determine if and how the request can be fulfilled. Researchers can use servers and applications implementing the WebID-TLS workflow towards securely identifying profile claims and to have access to resources may be otherwise protected.</p> <p id='cert-public-key'><cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/ns/auth/cert" data-versionurl='https://web.archive.org/web/20190709212209/https://www.w3.org/ns/auth/cert' data-versiondate='2019-07-09T21:22:09Z'>The Cert Ontology 1.0</a></cite> can be used in WebID Profile documents to specify an agent’s certificate information. For example, an agent can indicate their public and private keys. The fields and corresponding values of <code class='highlight-x509-public-key-algorithm'>Public Key Algorithm</code>, <code class='highlight-x509-modulus'>Modulus</code>, and <code class='highlight-x509-exponent'>Exponent</code> in the X.509 certificate are used in the WebID Profile as part of <code class='highlight-x509-rsa-public-key'>cert:RSAPublicKey</code>, <code>cert:exponent</code>, and <code>cert:modulus</code>. <code class='highlight-x509-uri'>URI</code> under <span class='highlight-x509-san'>SAN</span> is our <span class='highlight-webid'>WebID</span>. An example where information about an RSA Public Key is associated with a WebID:</p> <figure resource='#example-rsa-puclic-key-webid' rel='schema:hasPart' id='example-rsa-puclic-key-webid' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='example-rsa-puclic-key-webid'><code>&lt;<span class='highlight-webid'>https://csarven.ca/#i</span>&gt;</code><code> cert:key &lt;https://csarven.ca/#key-e785&gt; .</code><code></code><code>&lt;https://csarven.ca/#key-e785&gt;</code><code> a <span class='highlight-x509-rsa-public-key'>cert:RSAPublicKey</span> ;</code><code> <span class='highlight-x509-exponent'>cert:exponent</span> "65537"^^xsd:nonNegativeInteger ;</code><code> <span class='highlight-x509-modulus'>cert:modulus</span> "caf6a78d16e80f930337453d84f790764c56ea58acbeda5de3d17b6e673569ef581b896b74466655fb3da2f9a961c6d46d99e77053a0aaf83fac4eab8b9198f20930672de22cb1b22f0ab85a66c95a6830eaa7be1e28ec197ff7a4a448243af2f206d2be458bbc71f32aa073315e22c9b2668fe15c732a33edcfd9fa39d04706191044f33e580f954e6a1d9c4bf08c820c4666f5ef8554cf1430a33b630c80d11f7d309cb641b213fcbfc9a5b699af625fe23627c403ff12d79514178728537aa173aba5bc5aeb87569eba1be3274aa53d9b2f8fe72f13ba8125e734e8e31128303c76594327c4c2e431e38f2b326cc244080e597a4d27a98ae3fe1edb5de785"^^xsd:hexBinary .</code></pre> <figcaption property='schema:name'>RSA Public Key information associated with a WebID URI.</figcaption> </figure> <p>WebID Profiles using the Cert Ontology can help authenticating servers to discover researchers public keys which can be used towards verifying identity claims.</p> <p id='webid-tls-delegation'><cite>WebID-TLS-Delegation</cite> is an an extension to WebID-TLS that enables users to delegate other agents to act on their behalf. In <cite><a rel='cito:citesAsAuthority' href="http://ceur-ws.org/Vol-905/TrampEtAl_COLD2012.pdf" data-versionurl='https://web.archive.org/web/20190710075349/http://ceur-ws.org/Vol-905/TrampEtAl_COLD2012.pdf' data-versiondate='2019-07-10T07:53:49Z'>Extending the WebID Protocol with Access Delegation</a></cite>, Tramp, 2012, states how a <q>principal</q> agent can delegate authentication and access to a trusted <q>secretary</q> agent – typically a third-party software – who can act <em>on behalf of</em> of the principal agent to perform (asynchronous) requests. A secretary with its own WebID acting on behalf of a user can potentially have the same (or required) privileges while still being distinguishable eg. via different public key, and capabilities. An agent can declare a delegation as follows:</p> <figure resource='#example-acl-delegates' rel='schema:hasPart' id='example-acl-delegates' class='listing'> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='example-acl-delegates'><code>&lt;<span class='highlight-webid'>https://csarven.ca/#i</span>&gt;</code><code> acl:delegates &lt;https://example.org/application#i&gt; .</code></pre> <figcaption property='schema:name'>An agent delegating another agent to act on its behalf.</figcaption> </figure> <p>whereas the agent making requests on behalf of another agent would include the HTTP <code>On-Behalf-Of</code> header when making requests.</p> <p id='oidc'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://openid.net/specs/openid-connect-core-1_0.html" data-versionurl='https://web.archive.org/web/20190709212243/https://openid.net/specs/openid-connect-core-1_0.html' data-versiondate='2019-07-09T21:22:43Z'>OpenID Connect</a></cite> (<abbr title='OpenID Connect'>OIDC</abbr>) is an authentication extension to <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc6749" data-versionurl='https://web.archive.org/web/20190725005351/https://tools.ietf.org/html/rfc6749' data-versiondate='2019-07-25T00T53:51Z'>The OAuth 2.0 Authorization Framework</a></cite> (<abbr title='The OAuth 2.0 Authorization Framework'>RFC 6749</abbr>). OAuth 2.0 provides an authorization layer that separates the role of a client from that of the resource owner. Clients obtain an access token issued by an authorization server with the approval of a resource owner, and clients can use that delegation-specific credentials (access token) to obtain and use limited access to HTTP resources on the server. In addition to the authentication process, OIDC enables authorization servers to obtain profile information about the user.</p> <p id='webid-oidc'><cite><a rel='cito:citesAsAuthority' href="https://github.com/solid/webid-oidc-spec" data-versionurl='https://web.archive.org/web/20190709212243/https://github.com/solid/webid-oidc-spec' data-versiondate='2019-07-09T21:22:43Z'>WebID-OIDC</a></cite> is an authentication delegation protocol resulting in OIDC’s verified ID Token once a client authenticated, and deriving the WebID from the ID Token. The complete WebID-OIDC workflow as follows: an initial request is made to access a protected resource; whereby the user specifies their identity provider to the authorization server; the user authenticates themselves at the provider and gets redirected back to the resource they were trying to access and provides the signed ID Token; the server controlling the resource validates the token and extracts the WebID; and finally the confirmation from the resource server. For researchers, WebID-OIDC is equally applicable as WebID-TLS.</p> <p id='acl'><cite><a rel='cito:citesAsAuthority' href="http://www.w3.org/ns/auth/acl" data-versionurl='https://web.archive.org/web/20190710175336/http://www.w3.org/ns/auth/acl' data-versiondate='2019-07-10T17:53:36Z'>Access Control List</a></cite> (<abbr title='Access Control List'>ACL</abbr>) ontology, enables a server to provide four modes of access: <q>Read</q>, <q>Write</q>, <q>Append</q>, and <q>Control</q>. As implied by the name, <em>read</em> allows a server’s resources to be accessible and interpretable. <em>Write</em> allows resources to be modified or deleted. <em>Append</em> allows a specific kind of Write in that while adding of information is permitted, removal is not. <em>Control</em> permits full read and write access to an ACL resource, which is typically given only to the "owners" (or administrators).</p> <p>The following code snippets of authorization policies are used to specify the ACL information (eg. <samp>resource.acl</samp>) associated with a resource (eg. <samp>resource</samp>) on a server. For example, setting an authorization policy where an agent (<code>https://csarven.ca/#i</code>) has write access to resources, as well as control access to their respective ACLs:</p> <figure resource='#example-acl-control' rel='schema:hasPart' id='example-acl-control' class='listing'> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='#example-acl-control'><code>&lt;#write-control&gt;</code><code> a acl:Authorization ;</code><code> acl:agent &lt;https://csarven.ca/#i&gt; ;</code><code> acl:accessTo &lt;./&gt; ;</code><code> acl:mode acl:Write, acl:Control .</code></pre> <figcaption property='schema:name'>An authorization policy that assigns write and control access for an agent.</figcaption> </figure> <p>Setting a class of agents to perform read and append operations on a resource eg. an inbox:</p> <figure resource='#example-acl-control' rel='schema:hasPart' id='example-acl-read-append' class='listing'> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='#example-acl-control'><code>&lt;#read-append&gt;</code><code> a acl:Authorization ;</code><code> acl:agentClass foaf:Agent ;</code><code> acl:accessTo &lt;./&gt; ;</code><code> acl:mode acl:Read , acl:Append .</code></pre> <figcaption property='schema:name'>An authorization policy that gives append access to a class of agents for a resource.</figcaption> </figure> <p>ACL plays a role in determining which authorization policies to apply when a resource is requested eg. raw sensitive data, private social graph, initial versions of an article.</p> <p id='prohibiting-delegation'><cite><a rel='cito:obtainsBackgroundFrom' href="http://erights.org/elib/capability/delegations.html" data-versionurl='https://web.archive.org/web/20190720194114/http://erights.org/elib/capability/delegations.html' data-versiondate='2019-07-20T19:41:14Z'>Prohibiting Delegation</a></cite>, Miller, 1999, provides an analysis on four delegation problems: <q>perimeter security, confinement distributed confinement, confused deputy, communicating conspirators</q>, and examines the basic differences between Capabilities and ACLs. The article posits that users and programmers can be lead to <q>make decisions under a <em>false sense of security</em> about what others can be prevented from doing, ACLs seduce them into actions that compromise their own security.</q></p> </div> </section> <section resource='#persistence-and-preservation' rel='schema:hasPart' inlist='' id='persistence-and-preservation'> <h3 property='schema:name'>Persistence and Preservation</h3> <div property='schema:description' datatype='rdf:HTML'> <p>As knowledge builds on knowledge, it is vital to preserve the connection between units of information in scholarly communication. There are a number of challenges in this respect. In this section I focus on the persistence of the identifiers for units, as well as content integrity and preservation of context. In the most general sense, trust and accessibility are integral to preservation of content, integrity, and the context in which they are used. This is so that knowledge can be scrutinised with the help of transparent trail of reproducibility and replicability of research results. I look at existing research and approaches in this space.</p> <p id='persistent-domains'>Domain name registration and maintenance is one of the key factors for long-term reliable persistence as per <cite><a href="https://csarven.ca/linked-research-decentralised-web/#uri-ownership">URI ownership</a></cite>. Berners-Lee outlines two issues for the persistence of HTTP URIs:</p> <blockquote cite='https://www.w3.org/DesignIssues/PersistentDomains'> <ol> <li>The persistence of the opaque string which follows the domain name, and</li> <li>the persistence of the domain name itself.</li> </ol> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.w3.org/DesignIssues/PersistentDomains" data-versionurl='https://web.archive.org/web/20190709212244/https://www.w3.org/DesignIssues/PersistentDomains' data-versiondate='2019-07-09T21:22:44Z'>Persistent Domains</a></cite>, Tim Berners-Lee, 2000</footer> </blockquote> <p id='cool-uris'>In <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.w3.org/Provider/Style/URI" data-versionurl='https://web.archive.org/web/20190709212244/http://www.w3.org/Provider/Style/URI' data-versiondate='2019-07-09T21:22:44Z'>Cool URIs don't change</a></cite>, Berners-Lee, 1998, discusses some of the approaches that can be taken towards usefulness and longevity of URIs. The article focuses on practices that a publisher making a commitment to persistence by designing and managing the URI path and the content it resolves to, as well as the domain name it uses. The owner of a domain name has the obligation to define what the things mean for its URIs. This is also a form of social contract made by the authority that names and defines a URI to anyone that’s using it – see also <cite><a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/DesignIssues/PhilosophicalEngineering" data-versionurl='https://web.archive.org/web/20190709212245/https://www.w3.org/DesignIssues/PhilosophicalEngineering' data-versiondate='2019-07-09T21:22:45Z'>Philosophical Engineering and Ownerhip of URIs</a></cite>.</p> <p id='persistence-policies'>Persistence policies can come in different forms. For example, W3C’s <cite><a rel='cito:citesAsEvidence' href="https://www.w3.org/Consortium/Persistence" data-versionurl='https://web.archive.org/web/20190729124642/https://www.w3.org/Consortium/Persistence' data-versiondate='2019-07-29T12:46:42Z'>URI Persistence Policy</a></cite> is a document making a pledge about how some of the resources under its domain will persist throughout the lifetime of the Consortium; any changes to persistent resources will be archived; and in case that the organisation is disbanded, its resources can be made available under the same rights and license. These human-readable statements are useful institutional commitment to persistence. The ODRL vocabulary can be used in a similar way to provide a machine-readable policy about resources.</p> <p id='uri-social-agreement'>From the archiving perspective, Van de Sompel came to the conclusion that in a long enough timeline, HTTP URIs are not inherently persistent but persistable. The units of information that are registered using URIs are more of a promise made by its original or current authority. Hence, along with the examples from earlier, URI registration is ultimately a social agreement. URI owners declare a policy eg. implicit, written, verbal. If a policy is announced for a collection of URIs eg. what happens in 1000 years, then that says something about its intentions and expected level of availability. From this perspective, as discussed earlier in the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#registration-of-identifiers">registration of identifiers with social contracts</a></cite>, <abbr title='Persistent Identifier'>PID</abbr>s such as DOI, PURL, w3id, and ORCID can help to prolong such promises and to extend the lifetime of accessibility of units of scholarly information.</p> <p id='decentralized-identifiers'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://w3c-ccg.github.io/did-spec/" data-versionurl='https://web.archive.org/web/20190709212245/https://w3c-ccg.github.io/did-spec/' data-versiondate='2019-07-09T21:22:45Z'>Decentralized Identifiers</a></cite> (<abbr title='Decentralized Identifiers'>DID</abbr>) are identifiers for verifiable <q>self-sovereign</q> digital identity, where they are <q>under the control of the subject, independent from any centralized registry, identity provider, or certificate authority.</q> In a way, DIDs go around the shortcomings of the domain name system where they can be created and managed without the authority of the registrar.</p> <p id='analyzing-the-persistence-of-referenced-web-resources-with-memento'>In <cite><a rel='cito:citesForInformation' href="https://arxiv.org/pdf/1105.3459.pdf" data-versionurl='https://web.archive.org/web/20180901151543/https://arxiv.org/pdf/1105.3459.pdf' data-versiondate='2018-09-01:15:15:43Z'>Analyzing the Persistence of Referenced Web Resources with Memento</a></cite>, Sanderson, 2011, presents the results of a study on the persistence and availability of Web resources cited from research articles in two scholarly repositories. The results show that within a few years of the URL being cited, 45% of the URLs referenced from arXiv still exist but are not preserved, and 28% of the resources referenced by articles in the UNT digital library have been lost. In order to address this commonly known as URIs ceasing to exist (link rot), authors suggest that repositories expose the links in the articles through an API so that Web crawlers can be used to archive. With the help of archives supporting the Memento protocol, the original context of the citation can still be reconstructed.</p> <p id='reference-rot'>Given the dynamic and ephemeral nature of the Web, and in particular management of URIs and corresponding representations at URLs, it poses a threat to integrity of Web-based scholarly content, and the consistency of scholarly records, as well as everywhere else. One special area is about the formal citation of scholarly resources eg. DOI, HTTP-DOI-URI, and informal referencing of other resources on the Web ie. any HTTP URI. The <cite><a rel='cito:citesForInformation' href="http://hiberlink.org/" data-versionurl='https://web.archive.org/web/20190709212245/http://hiberlink.org/' data-versiondate='2019-07-09T21:22:45Z'>Hiberlink</a></cite> project investigates <q>reference rot</q> in Web-based scholarly communication, and introduces the term to denote two problems in using URI references:</p> <blockquote cite='https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115253'> <dl> <dt id='link-rot'>Link rot</dt> <dd>The resource identified by a URI may cease to exist and hence a URI reference to that resource will no longer provide access to referenced content.</dd> <dt id='content-drift'>Content drift</dt> <dd>The resource identified by a URI may change over time and hence, the content at the end of the URI may evolve, even to such an extent that it ceases to be representative of the content that was originally referenced.</dd> </dl> <footer><cite><a rel='cito:includesQuotationFrom' href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115253" data-versionurl='https://web.archive.org/web/20190709212246/https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115253' data-versiondate='2019-07-09T21:22:46Z'>Scholarly Context Not Found: One in Five Articles Suffers from Reference Rot</a></cite>, Martin Klein, 2014</footer> </blockquote> <p id='scholarly-context-not-found'>In <cite><a rel='cito:citesForInformation' href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115253" data-versionurl='https://web.archive.org/web/20190709212246/https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115253' data-versiondate='2019-07-09T21:22:46Z'>Scholarly Context Not Found: One in Five Articles Suffers from Reference Rot</a></cite>, Klein, 2014, acknowledge extensively studied phenomenon on link rot and content drift, and themselves <q>investigate the extent to which <em>reference rot</em> impacts the ability to revisit the web context that surrounds <abbr title='Science, Technology, and Medicine'>STM</abbr> articles some time after their publication</q>. The results show that significant amount of HTTP URIs cited in STM articles are no longer responsive or adequate archived snapshots available. Authors state that it is impossible to adequately recreate the temporal context of the scholarly discourse, hence suggest that robust solutions are needed to combat the problem of reference rot. Authors can take practical steps to remedy some of these issues eg. using archives that support on-demand snapshots, embedding the archived URI with datetime information alongside the reference to the original resource – I discuss this further in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#robust-links">Robust Links</a></cite>.</p> <p id='scholarly-context-adrift'>In <cite><a rel='cito:citesForInformation' href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0167475" data-versionurl='https://web.archive.org/web/20190709212246/https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0167475' data-versiondate='2019-07-09T21:22:46Z'>Scholarly Context Adrift: Three out of Four URI References Lead to Changed Content</a></cite>, Jones, 2016, reuse the same dataset from Klein study, to investigate to what extent the textual content remained stable since the publication of the referencing article based on various well-established similarity measures based on the comparison of the representative Memento and the live resource. They <q cite='https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0167475'>find that for over 75% of references the content has drifted away from what it was when referenced.</q> The authors support the idea that in order to partly work around this issue, authors should pro-actively create snapshots of the referenced resources at Web archives, and referencing them in their scholarly literature. However, the authors also state that such robust embedding in the infrastructure of the existing authoring, reviewing, and publishing workflow is still an open challenge. To that end, applying the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#robust-links">Robust Links</a></cite> approach can help. While the DOI-paradigm for scholarly units help to improve the link rot scenario when the custodians of the domains or the URLs of the scholarly resources relocate, the resources on the Web at large remain to be a problem given that their incentives towards longevity and access differ.</p> <p id='persistent-domains-content-drift'>From the point of persistence of the domain name (losing ownership) as Berners-Lee describes, one kind of content drift would be if the content published at https://csarven.ca/ today may be different tomorrow if another authority gets to own csarven.ca and defines what goes there. Alternatively, it may be that the content at that location is dynamic, and could differ from one request to another. In both cases, content drift creates a situation where if the originally referenced resource is still the same. From the perspective of Web-based scholarly publications, changes to content – accidental or intentional – can impact the degree of reproducibility, replicability, comparability of research results, and maintaining a reliable scholarly record.</p> <p id='persistent-identifiers-for-scholarly-assets-and-the-web'>In <cite><a rel='cito:citesForInformation' href="http://www.ijdc.net/article/download/9.1.331/362/" data-versionurl='https://web.archive.org/web/20180901160152/http://www.ijdc.net/article/download/9.1.331/362/' data-versiondate='2018-09-01T16:01:52Z'>Persistent Identifiers for Scholarly Assets and the Web: The Need for an Unambiguous Mapping</a></cite> Van de Sompel, 2014, posit that while PIDs are assigned to resources outside of information access protocols (like HTTP), there is a need to unambiguously bridge the discovery of the Web-oriented resource eg. from PID to HTTP URI, in a way that is machine-actionable. For example, the PID paradigm has the following discovery path:</p> <ol> <li>PID is the resource identifier eg. <samp>10.2218/ijdc.v9i1.320</samp></li> <li>HTTP-URI-PID is the resolving URI eg. <samp>https://doi.org/10.2218/ijdc.v9i1.320</samp></li> <li>HTTP-URI-LAND is the redirect URI (landing page) eg. <samp>http://www.ijdc.net/article/view/9.1.331</samp></li> <li>HTTP-URI-LOC is the location URI of the content eg. <samp>http://www.ijdc.net/article/download/9.1.331/362/</samp></li> </ol> <p>Authors propose that using existing standards and practice, the essential ingredients for such a mapping is as follows. A PID has a Web equivalent HTTP-URI-PID, which is a requisite – minted by the naming authority. The HTTP-URI-PID can be content-negotiated to result in a) a human-readable representation at HTTP-URI-LAND or b) machine-readable representations with distinct HTTP-URI-MACH. The HTTP-URI-LAND remains the same for discovery, however, HTTP-URI-MACH uses an RDF-based approach to describe the aggregations of scholarly assets based on the OAI-ORE specification.</p> <p id='pid-uri-ownership'>It is worth briefly revisiting the notion of social agreements around Web resources. Conceptually, the agreement that I make with you about the persistence of my website’s resources is in essence the same as a naming authority controlling a PID, as well as all of the nodes in between HTTP-URI-LOC. The kind of mapping between a domain name and the IP address it points to is similar to a PID being mapped to a HTTP-URI-PID. Hence, <em>URI Ownership</em> essentially involves two possibilities: either I “own” and control a URI space or someone else does.</p> <p id='cite-as'>In <cite><a rel='cito:citesForInformation' href="https://arxiv.org/pdf/1602.09102.pdf" data-versionurl='https://web.archive.org/web/20180901165600/https://arxiv.org/pdf/1602.09102.pdf' data-versiondate='2018-09-01T16:56:00Z'>Persistent URIs Must Be Used To Be Persistent</a></cite>, Van de Sompel, 2016, reveal the results of a study where authors do not use persistent URIs like DOIs even when available, and instead use the location URIs. In order to alleviate this issue, authors propose that an HTTP <code>Link</code> header is used at the location URI to announce the identifying HTTP-URI-PID. The current proposal is to use <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/draft-vandesompel-citeas-04" data-versionurl='https://web.archive.org/web/20190709212251/https://tools.ietf.org/html/draft-vandesompel-citeas-04' data-versiondate='2019-07-09T21:22:51Z'>cite-as: A Link Relation to Convey a Preferred URI for Referencing</a></cite>, Van de Sompel, 2019, and a number of related patterns are outlined at <cite><a rel='cito:citesForInformation' href="http://signposting.org/" data-versionurl='https://web.archive.org/web/20190709212246/http://signposting.org/' data-versiondate='2019-07-09T21:22:46Z'>Signposting the Scholarly Web</a></cite>.</p> <p id='robust-links'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://robustlinks.mementoweb.org/spec/" data-versionurl='https://web.archive.org/web/20180901170157/http://robustlinks.mementoweb.org/spec/' data-versiondate='2018-09-01T17:01:57Z'>Robust Links</a></cite>, Van de Sompel, 2015, is based on the idea that in a long enough time line, content-drift and link-rot pose challenges to maintain context and integrity between resources. In order to preserve the context of linked resources at the time of linking, a <em>link robustness</em> strategy is applied by way of creating a snapshot of the original resource and making it available to data consumers. The <cite>Link Decoration</cite> approach decorates links in hypertext documents in order to be human- and machine-actionable. By additionally associating the datetime information when linking helps to retain such context. The datetime information can be accompanied with a snapshot of the target URI made at a Web archive or a versioning system when linking, and using either the original or the versioned resource as the primary reference. Including datetime information in the source document can make it possible to interpret the context of each of the links in the document and to discover relevant snapshots. In the event that a linked resource or a snapshot becomes inaccessible, the datetime information helps to discover temporally close alternative snapshots.</p> <p id='trusty-uri'><cite><a rel='cito:citesAsAuthority' href="http://trustyuri.net/" data-versionurl='https://web.archive.org/web/20190709212247/http://trustyuri.net/' data-versiondate='2019-07-09T21:22:47Z'>Trusty URI</a></cite> is a technique to include cryptographic hash values in URIs to uniquely associate them with an artifact. In <cite><a rel='cito:citesForInformation' href="https://arxiv.org/pdf/1401.5775.pdf" data-versionurl='https://web.archive.org/web/20180831080304/https://arxiv.org/pdf/1401.5775.pdf' data-versiondate='2018-08-31T08:03:04Z'>Trusty URIs: Verifiable, Immutable, and Permanent Digital Artifacts for Linked Data</a></cite>, Kuhn, 2014, outline how specific resources and their entire reference trees can be verifiable. If the trusty URI of an artifact is known, it can be used to verify if the content of an artifact corresponds to what it is suppose to represent. This is useful to determine if the content is corrupted or manipulated. It follows that trusty URI artifacts are immutable as each version of a content generates a unique trusty URI. Trusty URI artifacts are considered to be permanent in that once archived or cached, the artifact can still be verified even if the original location is no longer available. Applications can use trusty URI to encode their own references, as well as compute an artifacts’ trusty URI and verify before using it. Trusty URIs can be used to represent byte-level file content and for RDF graphs, and is compatible with named information URIs – <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc6920" data-versionurl='https://web.archive.org/web/20190709212246/https://tools.ietf.org/html/rfc6920' data-versiondate='2019-07-09T21:22:46Z'>Naming Things with Hashes</a></cite> (<abbr title='Naming Things with Hashes'>RFC 6920</abbr>). An example from the <cite><a typeof='doap:Specification' rel='cito:citesAsEvidence' href="http://trustyuri.net/spec/v1.FADQoZWcYugekAb4jW-Zm3_5Cd9tmkkYEV0bxK2fLSKao.md" data-versionurl='https://web.archive.org/web/20190710075350/http://trustyuri.net/spec/v1.FADQoZWcYugekAb4jW-Zm3_5Cd9tmkkYEV0bxK2fLSKao.md' data-versiondate='2019-07-10T07:53:50Z'>Trusty URI Specification – Version 1</a></cite>: given resource <samp>http://example.org/r1</samp>, its trusty URI would be <samp>http://example.org/r1.<span class='highlight-trusty-module'>RA</span>cbjcRIQozo2wBMq4WcCYkFAjRz0AX-Ux3PquZZrC68s</samp>, where <code class='highlight-trusty-module'>RA</code> identifies the module as an RDF graph (independent of its serialization) of the resource, and the remaining characters signify the computed hash of the content.</p> <p id='nanopublications'><cite><a rel='cito:citesForInformation' href="https://content.iospress.com/download/information-services-and-use/isu613?id=information-services-and-use%2Fisu613" data-versionurl='https://web.archive.org/web/20180831081059/https://content.iospress.com/download/information-services-and-use/isu613?id=information-services-and-use%2Fisu613' data-versiondate='2018-08-31T08:10:59Z'>The Anatomy of a Nanopublication</a></cite>, Groth, 2010, propose to improve the efficiency in finding, connecting, and curating core scientific statements with associated context, with an annotation model and a format based on the RDF language realized with Named Graphs. The <cite><a rel='cito:citesAsAuthority' href="http://nanopub.org/guidelines/working_draft/" data-versionurl='https://web.archive.org/web/20180901130643/http://nanopub.org/guidelines/working_draft/' data-versiondate='2018-09-01T13:06:43Z'>Nanopublication Guidelines</a></cite>, 2015, specify how to denote unique RDF graphs for <em>assertions</em>, <em>provenance</em>, and <em>publication information</em>, which make up the body of a nanopublication that can be used as a single publishable and citable entity. Nanopublications can be independently used to expose and disseminate individual quantitative and qualitative structured scientific data, without being accompanied with narrative research articles. For example, hypothesis, claims, and negative results can exist on their own, be identifiable, and reused in different places, as well as embedded in articles.</p> <p id='decentralized-provenance-aware-publishing-with-nanopublications'>In <cite><a rel='cito:citesForInformation' href="https://peerj.com/articles/cs-78/" data-versionurl='https://web.archive.org/web/20180901063411/https://peerj.com/articles/cs-78/' data-versiondate='2018-09-01T06:34:11Z'>Decentralized provenance-aware publishing with nanopublications</a></cite>, Kuhn, 2016, argue that due to publication and archival of scientific results is still based on print-centric workflows and commonly considered to be a responsibility of third-party publishers, there is currently no efficient, reliable, and agreed-upon Web-centric methods for publishing scientific datasets, and therefore a bottom-up process is necessary. To this end, the authors present a decentralised server network with a REST API to store, archive, find, and serve data in the form of nanopublications, where the identifiers for the units of information are based on the trusty URI method. The authors argue that the underlying architecture can serve as a reliable and <em>trustworthy</em> low-level semantic publishing, archiving, and data sharing layer that can be used by different knowledge domains.</p> <p id='signing-http-messages'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/draft-cavage-http-signatures-11" data-versionurl='https://web.archive.org/web/20190722110824/https://tools.ietf.org/html/draft-cavage-http-signatures-11' data-versiondate='2019-07-22T11:08:24Z'>Signing HTTP Messages</a></cite>, 2019, <q>describes a way for servers and clients to simultaneously add authentication and message integrity to HTTP messages by using a digital signature.</q> The signing is made by signing the HTTP message body and some HTTP headers at the time of making the HTTP request. As the signature is carried in the HTTP headers, the HTTP message is not altered, and thereby does not require a normalisation algorithm to be used on the message structure.</p> <p id='linked-data-proofs'><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://w3c-dvcg.github.io/ld-proofs/" data-versionurl='https://web.archive.org/web/20190722110600/https://w3c-dvcg.github.io/ld-proofs/' data-versiondate='2019-07-22T11:06:00Z'>Linked Data Proofs</a></cite> is a mechanism to ensure authenticity and integrity of Linked Data documents through the use of public/private key cryptography. The digital signature is comprised of information about the i) signature suite that was used to create the signature, ii) parameters required to verify it, and iii) the signature value generated by the signature algorithm. The signature typically accompanies the Linked Data document so that the receiver can verify its authenticity using the available information. In contrast to the <cite>Signing HTTP Messages</cite> method, <cite>Linked Data Proofs</cite> requires a normalisation algorithm.</p> <p id='verifiable-claims'><cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/verifiable-claims-data-model/" data-versionurl='https://www.w3.org/TR/2019/CR-verifiable-claims-data-model-20190328/' data-versiondate='2019-04-17T14:00:00Z'>Verifiable Claims Data Model 1.0</a></cite> is a mechanism to express credentials on the Web that is cryptographically secure, privacy respecting, and machine-verifiable. The core model outlines the concepts for claims, credentials, and presentations that can be used by issuers, holders, verifiers, and verifiable data registries.</p> </div> </section> <section resource='#decentralised-storage-and-interopearble-applications' rel='schema:hasPart' inlist='' id='decentralised-storage-and-interoperable-applications'> <h3 property='schema:name'>Decentralised Storage and Interoperable Applications</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='client-server-spectrum'><cite><a rel='cito:citesForInformation' href="https://dr.amy.gy/" data-versionurl='https://web.archive.org/web/20190709212237/https://dr.amy.gy/' data-versiondate='2019-07-09T21:22:37Z'>The Presentation of Self on a Decentralised Web</a></cite>, Guy, 2017, describes various types of decentralised social systems. As per the client–server model, their arrangement generally falls in the spectrum of tightly or loosely coupled architectures. In these systems, actors control client applications typically through user-agents. The degree of coupling that is exerted on the system varies depending on the class of components involved. More specifically, <cite><a rel='cito:citesForInformation' href="http://www2009.eprints.org/92/1/p911.pdf" data-versionurl='https://web.archive.org/web/20190529163945/http://www2009.eprints.org/92/1/p911.pdf' data-versiondate='2019-05-29T16:39:45Z'>Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service Design</a></cite>, Pautasso, 2009, proposes <q>discovery, identification, binding, platform, interaction, interface orientation, model, granularity, state, evolution, generated code, conversation</q> as metrics for the degree of coupling in service-oriented systems.</p> <p id='webid-loose-coupling'>Loose coupling reduces the number of assumptions each party makes about the other when exchanging information. For instance, AWWW includes various protocols for interaction, URIs to identify, and standard data formats to communicate the content. The Linked Data design principles then sets further constraints within this framework by favouring HTTP URIs, and the RDF language. A Linked Data driven system using uniform interaction and information exchange can be viewed to be more tightly coupled in comparison to an arbitrary system that is less specified or unspecified. Corollary, the loosely coupled systems set a higher requirement for using Web specifications emerging through open consensus as well as being widely deployed in order for the ecosystem to function. Otherwise, it would be impossible to communicate if there is no higher-order agreement. The loose coupling of interoperable systems based on open standards however can go beyond the arrangement of clients and servers. For instance, the notion of WebID enables loose coupling of identity, identification, authentication, authorization, and storage.</p> <p id='decentralised-datastore'><strong>Decentralised datastore</strong> (or dataspaces) under the custodian of different actors implicates organic growth and operation as a by product of autonomous operation. In contrast to third-party controlled centralised systems, decentralised systems can have persistent availability (globally), resistance to external censorship, monopoly disruption, increased interest in privacy and security, and enable free expression with respect to information structure and semantics. In order for decentralised datastores to be effective, both servers and client application have an increased requirement on implementing consensus-based open standards in order to cultivate an interoperable ecosystem.</p> <p id='shared-hosting'><strong>Shared hosting</strong> refers to a kind of <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Shared_web_hosting_service" data-versionurl='https://web.archive.org/web/20190729124643/https://en.wikipedia.org/wiki/Shared_web_hosting_service' data-versiondate='2019-07-29T12:46:43Z'>web hosting service</a></cite> where the server’s resources are shared among its users. While the hosting has usage limits, it is considered to be economical and have reliability features put in place by the host’s system administrators. Any website with its own domain name can act as an independent node in a decentralised system. However, given that multiple websites reside on the same server, system-wide configuration changes or disruptions on the network usually effects all of the websites. Moreover, there are privacy and security concerns if the information on or transferring through individual dataspaces are not encrypted. Hence, the user places their trust on the hosting service’s administrators.</p> <p id='pds'><strong>Personal data service</strong> (or store) (<abbr title='Personal Data Service'>PDS</abbr>), <em>personal online datastore</em> (<abbr title='Personal Online Datastore'>POD</abbr>) or <q>pod</q> as a noun, loosely refer to an individual-operated Web space with mechanisms for data storage and management that is capable of providing access-controlled read-write operations for independently built interoperable applications. A generic PDS can be virtually realised with any HTTP server with varying configurations and capabilities offering client-side applications to communicate through open protocols and data formats. Web resources that are only intended for public read entails that the custodian allows resources to be available in response to client requests. Servers would need to factor in an authentication mechanism and authorization rules to determine who to serve the resources to and under which access constraints. A client-server interaction based on a read-write Linked Data architecture has affordances for distributed and semantically interconnected Web resources.</p> <p id='pds-expectation'>The concepts above generally fall into the spectrum of <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Self-hosting_(web_services)" data-versionurl='https://web.archive.org/web/20190620000203/https://en.wikipedia.org/wiki/Self-hosting_(web_services)' data-versiondate='2019-07-09T21:22:48Z'>self-hosting</a></cite> for Web space management. An individual responsible for a PDS entails that they are responsible as well as accountable of its operation, abilities, policies and practice decisions on data, persistence strategies and so forth. PDS makes it possible for actors to safeguard their data by setting authentication and authorization rules for any or class of agents, being able to act as the source of truth for WebIDs and the descriptions in the profiles. Running a PDS fundamentally requires the system to fulfill the registration function for the content it makes available. As archiving is an external function, we expect other services to meet that requirement. The certification function can be fulfilled in a similar manner to registration in that the actors that are involved in the quality-control process can register their own units of information in their PDS in response to target units.</p> </div> </section> <section resource='#design-decisions-for-decentralisation' rel='schema:hasPart' inlist='' id='design-decisions-for-decentralisation'> <h3 property='schema:name'>Design Decisions for Decentralisation</h3> <div property='schema:description' datatype='rdf:HTML'> <p>I use the same set of questions raised in <cite>Systematizing Decentralization and Privacy</cite> to study the design choices for an actor-controlled system based in context of the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#architecture-of-the-web">Architecture of the Web</a></cite>:</p> <dl> <dt id='how-is-the-system-decentralized'>How is the system decentralized?</dt> <dd>The nodes in the system are the Web resources on servers that make up information such as profiles, articles, annotations and notifications, as well archived snapshots. The advantage of this infrastructure is that once a resource is registered (named and stored), they do not require users for its availability or functionality – a reduced attack surface. Users retain their privacy in that, access and use of resources are encapsulated, and such information about identity or actions taken is not required to spread to the rest of the network. In the case of compound resources including information from distributed resources, like with transclusions, or applications dynamically fetching information from different context, nodes may get to be aware of cross-origin requests. The <em>network topology</em> is by default <em>point-to-point</em>, ie. connections between two endpoints. However, in the case of federated servers, information can be routed and disseminated to the whole network, for example, an actor sends out a notification about their activity. The <em>authority topology</em> is that nodes (client-server or server-server) <em>interact directly</em> with each other, without necessarily requiring third-party nodes to participate. In order to establish trust, a certain amount of transparency can be used to make an authority <em>accountable</em>. In federated designs, users place their trust on their provider nodes who act as authorities on their behalf with other providers (server-server).</dd> <dt id='what-advantages-do-we-get-from-decentralizing'>What advantages do we get from decentralizing?</dt> <dd>There is no single point of failure, has high availability, system performance, and generally <em>survivable</em>. However, the system’s usefulness may degrade if certain resources in the network disappear or become inaccessible. For example, if a notification about an annotation is no longer available, then the annotation may need to be discovered through other routes. There is a flexible trust model in that, there is <em>no natural central authority</em>. Multiple independent authorities exist, and each verify claims based on their own (or shared) decisions eg. self-signed certificates as part of web of trust, or in the case of <em>anyone can say anything about anything</em>, consumers of such information verify the statements based on their needs. There is a <em>distributed allocation of resources assists ease of deployment</em>, and independent extensibility. As with the open-world assumption, nodes are not expected to have complete knowledge, and conflicting knowledge can enter the system. Decentralised systems while benefit from network <em>location diversity</em>, they may also be subject to censored both on the network and legal levels. The <em>development and operation is decoupled</em> in that open software can be publicly visible and auditable before being used by authorities. Original resources as well as versioned or archived copies can have <em>publicly verifiable integrity</em>. Decentralised system are relatively secure in that compromising or weakening the system requires attackers to engage with different services, or code bases. <em>Public accountability</em> can be devised to detect and exclude misinformation, as well as misbehaving or compromised actors. A decentralised system can incorporate trusted centralised nodes eg. community agreed scholarly reviews, archives, caching servers, proxies, and so forth, while if compromised by adversaries or disappearance is temporarily kept local – possibly a performance or discovery problem.</dd> <dt id='how-does-decentralization-support-privacy'>How does decentralization support privacy?</dt> <dd>Due to the way resources are distributed in decentralised systems, they offer greater user data privacy with respect to their communication, identities, and actions than centralised systems in that there is no single authority that can observe all data and interactions. In essence, it makes it challenging for an adversary to aggregate and connect all information in a way that can undeniably hold a participant in the system accountable. These systems can allow different degrees of confidential participation in that agents (human or machine) can remain anonymous or use their pseudonymous identities. For instance, sensitive research data can be kept confidential. Access controlled resources can be accessible by trusted parties. Actions of an actor can potentially be unlinkable and so rendering a global search of information useless. The communication between parties can be undetectable and unobservable by unauthorised third-parties.</dd> <dt id='what-are-the-disadvantages-of-decentralizing'>What are the disadvantages of decentralizing?</dt> <dd>Decentralised systems inherently increases the number of attack vectors that an adversary can use due to number of software implementations and configurations. A compromised node in the network can potentially monitor activities, corrupt information exchange, insert malicious code, distribute data to interested parties while undetected, reduce or expose anonymity, provide inconsistent views, and so forth. As there is no single authority to globally manage the nodes in the network, the quality and availability of the services will vary and becomes challenging for each node to actively and effectively protect themselves. For example, an article, its inbox, and the annotations referred from each notification may all reside at different network locations, and thus data consumers would need to factor in potential issues arising from each node by defending themselves or routing around disturbances. Decentralisation also poses an obstacle for accountability and reputation in that while actors may control a node, handling the ramifications of a misbehaved node becomes difficult in the broader ecosystem. Finding, discovering, and interactions on fine-grained resources are typically less efficient than centralised systems.</dd> <dt id='what-implicit-centralized-assumptions-remain'>What implicit centralized assumptions remain?</dt> <dd>Decentralised systems include social and technical aspects of centralisations. The DNS is the most prominent example of centralisation in that domain names are administered by an entity other than the actors interacting in the information space. The name which resolves to a node is generally governed by a single authority solely determining the level of privacy the node offers as well as its availability. For instance, since registration of units of communication are mere records of content, their persistence and preservation are at the discretion of the owners of the URI space. Thus, archiving by trusted parties is necessary to take into account – which essentially introduces additional centralised entities. The use of certain certification authorities also introduces hierarchically structured centralised governance into the system, hence fundamentally allowing single entities to revoke authenticate credentials, or eventually influencing abuse-prevention, reputation, and trust. Along these lines, carrying out access policy management and enforcement by independent nodes introduces central locations for potential attacks. Web standards are a form of social centralisation in that they reflect the participants’ norms and agenda. Similarly, content delivery networks, for wide reuse introduces a single point of failure for large number of services – a potential risk even for open-source software.</dd> </dl> </div> </section> <section resource='#degree-of-control' rel='schema:hasPart' inlist='' id='degree-of-control'> <h3 property='schema:name'>Degree of Control</h3> <div property='schema:description' datatype='rdf:HTML'> <p>We can observe different degrees of control; individual and third-party actors at the opposite ends of the control spectrum for identifiers, data, and applications:</p> <dl id='identifiers-data-applications'> <dt>Identifiers</dt> <dd>Rules and governance of naming things.</dd> <dt>Data</dt> <dd>Information that can be shaped and used with intended semantics.</dd> <dt>Applications</dt> <dd>Computer software that performs functions on data on behalf of a user.</dd> </dl> <figure resource='#degree-of-control-actor-third-party' rel='schema:hasPart' id='degree-of-control-identifier-data-application'> <object width='420' type='image/svg+xml' rel='schema:image' height='240' data="https://csarven.ca//media/images/articles/degree-of-control.svg"></object> <figcaption property='schema:name'>Degree of control (actor or third-party) for identifiers, data, and applications.</figcaption> </figure> <p>On one end of the spectrum, an actor eg. an individual, registers their own domain name, hosts their personal storage, and uses applications of their choosing. With that, they have highest degree of autonomy. On the other end of the spectrum, an individual’s identifier as well as a range of expressible identities, the data location and conditions of use, and assigned applications by third-party services.</p> <p>I focus on interactions based on the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Client%E2%80%93server_model" data-versionurl='https://web.archive.org/web/20190729124643/https://en.wikipedia.org/wiki/Client%E2%80%93server_model' data-versiondate='2019-07-29T12:46:43Z'>client–server model</a></cite> under the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#architecture-of-the-web">Architecture of the Web</a></cite>, identifiers and data are conceptually decoupled components. In the case of identifiers, I focus mainly on HTTP-based URIs, and the social conventions around <cite><a href="https://csarven.ca/linked-research-decentralised-web/#uri-ownership">URI Ownership</a></cite>. Finally, the applications comprise software that actors can use.</p> <p>While centralisation of data and applications are two distinct areas of concern, some of the challenges we face in scholarly communication make them appear as one. When we discuss challenges around access to knowledge, the location and quality of the data is often conflated with the tools or services which are required to access the data. Being required to use particular software to create, format or share research articles, to create accounts on particular services, or agree to certain terms and conditions impose a set of characteristics on research output or data itself.</p> <p>Data and application appear to be intertwined because the workflows that the researchers are required to use tend to be unique and proprietary and predominantly enforced by third-parties. While some of the differences in designs may be due to historical reasons they also ensure various forms of vendor lock-in on both the research outputs and the applications to generate, share and reuse data. The use of non-interoperable (or even post-facto) methods to create and exchange data on the Web leads to the fragmentation of data through silo-services, and along with it the dependency on applications having their interaction mechanisms established via out-of-band knowledge. By strictly focusing on the current quality of machine-readable scholarly information on the Web, the technical obstacles are evident and ample. The applications need to be continuously hard-wired to know where and what to look for; what to do once something of interest is found; or where to go next in the discovery phase. Similarly, automating discovery of fine-grained information without human interference is still central to the limitations.</p> <p>Different degrees of control would influence the forces and functions in scholarly communication. For instance, while ORCID is community controlled, it is possible for individuals to customise their profiles and to link to their other identities. The profile description can indicate the location of researcher’s personal online storage, inbox, as well as outbox, which can be controlled by the individual. The DOI system on the other hand is governed by an organisation where the mapping between an identifier and the location of content they refer to is managed by select few organisations (as opposed to individuals).</p> <p id='desired-qualities'><strong>Desired qualities</strong>: Based on aforementioned research, standards, and practices in the field towards Web-based personal identifiers and representations, I infer a set of qualities that can support individuals when participating in a decentralised scholarly system:</p> <ul> <li>Self-hosted and individually-controlled personal identifiers denoted with HTTP URIs</li> <li>Profile customisability and connectivity</li> <li>Linkable multiple identities</li> <li>Identity privacy and control</li> </ul> </div> </section> <section resource='#forces-and-functions-in-specifications' rel='schema:hasPart' inlist='' id='forces-and-functions-in-specifications'> <h3 property='schema:name'>Forces and Functions in Specifications</h3> <div property='schema:description' datatype='rdf:HTML'> <p id='standards-based-forces-and-functions'><strong>Standards-based Forces and Functions</strong>: While every system of scholarly communication can have its forces and functions arbitrarily configured irrespective of their actual implementation, I have focused on a subset arrangement that is based on existing Web specifications facilitating the manifestation of interoperable information spaces. The model can be extended to include other or future specification with respect to forces and functions in scientific communication.</p> <table typeof='qb:DataSet as:Object' resource='#characteristics-of-specifications' rel='schema:hasPart' id='characteristics-of-specifications'> <caption property='schema:name'>Characteristics of Web specifications for forces and functions in scientific communication</caption> <thead> <tr> <th rowspan='2'>Specification</th> <th colspan='4'>Forces</th> <th colspan='4'>Functions</th> </tr> <tr> <th>Actors</th> <th>Accessibility</th> <th>Content</th> <th>Applicability</th> <th>Registration</th> <th>Awareness</th> <th>Certification</th> <th>Archiving</th> </tr> </thead> <tbody> <tr><th scope='rowgroup' colspan='9'>Protocol</th></tr> <tr> <th><a href="https://www.w3.org/TR/ldp/">Linked Data Platform</a></th> <td typeof='earl:Assertion' about='#test-actors-linked-data-platform' id='test-actors-linked-data-platform' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/ldp/' rel='earl:subject'></span> <span resource='#functions-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-linked-data-platform' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-linked-data-platform' id='test-accessibility-linked-data-platform' class='earl:passed'> <span resource='https://www.w3.org/TR/ldp/' rel='earl:subject'></span> <span resource='#functions-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-linked-data-platform' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-linked-data-platform' id='test-content-linked-data-platform' class='earl:passed'> <span resource='https://www.w3.org/TR/ldp/' rel='earl:subject'></span> <span resource='#functions-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-linked-data-platform' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-linked-data-platform' id='test-applicability-linked-data-platform' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/ldp/' rel='earl:subject'></span> <span resource='#functions-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-linked-data-platform' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-linked-data-platform' id='test-registration-linked-data-platform' class='earl:passed'> <span resource='https://www.w3.org/TR/ldp/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-linked-data-platform' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-linked-data-platform' id='test-awareness-linked-data-platform' class='earl:passed'> <span resource='https://www.w3.org/TR/ldp/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-linked-data-platform' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-linked-data-platform' id='test-certification-linked-data-platform' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/ldp/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-linked-data-platform' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-linked-data-platform' id='test-archiving-linked-data-platform' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/ldp/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-linked-data-platform' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://atomgraph.github.io/Linked-Data-Templates/">Linked Data Templates</a></th> <td typeof='earl:Assertion' about='#test-actors-linked-data-templates' id='test-actors-linked-data-templates' class='earl:inapplicable'> <span resource='https://atomgraph.github.io/Linked-Data-Templates/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-linked-data-templates' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-linked-data-templates' id='test-accessibility-linked-data-templates' class='earl:passed'> <span resource='https://atomgraph.github.io/Linked-Data-Templates/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-linked-data-templates' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-linked-data-templates' id='test-content-linked-data-templates' class='earl:passed'> <span resource='https://atomgraph.github.io/Linked-Data-Templates/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-linked-data-templates' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-linked-data-templates' id='test-applicability-linked-data-templates' class='earl:inapplicable'> <span resource='https://atomgraph.github.io/Linked-Data-Templates/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-linked-data-templates' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-linked-data-templates' id='test-registration-linked-data-templates' class='earl:passed'> <span resource='https://atomgraph.github.io/Linked-Data-Templates/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-linked-data-templates' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-linked-data-templates' id='test-awareness-linked-data-templates' class='earl:passed'> <span resource='https://atomgraph.github.io/Linked-Data-Templates/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-linked-data-templates' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-linked-data-templates' id='test-certification-linked-data-templates' class='earl:inapplicable'> <span resource='https://atomgraph.github.io/Linked-Data-Templates/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-linked-data-templates' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-linked-data-templates' id='test-archiving-linked-data-templates' class='earl:inapplicable'> <span resource='https://atomgraph.github.io/Linked-Data-Templates/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-linked-data-templates' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://linkeddatafragments.org/specification/linked-data-fragments/">Linked Data Fragments</a></th> <td typeof='earl:Assertion' about='#test-actors-linked-data-fragments' id='test-actors-linked-data-fragments' class='earl:inapplicable'> <span resource='https://linkeddatafragments.org/specification/linked-data-fragments/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-linked-data-fragments' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-linked-data-fragments' id='test-accessibility-linked-data-fragments' class='earl:passed'> <span resource='https://linkeddatafragments.org/specification/linked-data-fragments/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-linked-data-fragments' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-linked-data-fragments' id='test-content-linked-data-fragments' class='earl:passed'> <span resource='https://linkeddatafragments.org/specification/linked-data-fragments/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-linked-data-fragments' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-linked-data-fragments' id='test-applicability-linked-data-fragments' class='earl:inapplicable'> <span resource='https://linkeddatafragments.org/specification/linked-data-fragments/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-linked-data-fragments' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-linked-data-fragments' id='test-registration-linked-data-fragments' class='earl:inapplicable'> <span resource='https://linkeddatafragments.org/specification/linked-data-fragments/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-linked-data-fragments' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-linked-data-fragments' id='test-awareness-linked-data-fragments' class='earl:passed'> <span resource='https://linkeddatafragments.org/specification/linked-data-fragments/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-linked-data-fragments' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-linked-data-fragments' id='test-certification-linked-data-fragments' class='earl:inapplicable'> <span resource='https://linkeddatafragments.org/specification/linked-data-fragments/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-linked-data-fragments' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-linked-data-fragments' id='test-archiving-linked-data-fragments' class='earl:inapplicable'> <span resource='https://linkeddatafragments.org/specification/linked-data-fragments/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-linked-data-fragments' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://fcrepo.github.io/fcrepo-specification/">Fedora API</a></th> <td typeof='earl:Assertion' about='#test-actors-fedora-api' id='test-actors-fedora-api' class='earl:passed'> <span resource='https://fcrepo.github.io/fcrepo-specification/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-fedora-api' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-fedora-api' id='test-accessibility-fedora-api' class='earl:passed'> <span resource='https://fcrepo.github.io/fcrepo-specification/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-fedora-api' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-fedora-api' id='test-content-fedora-api' class='earl:passed'> <span resource='https://fcrepo.github.io/fcrepo-specification/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-fedora-api' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-fedora-api' id='test-applicability-fedora-api' class='earl:inapplicable'> <span resource='https://fcrepo.github.io/fcrepo-specification/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-fedora-api' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-fedora-api' id='test-registration-fedora-api' class='earl:passed'> <span resource='https://fcrepo.github.io/fcrepo-specification/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-fedora-api' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-fedora-api' id='test-awareness-fedora-api' class='earl:passed'> <span resource='https://fcrepo.github.io/fcrepo-specification/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-fedora-api' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-fedora-api' id='test-certification-fedora-api' class='earl:inapplicable'> <span resource='https://fcrepo.github.io/fcrepo-specification/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-fedora-api' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-fedora-api' id='test-archiving-fedora-api' class='earl:passed'> <span resource='https://fcrepo.github.io/fcrepo-specification/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-fedora-api' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> </tr> <tr> <th><a href="https://tools.ietf.org/html/rfc7089">Memento</a></th> <td typeof='earl:Assertion' about='#test-actors-memento' id='test-actors-memento' class='earl:inapplicable'> <span resource='https://tools.ietf.org/html/rfc7089' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-memento' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-memento' id='test-accessibility-memento' class='earl:passed'> <span resource='https://tools.ietf.org/html/rfc7089' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-memento' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-memento' id='test-content-memento' class='earl:inapplicable'> <span resource='https://tools.ietf.org/html/rfc7089' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-memento' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-memento' id='test-applicability-memento' class='earl:inapplicable'> <span resource='https://tools.ietf.org/html/rfc7089' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-memento' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-memento' id='test-registration-memento' class='earl:passed'> <span resource='https://tools.ietf.org/html/rfc7089' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-memento' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-memento' id='test-awareness-memento' class='earl:passed'> <span resource='https://tools.ietf.org/html/rfc7089' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-memento' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-memento' id='test-certification-memento' class='earl:inapplicable'> <span resource='https://tools.ietf.org/html/rfc7089' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-memento' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-memento' id='test-archiving-memento' class='earl:passed'> <span resource='https://tools.ietf.org/html/rfc7089' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-memento' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> </tr> <tr> <th><a href="https://www.w3.org/TR/annotation-protocol/">Web Annotation</a></th> <td typeof='earl:Assertion' about='#test-actors-web-annotation' id='test-actors-web-annotation' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/annotation-protocol/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-web-annotation' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-web-annotation' id='test-accessibility-web-annotation' class='earl:passed'> <span resource='https://www.w3.org/TR/annotation-protocol/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-web-annotation' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-web-annotation' id='test-content-web-annotation' class='earl:passed'> <span resource='https://www.w3.org/TR/annotation-protocol/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-web-annotation' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-web-annotation' id='test-applicability-web-annotation' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/annotation-protocol/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-web-annotation' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-web-annotation' id='test-registration-web-annotation' class='earl:passed'> <span resource='https://www.w3.org/TR/annotation-protocol/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-web-annotation' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-web-annotation' id='test-awareness-web-annotation' class='earl:passed'> <span resource='https://www.w3.org/TR/annotation-protocol/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-web-annotation' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-web-annotation' id='test-certification-web-annotation' class='earl:passed'> <span resource='https://www.w3.org/TR/annotation-protocol/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-web-annotation' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-web-annotation' id='test-archiving-web-annotation' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/annotation-protocol/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-web-annotation' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://www.w3.org/TR/activitypub/">ActivityPub</a></th> <td typeof='earl:Assertion' about='#test-actors-activitypub' id='test-actors-activitypub' class='earl:passed'> <span resource='https://www.w3.org/TR/activitypub/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-activitypub' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-activitypub' id='test-accessibility-activitypub' class='earl:passed'> <span resource='https://www.w3.org/TR/activitypub/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-activitypub' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-activitypub' id='test-content-activitypub' class='earl:passed'> <span resource='https://www.w3.org/TR/activitypub/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-activitypub' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-activitypub' id='test-applicability-activitypub' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/activitypub/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-activitypub' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-activitypub' id='test-registration-activitypub' class='earl:passed'> <span resource='https://www.w3.org/TR/activitypub/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-activitypub' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-activitypub' id='test-awareness-activitypub' class='earl:passed'> <span resource='https://www.w3.org/TR/activitypub/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-activitypub' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-activitypub' id='test-certification-activitypub' class='earl:passed'> <span resource='https://www.w3.org/TR/activitypub/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-activitypub' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-activitypub' id='test-archiving-activitypub' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/activitypub/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-activitypub' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://www.w3.org/TR/ldn/">Linked Data Notifications</a></th> <td typeof='earl:Assertion' about='#test-actors-linked-data-notifications' id='test-actors-linked-data-notifications' class='earl:passed'> <span resource='https://www.w3.org/TR/ldn/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-linked-data-notifications' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-linked-data-notifications' id='test-accessibility-linked-data-notifications' class='earl:passed'> <span resource='https://www.w3.org/TR/ldn/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-linked-data-notifications' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-linked-data-notifications' id='test-content-linked-data-notifications' class='earl:passed'> <span resource='https://www.w3.org/TR/ldn/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-linked-data-notifications' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-linked-data-notifications' id='test-applicability-linked-data-notifications' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/ldn/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-linked-data-notifications' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-linked-data-notifications' id='test-registration-linked-data-notifications' class='earl:passed'> <span resource='https://www.w3.org/TR/ldn/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-linked-data-notifications' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-linked-data-notifications' id='test-awareness-linked-data-notifications' class='earl:passed'> <span resource='https://www.w3.org/TR/ldn/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-linked-data-notifications' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-linked-data-notifications' id='test-certification-linked-data-notifications' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/ldn/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-linked-data-notifications' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-linked-data-notifications' id='test-archiving-linked-data-notifications' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/ldn/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-linked-data-notifications' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://www.w3.org/2005/Incubator/webid/spec/identity">WebID</a></th> <td typeof='earl:Assertion' about='#test-actors-webid' id='test-actors-webid' class='earl:passed'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/identity' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-webid' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-webid' id='test-accessibility-webid' class='earl:passed'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/identity' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-webid' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-webid' id='test-content-webid' class='earl:passed'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/identity' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-webid' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-webid' id='test-applicability-webid' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/identity' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-webid' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-webid' id='test-registration-webid' class='earl:passed'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/identity' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-webid' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-webid' id='test-awareness-webid' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/identity' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-webid' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-webid' id='test-certification-webid' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/identity' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-webid' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-webid' id='test-archiving-webid' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/identity' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-webid' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://www.w3.org/2005/Incubator/webid/spec/tls">WebID-TLS</a></th> <td typeof='earl:Assertion' about='#test-actors-webid-tls' id='test-actors-webid-tls' class='earl:passed'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/tls' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-webid-tls' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-webid-tls' id='test-accessibility-webid-tls' class='earl:passed'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/tls' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-webid-tls' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-webid-tls' id='test-content-webid-tls' class='earl:passed'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/tls' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-webid-tls' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-webid-tls' id='test-applicability-webid-tls' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/tls' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-webid-tls' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-webid-tls' id='test-registration-webid-tls' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/tls' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-webid-tls' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-webid-tls' id='test-awareness-webid-tls' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/tls' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-webid-tls' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-webid-tls' id='test-certification-webid-tls' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/tls' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-webid-tls' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-webid-tls' id='test-archiving-webid-tls' class='earl:inapplicable'> <span resource='https://www.w3.org/2005/Incubator/webid/spec/tls' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-webid-tls' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://github.com/solid/webid-oidc-spec">WebID-OIDC</a></th> <td typeof='earl:Assertion' about='#test-actors-webid-oidc' id='test-actors-webid-oidc' class='earl:passed'> <span resource='https://github.com/solid/webid-oidc-spec' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-webid-oidc' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-webid-oidc' id='test-accessibility-webid-oidc' class='earl:passed'> <span resource='https://github.com/solid/webid-oidc-spec' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-webid-oidc' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-webid-oidc' id='test-content-webid-oidc' class='earl:passed'> <span resource='https://github.com/solid/webid-oidc-spec' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-webid-oidc' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-webid-oidc' id='test-applicability-webid-oidc' class='earl:inapplicable'> <span resource='https://github.com/solid/webid-oidc-spec' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-webid-oidc' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-webid-oidc' id='test-registration-webid-oidc' class='earl:inapplicable'> <span resource='https://github.com/solid/webid-oidc-spec' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-webid-oidc' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-webid-oidc' id='test-awareness-webid-oidc' class='earl:inapplicable'> <span resource='https://github.com/solid/webid-oidc-spec' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-webid-oidc' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-webid-oidc' id='test-certification-webid-oidc' class='earl:inapplicable'> <span resource='https://github.com/solid/webid-oidc-spec' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-webid-oidc' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-webid-oidc' id='test-archiving-webid-oidc' class='earl:inapplicable'> <span resource='https://github.com/solid/webid-oidc-spec' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-webid-oidc' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> </tbody> <tbody> <tr><th scope='rowgroup' colspan='9'>Model</th></tr> <tr> <th><a href="http://www.w3.org/ns/auth/acl">Web Access Control</a></th> <td typeof='earl:Assertion' about='#test-actors-web-access-control' id='test-actors-web-access-control' class='earl:passed'> <span resource='http://www.w3.org/ns/auth/acl' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-web-access-control' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-web-access-control' id='test-accessibility-web-access-control' class='earl:passed'> <span resource='http://www.w3.org/ns/auth/acl' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-web-access-control' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-web-access-control' id='test-content-web-access-control' class='earl:inapplicable'> <span resource='http://www.w3.org/ns/auth/acl' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-web-access-control' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-web-access-control' id='test-applicability-web-access-control' class='earl:inapplicable'> <span resource='http://www.w3.org/ns/auth/acl' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-web-access-control' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-web-access-control' id='test-registration-web-access-control' class='earl:inapplicable'> <span resource='http://www.w3.org/ns/auth/acl' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-web-access-control' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-web-access-control' id='test-awareness-web-access-control' class='earl:inapplicable'> <span resource='http://www.w3.org/ns/auth/acl' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-web-access-control' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-web-access-control' id='test-certification-web-access-control' class='earl:inapplicable'> <span resource='http://www.w3.org/ns/auth/acl' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-web-access-control' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-web-access-control' id='test-archiving-web-access-control' class='earl:inapplicable'> <span resource='http://www.w3.org/ns/auth/acl' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-web-access-control' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="http://www.hydra-cg.com/spec/latest/core/">Hydra Core</a></th> <td typeof='earl:Assertion' about='#test-actors-hydra-core' id='test-actors-hydra-core' class='earl:inapplicable'> <span resource='http://www.hydra-cg.com/spec/latest/core/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-hydra-core' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-hydra-core' id='test-accessibility-hydra-core' class='earl:passed'> <span resource='http://www.hydra-cg.com/spec/latest/core/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-hydra-core' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-hydra-core' id='test-content-hydra-core' class='earl:passed'> <span resource='http://www.hydra-cg.com/spec/latest/core/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-hydra-core' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-hydra-core' id='test-applicability-hydra-core' class='earl:inapplicable'> <span resource='http://www.hydra-cg.com/spec/latest/core/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-hydra-core' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-hydra-core' id='test-registration-hydra-core' class='earl:inapplicable'> <span resource='http://www.hydra-cg.com/spec/latest/core/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-hydra-core' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-hydra-core' id='test-awareness-hydra-core' class='earl:passed'> <span resource='http://www.hydra-cg.com/spec/latest/core/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-hydra-core' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-hydra-core' id='test-certification-hydra-core' class='earl:inapplicable'> <span resource='http://www.hydra-cg.com/spec/latest/core/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-hydra-core' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-hydra-core' id='test-archiving-hydra-core' class='earl:inapplicable'> <span resource='http://www.hydra-cg.com/spec/latest/core/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-hydra-core' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="https://www.w3.org/TR/activitystreams-vocabulary/">Activity Streams</a></th> <td typeof='earl:Assertion' about='#test-actors-activity-streams' id='test-actors-activity-streams' class='earl:passed'> <span resource='https://www.w3.org/TR/activitystreams-vocabulary/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-activity-streams' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-activity-streams' id='test-accessibility-activity-streams' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/activitystreams-vocabulary/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-activity-streams' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-activity-streams' id='test-content-activity-streams' class='earl:passed'> <span resource='https://www.w3.org/TR/activitystreams-vocabulary/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-activity-streams' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-activity-streams' id='test-applicability-activity-streams' class='earl:passed'> <span resource='https://www.w3.org/TR/activitystreams-vocabulary/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-activity-streams' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-activity-streams' id='test-registration-activity-streams' class='earl:passed'> <span resource='https://www.w3.org/TR/activitystreams-vocabulary/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-activity-streams' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-activity-streams' id='test-awareness-activity-streams' class='earl:passed'> <span resource='https://www.w3.org/TR/activitystreams-vocabulary/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-activity-streams' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-activity-streams' id='test-certification-activity-streams' class='earl:passed'> <span resource='https://www.w3.org/TR/activitystreams-vocabulary/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-activity-streams' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-activity-streams' id='test-archiving-activity-streams' class='earl:inapplicable'> <span resource='https://www.w3.org/TR/activitystreams-vocabulary/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-activity-streams' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> </tr> <tr> <th><a href="http://robustlinks.mementoweb.org/spec/">Robust Links</a></th> <td typeof='earl:Assertion' about='#test-actors-robust-links' id='test-actors-robust-links' class='earl:inapplicable'> <span resource='http://robustlinks.mementoweb.org/spec/' rel='earl:subject'></span> <span resource='#forces-actors' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-actors-robust-links' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-accessibility-robust-links' id='test-accessibility-robust-links' class='earl:inapplicable'> <span resource='http://robustlinks.mementoweb.org/spec/' rel='earl:subject'></span> <span resource='#forces-accessibility' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-accessibility-robust-links' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-content-robust-links' id='test-content-robust-links' class='earl:passed'> <span resource='http://robustlinks.mementoweb.org/spec/' rel='earl:subject'></span> <span resource='#forces-content' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-content-robust-links' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-applicability-robust-links' id='test-applicability-robust-links' class='earl:inapplicable'> <span resource='http://robustlinks.mementoweb.org/spec/' rel='earl:subject'></span> <span resource='#forces-applicability' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-applicability-robust-links' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-registration-robust-links' id='test-registration-robust-links' class='earl:inapplicable'> <span resource='http://robustlinks.mementoweb.org/spec/' rel='earl:subject'></span> <span resource='#functions-registration' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-registration-robust-links' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-awareness-robust-links' id='test-awareness-robust-links' class='earl:passed'> <span resource='http://robustlinks.mementoweb.org/spec/' rel='earl:subject'></span> <span resource='#functions-awareness' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-awareness-robust-links' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> <td typeof='earl:Assertion' about='#test-certification-robust-links' id='test-certification-robust-links' class='earl:inapplicable'> <span resource='http://robustlinks.mementoweb.org/spec/' rel='earl:subject'></span> <span resource='#functions-certification' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-certification-robust-links' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:inapplicable' rel='earl:outcome'>⌙</span> </span> </td> <td typeof='earl:Assertion' about='#test-archiving-robust-links' id='test-archiving-robust-links' class='earl:passed'> <span resource='http://robustlinks.mementoweb.org/spec/' rel='earl:subject'></span> <span resource='#functions-archiving' rel='earl:test'></span> <span typeof='earl:TestResult' resource='#result-test-archiving-robust-links' rel='earl:result'> <span resource='earl:manual' rel='earl:mode'></span> <span resource='earl:passed' rel='earl:outcome'>✔</span> </span> </td> </tr> </tbody> <tfoot> <tr> <td colspan='9'> <dl> <dt class='earl:passed'><abbr title='Passed'>✔</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#passed">Passed</a></dd> <dt class='earl:failed'><abbr title='Failed'>✗</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#failed">Failed</a></dd> <dt class='earl:cantTell'><abbr title='Cannot tell'>?</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#cantTell">Cannot tell</a></dd> <dt class='earl:inapplicable'><abbr title='Inapplicable'>⌙</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#inapplicable">Inapplicable</a></dd> <dt class='earl:untested'><abbr title='Untested'>○</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#untested">Untested</a></dd> </dl> <p>The data in this table was <a href="https://www.w3.org/TR/EARL10/#manual">manually</a> determined, where a specification whether intended to and can fulfill a force or a function.</p> <p>The suite of Web Annotation standards are grouped. Triple Pattern Fragments is grouped into Linked Data Fragments. WebID incorporates identification systems that can be used for actors (any HTTP, PURL, w3id, ORCID), as well as the WebID Profile that describes it.</p> <span resource='#test-actors-linked-data-platform' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-linked-data-platform' rel='rdfs:seeAlso'></span> <span resource='#test-content-linked-data-platform' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-linked-data-platform' rel='rdfs:seeAlso'></span> <span resource='#test-registration-linked-data-platform' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-linked-data-platform' rel='rdfs:seeAlso'></span> <span resource='#test-certification-linked-data-platform' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-linked-data-platform' rel='rdfs:seeAlso'></span> <span resource='#test-actors-linked-data-templates' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-linked-data-templates' rel='rdfs:seeAlso'></span> <span resource='#test-content-linked-data-templates' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-linked-data-templates' rel='rdfs:seeAlso'></span> <span resource='#test-actors-linked-data-templates' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-linked-data-templates' rel='rdfs:seeAlso'></span> <span resource='#test-certification-linked-data-templates' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-linked-data-templates' rel='rdfs:seeAlso'></span> <span resource='#test-actors-linked-data-fragments' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-linked-data-fragments' rel='rdfs:seeAlso'></span> <span resource='#test-content-linked-data-fragments' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-linked-data-fragments' rel='rdfs:seeAlso'></span> <span resource='#test-registration-linked-data-fragments' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-linked-data-fragments' rel='rdfs:seeAlso'></span> <span resource='#test-certification-linked-data-fragments' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-linked-data-fragments' rel='rdfs:seeAlso'></span> <span resource='#test-actors-fedora-api' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-fedora-api' rel='rdfs:seeAlso'></span> <span resource='#test-content-fedora-api' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-fedora-api' rel='rdfs:seeAlso'></span> <span resource='#test-registration-fedora-api' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-fedora-api' rel='rdfs:seeAlso'></span> <span resource='#test-certification-fedora-api' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-fedora-api' rel='rdfs:seeAlso'></span> <span resource='#test-actors-memento' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-memento' rel='rdfs:seeAlso'></span> <span resource='#test-content-memento' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-memento' rel='rdfs:seeAlso'></span> <span resource='#test-registration-memento' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-memento' rel='rdfs:seeAlso'></span> <span resource='#test-certification-memento' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-memento' rel='rdfs:seeAlso'></span> <span resource='#test-actors-web-annotation' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-web-annotation' rel='rdfs:seeAlso'></span> <span resource='#test-content-web-annotation' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-web-annotation' rel='rdfs:seeAlso'></span> <span resource='#test-registration-web-annotation' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-web-annotation' rel='rdfs:seeAlso'></span> <span resource='#test-certification-web-annotation' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-web-annotation' rel='rdfs:seeAlso'></span> <span resource='#test-actors-activitypub' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-activitypub' rel='rdfs:seeAlso'></span> <span resource='#test-content-activitypub' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-activitypub' rel='rdfs:seeAlso'></span> <span resource='#test-registration-activitypub' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-activitypub' rel='rdfs:seeAlso'></span> <span resource='#test-certification-activitypub' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-activitypub' rel='rdfs:seeAlso'></span> <span resource='#test-actors-linked-data-notifications' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-linked-data-notifications' rel='rdfs:seeAlso'></span> <span resource='#test-content-linked-data-notifications' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-linked-data-notifications' rel='rdfs:seeAlso'></span> <span resource='#test-registration-linked-data-notifications' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-linked-data-notifications' rel='rdfs:seeAlso'></span> <span resource='#test-certification-linked-data-notifications' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-linked-data-notifications' rel='rdfs:seeAlso'></span> <span resource='#test-actors-webid' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-webid' rel='rdfs:seeAlso'></span> <span resource='#test-content-webid' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-webid' rel='rdfs:seeAlso'></span> <span resource='#test-registration-webid' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-webid' rel='rdfs:seeAlso'></span> <span resource='#test-certification-webid' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-webid' rel='rdfs:seeAlso'></span> <span resource='#test-actors-webid-tls' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-webid-tls' rel='rdfs:seeAlso'></span> <span resource='#test-content-webid-tls' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-webid-tls' rel='rdfs:seeAlso'></span> <span resource='#test-registration-webid-tls' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-webid-tls' rel='rdfs:seeAlso'></span> <span resource='#test-certification-webid-tls' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-webid-tls' rel='rdfs:seeAlso'></span> <span resource='#test-actors-webid-oidc' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-webid-oidc' rel='rdfs:seeAlso'></span> <span resource='#test-content-webid-oidc' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-webid-oidc' rel='rdfs:seeAlso'></span> <span resource='#test-registration-webid-oidc' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-webid-oidc' rel='rdfs:seeAlso'></span> <span resource='#test-certification-webid-oidc' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-webid-oidc' rel='rdfs:seeAlso'></span> <span resource='#test-actors-web-access-control' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-web-access-control' rel='rdfs:seeAlso'></span> <span resource='#test-content-web-access-control' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-web-access-control' rel='rdfs:seeAlso'></span> <span resource='#test-registration-web-access-control' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-web-access-control' rel='rdfs:seeAlso'></span> <span resource='#test-certification-web-access-control' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-web-access-control' rel='rdfs:seeAlso'></span> <span resource='#test-actors-hydra-core' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-hydra-core' rel='rdfs:seeAlso'></span> <span resource='#test-content-hydra-core' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-hydra-core' rel='rdfs:seeAlso'></span> <span resource='#test-registration-hydra-core' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-hydra-core' rel='rdfs:seeAlso'></span> <span resource='#test-certification-hydra-core' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-hydra-core' rel='rdfs:seeAlso'></span> <span resource='#test-actors-activity-streams' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-activity-streams' rel='rdfs:seeAlso'></span> <span resource='#test-content-activity-streams' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-activity-streams' rel='rdfs:seeAlso'></span> <span resource='#test-registration-activity-streams' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-activity-streams' rel='rdfs:seeAlso'></span> <span resource='#test-certification-activity-streams' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-activity-streams' rel='rdfs:seeAlso'></span> <span resource='#test-actors-robust-links' rel='rdfs:seeAlso'></span> <span resource='#test-accessibility-robust-links' rel='rdfs:seeAlso'></span> <span resource='#test-content-robust-links' rel='rdfs:seeAlso'></span> <span resource='#test-applicability-robust-links' rel='rdfs:seeAlso'></span> <span resource='#test-registration-robust-links' rel='rdfs:seeAlso'></span> <span resource='#test-awareness-robust-links' rel='rdfs:seeAlso'></span> <span resource='#test-certification-robust-links' rel='rdfs:seeAlso'></span> <span resource='#test-archiving-robust-links' rel='rdfs:seeAlso'></span> </td> </tr> </tfoot> </table> </div> </section> <section resource='#the-effects-and-artifacts-of-autonomous-engagement' rel='schema:hasPart' inlist='' id='the-effects-and-artifacts-of-autonomous-engagement'> <h3 property='schema:name'>The Effects and Artifacts of Autonomous Engagement</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The Web’s design stands out because of its absence of centralised control, both for technical reasons of scalability and resilience as well as a societal need to exercise creative and effective communication. A challenge in such large-scale decentralised networks is how related publications can be semantically interlinked, even if they are authored and published by different parties. Centralising their publications is practiced by the majority of authoring networks today, demanding authors to give up some or all of their control in exchange for technical simplicity.</p> <p>We can approach an alternative to this centralisation by adopting Web-centric workflows that are inherently interoperable by design, but most importantly by enabling the creators and the users of data and applications to be autonomous entities, working towards the democratisation of scholarly knowledge for humans and machines. One way to achieve this is by decentralisation and decoupling of data and applications. By <dfn typeof='skos:Concept' resource='#concept-scheme' rel='skos:topConceptOf' property='skos:prefLabel' id='concept-decentralisation' about='#concept-decentralisation'>decentralisation</dfn>, I mean <span property='skos:definition' about='#concept-decentralisation'>data and applications are loosely coupled, and users can choose where their data is stored. I focus on Web-based decentralisation, where content is transported over HTTP, and resources are identified with URIs.</span></p> <p>The future of self-registration of scholarly units depends in large part on how well its practitioners, advocates, educators alike, are able to reconcile the ideals that the medium offers with the realities of the commercial third-party systems within which scholarly communication operates and the homogenizing influences of scholarly socialisation.</p> <p>While these challenges are technically surmountable, they need to be taken seriously if, the extreme case where <em>anyone can say anything about anything</em> is subject to be treated on equal grounds as a piece of information that is well certified. One contemporary and popular example of this scenario is where nearly all scientists being in agreement on the presence of global warming, climate change, and its consequences. In order to honour a commitment to public service, scientific communication – independent to self-registration – must remain grounded on reproducible and replicable facts and explanations, as well as pertain attributable and accountable participants. The output affects society, from journalism, advancement of scientific knowledge, policy making, as well public opinion and perception.</p> <p>Decentralised authoring, publication, and annotation furthermore have the potential to impact areas in which centralised services currently determine the pace of evolution. Scientific publishing, for instance, is often bound to centralised review and dissemination processes. Instead, rigorous scientific discourse can still be realised with an open, decentralised environment for the annotation of manuscripts, which can potentially reach interested parties in a timely manner. Trust then no longer stems from a finite process with limited transparency, but is rather continuously assessed by repeated independent validation. Publication thereby becomes the starting point rather than the end point of the scholarly communication process. An application built with interoperable open Web standards can potentially communicate with services that conform to the same protocols and data models.</p> <p id='non-functional-requirements'><strong>Non-Functional Requirements</strong>: While there are plethora of <cite>architecturally significant requirements</cite> such as institutional or orientations in society and industry, I focus on non-functional and functional requirements which enable personal and academic freedom, in particular to creating affordances towards autonomy and interoperable participation on the open Web. I derive non-functional requirements for systems to aim at addressing the forces and functions in scientific communication through the following:</p> <ul> <li><em>Interoperability</em> to improve discovery, accessibility, integrability, and reusability.</li> <li><em>Security and privacy</em> to honour desire to remain safe and information not to be shared without consent.</li> <li><em>Modularity and extensibility</em> to enable evolvable and reconfigurable systems.</li> <li><em>Data integrity, transparency, and reliability</em> towards building trust.</li> <li><em>Persistence and preservation</em> to ensure that units of scholarly information preserves into the future.</li> </ul> <p>In order to support publishers and consumers (in the most general sense of <em>actor</em> roles), it is important to seek system designs that give control to its users at various fronts. This is to foster a scholarly ecosystem where users having the means to participate:</p> <ul> <li>by creating and using their preferred identifiers for identities and data;</li> <li>by deciding what can access data and under which conditions;</li> <li>by using different applications on the same data for different purposes.</li> </ul> </div> </section> </div> </section> <section resource='#linked-data-notifications' rel='schema:hasPart' inlist='' id='linked-data-notifications'> <h2 property='schema:name'>Linked Data Notifications</h2> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='http://www.chakoteya.net/Voyager/613.htm'> <dl> <dt>JANEWAY</dt><dd>To be honest, we're having a little trouble understanding your technology.</dd> <dt>ABARCA</dt><dd>The problem is your technology. Interference from your antiquated scanning devices shut down our propulsion system.</dd> <dt>TINCOO</dt><dd>Forgive us, Captain. We live in a closed system. We are not accustomed to interacting with other species, especially inferior ones.</dd> <dt>JANEWAY</dt><dd>Well then, I guess we'll leave the repairs in your superior hands.</dd> </dl> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.chakoteya.net/Voyager/613.htm" data-versionurl='https://web.archive.org/web/20180912072021/http://www.chakoteya.net/Voyager/613.htm' data-versiondate='2018-09-12T07:20:21Z'>Virtuoso</a>, Star Trek: Voyager</cite>, 2000</footer> </blockquote> <p>In this section I describe my knowledge and artifact contributions of a decentralised notification protocol. Parts of this section are adapted from work published as <cite><a rel='cito:citesAsSourceDocument' href="https://csarven.ca/linked-data-notifications" data-versionurl='https://web.archive.org/web/20190709212249/https://csarven.ca/linked-data-notifications' data-versiondate='2019-07-09T21:22:49Z'>Linked Data Notifications: a resource-centric communication protocol</a></cite>, Capadisli, 2017, <cite><a rel='cito:discusses' href="http://2017.eswc-conferences.org/" data-versionurl='https://web.archive.org/web/20190729124643/http://2017.eswc-conferences.org/' data-versiondate='2019-07-29T12:46:43Z'>Extended Semantic Web Conference</a></cite> (Best Student Paper Award). Additionally some parts are adapted from <cite><a rel='cito:citesAsSourceDocument' href="https://csarven.ca/linked-specifications-reports" data-versionurl='https://web.archive.org/web/20190709212249/https://csarven.ca/linked-specifications-reports' data-versiondate='2019-07-09T21:22:49Z'>Linked Specifications, Test Suites, and Implementation Reports</a></cite>, Capadisli, 2018, TheWebConf Developers Track. Finally, parts of the W3C Recommendation <cite><a rel='cito:citesAsSourceDocument' href="https://www.w3.org/TR/ldn/" data-versionurl='https://web.archive.org/web/20190709211912/https://www.w3.org/TR/ldn/' data-versiondate='2019-07-09T21:19:12Z'>Linked Data Notifications</a></cite>, editors Capadisli and Guy, 2017, have been integrated as well.</p> <section resource='#fulfilling-the-awareness-function' rel='schema:hasPart' inlist='' id='fulfilling-the-awareness-function'> <h3 property='schema:name'>Fulfilling the Awareness Function</h3> <div property='schema:description' datatype='rdf:HTML'> <p>As scholarly content is created and registered, becoming globally identifiable on the Web, the next challenge is to ensure it is <em>findable</em> and <em>discoverable</em> within a decentralised system.</p> <p>I have <a href="https://csarven.ca/linked-research-decentralised-web/#decentralising-scholarly-communication">reviewed</a> a number of Web standards and specifications pertaining to <a href="https://csarven.ca/linked-research-decentralised-web/#read-write-linked-data">read-write Linked Data</a>, vocabularies about <a href="https://csarven.ca/linked-research-decentralised-web/#publishing-and-referencing">publishing resources</a> and <a href="https://csarven.ca/linked-research-decentralised-web/#participation">social participation</a>, and explained how they can be combined in various ways to realise a wide array of scholarly and social activities in a decentralised fashion. This section describes the design and standardisation of a decentralised notification system that works on the HTTP application layer.</p> <p>Notifications are sent over the Web for a variety of purposes, including social applications: <q>You have been invited to a vegan lunch!</q>, <q>Guinan annotated your article</q>, <q>Eunice tagged you in a photo</q>. The notification data may be displayed to a human to acknowledge, or used to trigger some other application-specific process (or both). Such notifications are also useful as part of a decentralised scholarly communications ecosystem, primarily for fulfilling the <em>awareness</em> function.</p> <p>Notifications are a common part of many centralised Web applications, and variety of uses are in social media. In this case, notifications are structured arbitrarily and are typically only usable by the sanctioned applications or those that generated them in the first place. So far, notifications are <em>ephemeral</em> resources which may disappear after delivery, and thus are not designed for reuse. In such systems, communication and semantic interoperability across independently built applications is not expected. This design however places limitations on possible interactions around a notification. For example, current major social media services on the Web act as disjoint closed ecosystems, commonly known as <q><a href="https://en.wikipedia.org/wiki/Closed_platform">walled gardens</a></q> in contrast to open platforms with more possibilities for extensibility and reuse of applications and content. In essence, notification data is locked into particular systems, and users are restricted to using tightly coupled applications. Such software and systems are only capable of exchanging notifications if they have prior knowledge about the actors involved, location of the data, data formats, and user interfaces. Customarily, switching applications entails switching social providers, and having to create new profiles, and yet again reconnect or build one’s social network in the new system from scratch. This scenario is analogous to using an email application that’s customised to each service provider, and only being able to send and receive emails from people that use the same provider. In order for information to flow between systems customised communication interfaces or APIs need to be created after the fact, thus imposing additional maintenance tax for systems to cooperate.</p> <p>In a decentralised architecture, notifications can be a key element for federation of information, and application integration. Current efforts towards <em>re-decentralising</em> the Web are moving towards architectures in which data storage is decoupled from application logic, freeing end users to switch between applications, or to let multiple applications operate over the same data.</p> <p>Similarly for a decentralised scholarly Web, notification data should not be locked into particular systems. Data generated from independently built applications should be discoverable and increase their chance for reusability by other applications. Users can choose where to store their notifications as well as using their preferred applications to create, discover, and consume the data.</p> <p>This section addresses the following <a href="https://csarven.ca/linked-research-decentralised-web/#research-questions">research question</a> for this thesis:</p> <blockquote cite='#technical-research-problems-mechanisms'> <p>What technical mechanisms, standards or protocols can be employed for decentralised information exchange on the Web?</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://csarven.ca/linked-research-decentralised-web/#technical-research-problems-mechanisms">Mechanisms</a></cite></footer> </blockquote> <p>The following are core requirements of a notifications protocol in context of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite>:</p> <ul> <li>Actors can use their preferred applications to discover, reuse, and send notifications.</li> <li>Actors store incoming notifications where they prefer.</li> <li>Actors switching between applications without having to move their data.</li> <li>Actors change the location of their data without having to change their application.</li> </ul> <p>In the following subsections I review existing decentralised protocols for notifications, and then outline use cases for notifications in scholarly communication. These use cases yield key design considerations, which are taken into account for the design of a new protocol – Linked Data Notifications (LDN) – which can be implemented to meet the awareness function for scholarly communication in decentralised systems, as well as meet the degree of control requirements listed above. LDN also supports systems with respect to the registration, certification and archiving functions.</p> <p>I developed LDN and served as the specification editor as part of the W3C Social Web Working Group (<abbr title='Social Web Working Group'>SWWG</abbr>), and LDN became a W3C Recommendation in May 2017. This section outlines key features and discusses design decisions made in the context of scholarly communication; for reference the specification in its entirety can be found at <a href="https://www.w3.org/TR/ldn/">https://www.w3.org/TR/ldn/</a>.</p> </div> </section> <section typeof='deo:RelatedWork' resource='#overview-of-web-notification-systems' rel='schema:hasPart' inlist='' id='overview-of-web-notification-systems'> <h3 property='schema:name'>Overview of Web Notification Systems</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Many systems which make use of notifications operate either in a completely centralised way, or are decentralised only in the sense that different instances of the <em>same</em> codebase need to interoperate; this review is restricted to mechanisms which do not expect the notification to be received or used only by the same software or platform which sent it.</p> <p>Existing decentralised notification mechanisms can be grouped according to the notification contents. Notification contents are either: 1) One or more URLs, indicating relations between Web resources (aka a ‘thin ping’), or 2) a ‘fat ping’ containing a blob of information. Semantic Pingback, Webmention, and Provenance Pingback follow the first form, and are also known as <cite>linkbacks</cite>, the suite of protocols that essentially allows Web documents to automatically reciprocate hyperlinks. This has the advantage that a verification mechanism can be tightly specified (the URL of the target must appear in the content of the source), but the disadvantage that notifications are generally suitable for website publishing. Fat pings, in contrast, are flexible and extensible in that payloads can be in any content type, carry any information, and be used for various use cases.</p> <p id='semantic-pingback-and-webmention'><cite><a typeof='doap:Specification' rel='cito:citesAsRelated' href="https://aksw.github.io/SemanticPingback/" data-versionurl='https://web.archive.org/web/20190709212249/https://aksw.github.io/SemanticPingback/' data-versiondate='2019-07-09T21:22:49Z'>Semantic Pingback</a></cite> and <cite><a typeof='doap:Specification' rel='cito:citesAsRelated' href="https://www.w3.org/TR/webmention/" data-versionurl='https://web.archive.org/web/20190709212249/https://www.w3.org/TR/webmention/' data-versiondate='2019-07-09T21:22:49Z'>Webmention</a></cite> are protocols to send and receive notifications when a relationship is created, updated, or deleted between two URLs. They both update the original <cite><a typeof='doap:Specification' rel='cito:citesAsRelated' href="http://www.hixie.ch/specs/pingback/pingback" data-versionurl='https://web.archive.org/web/20190709212250/http://www.hixie.ch/specs/pingback/pingback' data-versiondate='2019-07-09T21:22:50Z'>Pingback</a></cite> mechanism by replacing the XML-RPC transport mechanism by a <code>x-www-form-urlencoded</code> request with two parameters (<code>source</code> and <code>target</code>). Resources which are the target for a notification advertise the respective receiving service or endpoint via a <code>Link</code> relation, either in HTTP headers or HTML. Semantic Pingback additionally enables discovery of the Pingback service where target description is available in RDF. While the content at source may indicate (in any convention or serialisation format) the type of relation between the source and target URLs, this information about the relation is not transmitted to the receiver’s endpoint; only the source and target URLs are sent. As such, there is also no way to deterministically distinguish between multiple mentions of the target at the source based on the information in the mention. Hence, each receiver implementation is responsible for interpreting the underlying information at the source, thereby potentially inconsistent across implementations. In contrast, Semantic Pingback does encourage generation of additional semantics about the relation(s) between the source and the target by processing the source as RDF if possible, and also defines specific ways for a receiving server to handle incoming pingback data in order to add the source data to an RDF knowledge base. Beyond verifying that the source contains the URL of the target, Webmention does not specify any further requirements of the receiving server; nor is it expected that “mentions” are retrievable once they have been sent.</p> <p id='provenance-pingback'>A <cite><a typeof='doap:Specification' rel='cito:citesAsRelated' href="http://www.w3.org/TR/prov-aq/#provenance-pingback" data-versionurl='https://web.archive.org/web/20190709212249/http://www.w3.org/TR/prov-aq/' data-versiondate='2019-07-09T21:22:49Z'>Provenance Pingback</a></cite> endpoint is also advertised via the HTTP <code>Link</code> header; it accepts a list of URIs for provenance records describing uses of the resource. Provenance Pingback does not specify any further behaviour by the receiving server, but the contents at the URIs listed in the notification body must be semantic data.</p> <p>Other notification mechanisms send more information than just URLs in the notification body in the form of fat pings. With the exception of WebSub, due to each mechanism’s focused use case, the payload of notifications is restricted to a particular vocabulary.</p> <p id='websub'><cite><a typeof='doap:Specification' rel='cito:citesAsRelated' href="https://www.w3.org/TR/websub/" data-versionurl='https://web.archive.org/web/20190709212251/https://www.w3.org/TR/websub/' data-versiondate='2019-07-09T21:22:51Z'>WebSub</a></cite>, previously known as <cite><a typeof='doap:Specification' rel='cito:citesAsRelated' href="http://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html" data-versionurl='https://web.archive.org/web/20190709212250/http://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html' data-versiondate='2019-07-09T21:22:50Z'>PubSubHubbub</a></cite> (<abbr title='PubSubHubbub'>PuSH</abbr>), is an implementation of a publish-subscribe messaging pattern for content changes. In WebSub, content publishers delegate subscriptions to and distribution of new and updated content to a hub, which acts as a broker service. Subscribers send a request with a topic of interest – the URL of a resource – to a hub and specify a location where content can be delivered to. When a publisher informs a hub about content changes, a hub then handles the distribution by sending a copy of the content that a publisher makes available to the subscriber’s preferred location. The distributed content may be any arbitrary content type. Subscribers only indicate that they have received hub’s message or to retry later.</p> <p id='dsnotify'><cite><a rel='cito:citesAsRelated' href="http://www.cibiv.at/~niko/dsnotify/" data-versionurl='https://web.archive.org/web/20190709212251/http://www.cibiv.at/~niko/dsnotify/' data-versiondate='2019-07-09T21:22:51Z'>DSNotify</a></cite> is a centralised service which crawls datasets and observes changes to links with the specific use case of preserving link integrity between <q>Linked Open Data</q> resources. Third-party applications can register with the sending service to receive notifications of changes in the form of a specific XML payload.</p> <p id='sparqlpush'>With the <cite><a rel='cito:citesAsRelated' href="https://www.w3.org/2001/sw/wiki/SparqlPuSH" data-versionurl='https://web.archive.org/web/20190709212251/https://www.w3.org/2001/sw/wiki/SparqlPuSH' data-versiondate='2019-07-09T21:22:51Z'>sparqlPuSH</a></cite> service, users may input a SPARQL query, the results of which are the specific updates they are interested in. The query is run periodically by the service, and the results are converted to RSS and Atom feeds, which is sent to a PuSH hub to which the user can subscribe.</p> <p id='resourcesync-change-notification'>The <cite><a typeof='doap:Specification' rel='cito:citesAsRelated' href="http://www.openarchives.org/rs/notification/1.0/notification" data-versionurl='https://web.archive.org/web/20190709212251/http://www.openarchives.org/rs/notification/1.0/notification' data-versiondate='2019-07-09T21:22:51Z'>ResourceSync Change Notification</a></cite> specification also sends update notifications via a <abbr title='PubSubHubbub'>PuSH</abbr> hub, with an XML payload based on the Sitemap format.</p> <p>Each of these mechanisms are triggered by subscription requests. That is, a user must actively solicit messages from a particular service, rather than having a way for a service to select a notification target and autonomously discover where to send notifications to.</p> <p>We present and discuss a <cite><a href="https://csarven.ca/linked-research-decentralised-web/#comparison-of-notification-mechanisms">Comparison of Notification Mechanisms</a></cite> to better understand current limitations, and how the proposed protocol addresses them and at what cost.</p> </div> </section> <section resource='#use-cases-for-decentralised-notifications' rel='schema:hasPart' inlist='' id='use-cases-for-decentralised-notifications'> <h3 property='schema:name'>Use Cases for Decentralised Notifications</h3> <div property='schema:description' datatype='rdf:HTML'> <p>In this section I refer and outline commonly known user stories as the basis to developing social and Linked Data based protocols. I also describe common scenarios in scholarly communication.</p> <p id='social-web-working-group-user-stories'>In 2015, the <cite><a rel='cito:discusses' href="https://www.w3.org/Social/WG" data-versionurl='https://web.archive.org/web/20190709212251/https://www.w3.org/Social/WG' data-versiondate='2019-07-09T21:22:51Z'>W3C Social Web Working Group</a></cite> documented <cite><a rel='cito:citesAsDataSource' href="https://www.w3.org/wiki/Socialwg/Social_API/User_stories" data-versionurl='https://web.archive.org/web/20181117140732/https://www.w3.org/wiki/Socialwg/Social_API/User_stories' data-versiondate='2018-11-17T14:07:32Z'>user stories</a></cite> in online social media in the process of producing technical specifications to enable decentralised and federated social communication. The user stories were derived from existing open and proprietary platforms on the Web, including notifications about events, certifications, annotations, requests, and announcements. For example, the following user stories concern notifications: <q>user posts a note</q>, <q>reading a user’s recent posts</q>, <q>following a person</q>, <q>adding comments to bespoke software</q>, <q>direct messaging</q>.</p> <p id='linked-data-platform-use-cases-and-requirements'>The <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldp-ucr/" data-versionurl='https://web.archive.org/web/20190709212233/https://www.w3.org/TR/ldp-ucr/' data-versiondate='2019-07-09T21:22:33Z'>Linked Data Platform Use Cases and Requirements</a></cite> (<abbr title='Linked Data Platform Use Cases and Requirements'>LDP-UCR</abbr>) documents <q cite='https://www.w3.org/TR/ldp-ucr/#aggregation-and-mashups-of-infrastructure-data'>Aggregation and Mashups of Infrastructure Data</q> as one of the user stories and <q cite='https://www.w3.org/TR/ldp-ucr/#uc6'>Aggregate resources</q> as the derived use case.</p> <p id='scholarly-communication-notification-use-cases'>In addition to general social Web activities, researchers and scholars, as well as software on their behalf (actors) perform discipline-specific activities to send (registration), discover (awareness), and reuse public and private notifications (accessibility, content). I describe some scenarios in scholarly communication which are facilitated by notifications:</p> <dl> <dt>Call for contributions</dt> <dd><em>Scenario</em>: A conference’s organising committee would like to make a public announcement that they are now accepting research contributions that can be peer reviewed.</dd> <dt>Publicising an article</dt> <dd><em>Scenario</em>: One of the authors of an article would like to let their colleagues know about their publication.</dd> <dt>Request for review</dt> <dd><em>Scenario</em>: The authors of an article requests their work to be reviewed by the members of their community.</dd> <dt>Annotating artifacts</dt> <dd><em>Scenario</em>: A reviewer or commenter wants to let the authors of an article know about their feedback.</dd> <dt>Authors notify referenced article</dt> <dd><em>Scenario</em>: In order to promote the relevancy of their article and its discovery, authors would like to announce that their article cited another article.</dd> <dt>Social actions and reactions</dt> <dd><em>Scenario</em>: Researchers perform public and private actions on resources they come across, including bookmarking, re-sharing with others, reactions such as “like“, as well as following another researchers’ activities.</dd> <dt>Providing research information</dt> <dd><em>Scenario</em>: A researcher wants to inform the scientific community that the research methods and data sources of their work is publicly accessible.</dd> <dt>State change</dt> <dd><em>Scenario</em>: As automated software detects changes in datasets, new version of an application, anomalies in sensor readings or experimental observations, it informs the laboratory.</dd> <dt>Status update</dt> <dd><em>Scenario</em>: Researchers would like to inform indexing and archiving systems about new or updates to existing artifacts so that they can perform their specialised operations.</dd> <dt>Artifacts of interest</dt> <dd><em>Scenario</em>: A recommender system, upon coming across articles and annotations that may be of interest to a researcher, wants to inform them based on their listed interests (research results, disputes over data analysis, new relations between research objects).</dd> <dt>Requesting access</dt> <dd><em>Scenario</em>: When one of the authors does not have write-access to an article, they want to make a request to their peers to have the required permissions.</dd> </dl> <p>A useful decentralised notification protocol would be able to realise some of these use cases for scholars. In the next section I describe specific design considerations derived from these uses cases, which can be used to inform the design of the protocol.</p> </div> </section> <section resource='#design-considerations' rel='schema:hasPart' inlist='' id='design-considerations'> <h3 property='schema:name'>Design Considerations</h3> <div property='schema:description' datatype='rdf:HTML'> <p>This section details design considerations for a decentralised notification protocol are based on the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#use-cases-for-decentralised-notifications">Use Cases for Decentralised Notifications</a></cite>. I will take conformance to the Linked Data design principles into account, as well as Web application best practices. I use these considerations to establish the concrete requirements and the points of implementation-specific flexibility for the protocol.</p> <p>The non-functional features include: modularity, reusability, persistence and retrievability, adaptability. The functional features include: target representation, notification body, notification verification, subscribing.</p> <p id='modularity'><strong>Modularity</strong> (<a rel='cito:discusses' href="https://csarven.ca/linked-data-notifications#modularity">R1</a>): To encourage modularity of applications, one should differentiate between different classes of implementation of the protocol. Two parties are involved in the creation of a notification: a <em>sender</em>, generating the notification data, and a <em>receiver</em>, storing the created resource. We also have the role of a <em>consumer</em>, which reads the notification data made available by a receiver, and repurposes it in some way. A software implementation can of course play two or all three of these roles; the important part is that it need not. A consuming application can read and use notification data without being concerned about ever sending or storing notifications.</p> <p id='reusability'><strong>Reusability</strong> (<a rel='cito:discusses' href="https://csarven.ca/linked-data-notifications#reusable-notifications">R2</a>): The relationship between the <em>consumer</em> and <em>receiver</em> roles is key to notifications being reusable. A consumer must be able to autonomously find the location of notifications for or about the particular resource it is interested in. To achieve this, we place a requirement on the receiver to expose notifications it has been sent in such away to permit consumer applications to access them; and specify how any resource can advertise its receiving endpoint for consumers to discover. To promote fair use or remixing of notification contents, applications can incorporate rights and licensing information into the data. Similarly, applications may include additional information on licensing resources that the notification refers to. The presence of this type of information is important for consumers to assess the (re)usability of data.</p> <p id='persistence-and-retrievability'><strong>Persistence and Retrievability</strong> (<a rel='cito:discusses' href="https://csarven.ca/linked-data-notifications#persistence-and-retrievability">R3</a>): Given the traditionally ephemeral nature of notifications, here we refer to persistence as units of information that can be registered. Applications may benefit from referring to or reusing notifications if the notifications are known to be retrievable in the long term, or indicate their expected lifespan. This enforces the notion that notifications are considered resources in their own right, with their own dereferencable URIs.</p> <p id='adaptability'><strong>Adaptability</strong> (<a rel='cito:discusses' href="https://csarven.ca/linked-data-notifications#adaptability">R4</a>): A notification protocol should be adaptable for different domains, but that there is no need to create multiple domain-specific notification protocols; the fundamental mechanics are the same given the three main architectural layers of the Web – identification, interaction, data formats.</p> <p id='target-representation'><strong>Target representation</strong> (<a rel='cito:discusses' href="https://csarven.ca/linked-data-notifications#target-representation">R4-A</a>): Any resource may be the <em>target</em> of a notification. By target, we mean a notification may be addressed <em>to</em> the resource, be <em>about</em> the resource, or for a sender to otherwise decide that it is appropriate to draw the attention of the resource (or resource owner) to the information in the notification body. As such, any Web resource must be able to advertise an endpoint to which it can receive notifications. Resources can be RDF or non-RDF (such as an image, or CSV dataset), and may be informational (a blog post, a user profile) or non-informational (a person).</p> <p id='notification-body'><strong>Notification body</strong> (<a rel='cito:discusses' href="https://csarven.ca/linked-data-notifications#notification-body">R4-B</a>): We consider the <em>contents</em> of a notification to be application specific because different domains have different needs. From a sender’s perspective, we permit a notification to contain <em>any data</em>, and a notification can use <em>any vocabulary</em>. From a consumer’s perspective, interoperability between different applications occurs through vocabulary reuse, and shared understanding of terms. This is in accordance with Linked Data principles in general. The practical upshot of this is that a calendar application which consumes event invitations using the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/rdfcal/" data-versionurl='https://web.archive.org/web/20190709212251/https://www.w3.org/TR/rdfcal/' data-versiondate='2019-07-09T21:22:51Z'>RDF Calendar</a></cite> vocabulary is likely to completely ignore notifications containing the <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/prov-o/" data-versionurl='https://web.archive.org/web/20190709212209/https://www.w3.org/TR/prov-o/' data-versiondate='2019-07-09T21:22:09Z'>PROV Ontology</a></cite>, even if it finds them all stored in the same place. For two independent applications operating in the <em>same</em> domain, a shared understanding of appropriate vocabulary terms is assumed.</p> <p id='notification-verification'><strong>Notification verification</strong> (<a rel='cito:discusses' href="https://csarven.ca/linked-data-notifications#notification-verification">R4-C</a>): From a receiver’s perspective, exposing itself to receive any blobs of RDF data from unknown senders may be problematic. Thus, it should be possible for the receiver to enforce restrictions and accept only notifications that are acceptable according to its own criteria (deemed by eg. user configuration; domain-specific receivers). This can be used as an anti-spam measure, a security protection, or for attaining application and data integrity.</p> <p id='subscribing'><strong>Subscribing</strong> (<a rel='cito:discusses' href="https://csarven.ca/linked-data-notifications#subscribing">R5</a>): In general, applications may require that new notifications are pushed to them in real-time, or to request them at appropriate intervals. To take this into account, we expand our definition of senders, receivers and consumers with the following interaction expectations: notifications are <em>pushed</em> from senders to receivers; and <em>pulled</em> from receivers by consumers.</p> <p>The table below shows the design considerations as applicable to each use case.</p> <table id='design-considerations-decentralised-use-cases'> <caption>Design considerations derived from use cases for decentralised notifications</caption> <thead> <tr><th></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#modularity">R1</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#reusability">R2</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#persistence-and-retrievability">R3</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#target-representation">R4-A</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#notification-body">R4-B</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#notification-verification">R4-C</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#subscribing">R5</a></th></tr> </thead> <tbody> <tr><th>Call for contributions</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td></td><td></td></tr> <tr><th>Publicising an article</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Request for review</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td></td><td></td></tr> <tr><th>Annotating artifacts</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Authors notify referenced article</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Social actions and reactions</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr> <tr><th>Providing research information</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td></td></tr> <tr><th>State change</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr> <tr><th>Status update</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Artifacts of interest</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr> <tr><th>Requesting access</th><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td></td></tr> </tbody> </table> </div> </section> <section resource='#a-decentralised-notifications-protocol' rel='schema:hasPart' inlist='' id='a-decentralised-notifications-protocol'> <h3 property='schema:name'>A Decentralised Notifications Protocol</h3> <div property='schema:description' datatype='rdf:HTML'> <p><dfn id='ldn'>Linked Data Notifications (<abbr title='Linked Data Notifications'>LDN</abbr>)</dfn> is an HTTP-based protocol to facilitate exchanging messages between applications. LDN describes how servers (receivers) can receive messages pushed to them by applications (senders), as well as how other applications (consumers) may retrieve those messages. Any resource (target) can advertise a receiving endpoint (Inbox) for notification messages. Messages are expressed in RDF, and can contain arbitrary data. LDN is a <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/" data-versionurl='https://web.archive.org/web/20190709211912/https://www.w3.org/TR/ldn/' data-versiondate='2019-07-09T21:19:12Z'>W3C Recommendation</a></cite>.</p> <p>LDN is defined using the following basic principles:</p> <ul> <li>The protocol is developed within the framework laid out by the <abbr title='Architecture of the World Wide Web'>AWWW</abbr>.</li> <li>Interactions are designed to take place over HTTP.</li> <li>Any Web resource may be the target of a notification.</li> <li>Notifications may contain any data and use any Linked Data vocabulary.</li> </ul> <dl resource='#inbox-notification' rel='schema:hasPart' id='inbox-notification'> <dt>Inbox</dt> <dd rel='skos:hasTopConcept'>An <span typeof='skos:Concept' resource='#concept-scheme' rel='skos:topConceptOf' property='skos:prefLabel' id='concept-inbox' about='#concept-inbox'>inbox</span> is <span property='skos:definition' about='#concept-inbox'>a container or directory (attached to a Web resource) which is used to store and serve a collection of notifications.</span></dd> <dt>Notification</dt> <dd rel='skos:hasTopConcept'>A <span typeof='skos:Concept' resource='#concept-scheme' rel='skos:topConceptOf' property='skos:prefLabel' id='concept-notification' about='#concept-notification'>notification</span> is <span property='skos:definition' about='#concept-notification'>a retrievable resource in an inbox which returns content expressed in RDF. The contents of notifications are intended to describe a change in state of some other resource, or contain new information for the attention of a user or process, and may be subject to constraints of the Inbox it is contained in.</span></dd> </dl> <p id='design-intent'>We designed the LDN protocol to support sharing and reuse of notifications <em>across</em> applications, regardless of how they were generated or what their contents are. I describe how the principles of identification, addressability and semantic representation can be applied to notifications on the Web. Specifying LDN as a formal protocol allows independently implemented, heterogeneous applications which generate and use notifications, to seamlessly work together. Thus, LDN supports the decentralisation of the Web as well as encourages the generation and consumption of Linked Data.</p> <p id='design-decision'>LDN is built on existing W3C standards and Linked Data principles. In particular, the storage of notifications is compatible with the <cite>Linked Data Platform</cite> specification; notifications are identified by HTTP URIs; and notification contents are available as JSON-LD (or other RDF syntaxes as per content-negotiation). A key architectural decision is the separation of concerns between <em>senders</em>, <em>receivers</em>, and <em>consumers</em> of notifications. Implementations of the protocol can play one or more of these roles, and interoperate successfully with implementations playing the complementary roles. This means that notifications generated by one application can be reused by a completely different application, accessed via the store where the notification data resides, through shared Linked Data vocabularies. LDN also pushes the decentralised approach further by allowing any <em>target</em> resource to advertise its Inbox anywhere on the Web; that is, targets do not need to be coupled with or controlled by a receiver operating from the same server, and can make use of a third-party <em>inbox-as-a-service</em>.</p> <p>Beyond a generic understanding of hypermedia, LDN senders and consumers need little to no prior knowledge about how to interact with receivers. Furthermore, senders and consumers determine a target’s inbox location dynamically. This design approach is aligned with the notion of <a href="https://csarven.ca/linked-research-decentralised-web/#self-describing">self-describing resources</a> in that applications are only required to identify a particular relation indicating the inbox location, and perform a <cite><a href="https://csarven.ca/linked-research-decentralised-web/#follow-your-nose">follow your nose</a></cite> type of exploration. Given that a target’s preferred inbox location may change at their discretion, applications can be adaptive in inbox discovery.</p> <figure resource='#figure-linked-data-notifications-overview' rel='schema:hasPart' inlist='' id='figure-linked-data-notifications-overview'> <object width='640' type='image/svg+xml' rel='schema:image' height='305' data="https://www.w3.org/TR/ldn/linked-data-notifications-overview.svg"></object> <figcaption property='schema:name'><cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/linked-data-notifications-overview.svg" data-versionurl='https://web.archive.org/web/20190710075050/https://www.w3.org/TR/ldn/linked-data-notifications-overview.svg' data-versiondate='2019-07-10T07:50:50Z'>Overview of Linked Data Notifications</a></cite>.</figcaption> </figure> <section resource='#application-interactions' rel='schema:hasPart' inlist='' id='application-interactions'> <h4 property='schema:name'>Application Interactions</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Building on the notion of <a href="https://csarven.ca/linked-research-decentralised-web/#modularity">modularity</a>, we consider that <em>interoperability</em> occurs between two classes of interactions, <a href="https://csarven.ca/linked-research-decentralised-web/#sender-to-receiver">senders and receivers</a>, or between <a href="https://csarven.ca/linked-research-decentralised-web/#consumer-to-receiver">consumers and receivers</a>, when the sender/consumer makes a request to the receiver, and the receiver sends the expected response.</p> <section resource='#sender-to-receiver' rel='schema:hasPart' inlist='' id='sender-to-receiver'> <h5 property='schema:name'>Sender to Receiver interactions</h5> <div property='schema:description' datatype='rdf:HTML'> <figure id='sender-receiver-interactions'> <object width='360' type='image/svg+xml' rel='schema:image' height='240' data="https://csarven.ca//media/images/articles/ldn-sender-receiver.svg"></object> <figcaption property='schema:name'>Linked Data Notifications Sender to Receiver interaction.</figcaption> </figure> <p>The following steps (in order without skipping) describe the interaction between sender and receiver:</p> <ol> <li>A sender is triggered, either by a human or an automatic process, to deliver a notification;</li> <li>The sender chooses a target resource to send notifications to;</li> <li>The sender discovers the location of the target’s <em>Inbox</em> through the <code>ldp:inbox</code> relation in the HTTP <code>Link</code> header or RDF body of the target resource;</li> <li>The sender creates the body of the notification according to the needs of application;</li> <li>The sender makes a <code>POST</code> to the Inbox URL, containing the body in JSON-LD or in another serialisation acceptable by the server;</li> <li>The receiver optionally applies filtering rules, and sends the appropriate HTTP response code to accept or reject the notification;</li> <li>The receiver exposes the notification data (according to appropriate access control) for use by consumers.</li> </ol> </div> </section> <section resource='#consumer-to-receiver' rel='schema:hasPart' inlist='' id='consumer-to-receiver'> <h5 property='schema:name'>Consumer to Receiver interactions</h5> <div property='schema:description' datatype='rdf:HTML'> <figure id='consumer-receiver-interactions'> <object width='480' type='image/svg+xml' rel='schema:image' height='360' data="https://csarven.ca//media/images/articles/ldn-consumer-receiver.svg"></object> <figcaption property='schema:name'>Linked Data Notifications Consumer to Receiver interaction.</figcaption> </figure> <p>The following steps (in order without skipping) describe the interaction between consumer and receiver:</p> <ol> <li>A consumer selects a target and discovers the location of its Inbox in the same way as the sender;</li> <li>A receiver responds to <code>HTTP GET</code> requests made to the Inbox URL with a listing of the URLs of notifications that have previously been accepted, linked to the Inbox with the <code>ldp:contains</code> predicate;</li> <li>The receiver responds to <code>HTTP GET</code> requests made to the individual notification URLs with JSON-LD (or optionally other serialisations);</li> <li>Following the retrieval of notification listings or individual notifications, the consumer may perform further processing, combine with some other data, or simply present the results in a suitable human-readable way.</li> </ol> </div> </section> </div> </section> <section resource='#data-formats' rel='schema:hasPart' inlist='' id='data-formats'> <h4 property='schema:name'>Data Formats and Content Negotiation</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The data formats which are used by a notification specification must be chosen to maximise interoperability between implementations. <cite>Structure of Scholarly Information</cite> makes the argument for using <a href="https://csarven.ca/linked-research-decentralised-web/#rdf-as-the-language">RDF as the language</a> to express human- and machine-readable information on the Web. Allowing LDN actors – senders, receivers, and consumers – to handle data irrespective of the particular RDF serialisation permits flexibility, however it can also be costly to support. We take into account:</p> <ul> <li><em>Application interoperability</em> eg. should applications support all current RDF formats, as well as new versions or formats in the future?</li> <li><em>Maintenance of RDF parsers and serialisation libraries</em> eg. will the RDF libraries that applications use be kept up to date?</li> <li><em>Complexity of their inclusion in applications</em> eg. what are the costs or concerns of using all RDF formats?</li> <li><em>Run-time efficiency</em> eg. how well will applications perform going forward?</li> </ul> <p><strong>Why JSON-LD</strong>: To address these issues, choosing a single RDF serialisation to <em>require</em> is necessary for consistent interoperability, as well as keeping processing requirements or external code dependencies minimal. While any RDF notation would satisfy that need, we decided that LDN requires all applications to create and understand the JSON-LD syntax, both for the contents of Inbox as well as for individual notifications.</p> <p>To some extent, JSON-LD is compatible with existing JSON libraries or in some cases native programming language data structures. For example, Web browsers have a built-in interpreter for JavaScript that can handle JSON objects, that can take advantage of native object operations. Same data processing and manipulation operations are also available in a Node.js environment. Having said that, JSON-LD is a format that serves to be an RDF notation, and can also be processed as plain JSON. Hence, JSON-LD is just one convenience to certain kinds of environments that the application is confined to. JSON-LD is also advantageous in being familiar for developers who are <cite><a rel='cito:citesForInformation' href="http://manu.sporny.org/2014/json-ld-origins-2/" data-versionurl='https://web.archive.org/web/20190405035404/http://manu.sporny.org/2014/json-ld-origins-2/' data-versiondate='2019-04-05T03:54:04Z'>used to JSON-based APIs but not RDF</a></cite>.</p> <p><strong>Content negotiation</strong>: Optionally, applications may attempt to exchange different RDF serialisations by performing <strong>content negotiation</strong>. As in compliance with HTTP principles, a sender may make an <code>HTTP OPTIONS</code> request to the receiver to determine the RDF content types accepted by the server. A receiver can expose <code>Accept-Post</code> headers for senders, and so the sender can serialize the notification in the request body accordingly. Consumers can send <code>Accept</code> headers to receivers to signal which RDF content types they prefer and capable of processing.</p> <p>By mandating one RDF syntax (JSON-LD) for applications to communicate with, as well as permitting other syntaxes to discover and exchange notifications, compatibility across applications is assured.</p> </div> </section> <section resource='#security-privacy-content-considerations' rel='schema:hasPart' inlist='' id='security-privacy-content-considerations'> <h4 property='schema:name'>Security, Privacy and Content Considerations</h4> <div property='schema:description' datatype='rdf:HTML'> <p id='target-ownership'><strong>Target ownership</strong>: As per AWWW’s <cite>URI Ownership</cite>, the Inbox is ultimately controlled by the owner of LDN Receiver, and subject to third-party access to HTTP headers and content. Hence, publishers of the resources advertising an Inbox (target) are expected to be aware of using servers they trust or control for the Inbox location.</p> <p id='constraints'><strong>Constraints</strong>: One way to filter unwarranted notifications from being created on the server and exposed is where Inbox URLs announce their own constraints eg. <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/shacl/" data-versionurl='https://web.archive.org/web/20190709212253/https://www.w3.org/TR/shacl/' data-versiondate='2019-07-09T21:22:53Z'>Shapes Constraint Language (SHACL)</a></cite>, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://shexspec.github.io/spec/" data-versionurl='https://web.archive.org/web/20190709212253/https://shexspec.github.io/spec/' data-versiondate='2019-07-09T21:22:53Z'>ShEx</a></cite>, Web Annotation Protocol, via an HTTP <code>Link</code> header or body of the resource with a <code>rel</code> value of <code>ldp:constrainedBy</code>. For example, an LDN receiver may want to allow notifications with a certain shape; a model specifying allowed and required values in a notification. This is so that senders can comply with the advertised constraint specification or the receiver may reject their notification. Rejecting notifications which do not match a specific pattern in their contents, or the <em>shape</em> of the data, is one way to filter. For example, if the Inbox owner knows that they will only ever use a consuming application which processes friend requests, they can configure their receiver to filter out anything that does not match the pattern for a friend request, helping their consumer to be more efficient. If the notification constraints are also advertised by the receiving service as structured descriptions, generation and consumption of the notifications can be further automated. Constraints are particularly useful towards providing notifications that meets a certain criteria so that it can be used effectively by consuming applications.</p> <p id='authenticated-inboxes'><strong>Authenticated inboxes</strong>: The requirement for reusable notifications could be seen as a potential risk for privacy. The LDN Receivers are expected to consider implementing access control on the Inbox URL as well as the individual notification URL and may restrict reading and writing to a whitelist of trusted senders. Various authentication methods which could be used alongside LDN with the idea that notifications are not necessarily public but only visible or reusable by intended parties. The receivers decide (based on their use case) which consumers (based on any criteria) can reuse. They achieve this by setting authentication and authorization settings on the notifications. As different authentication mechanisms are appropriate for different applications, the notification protocol should ideally be usable alongside various methods such as clientside certificates, eg. WebID+TLS, token-based, eg. OAuth 2.0, or digital signatures.</p> <p id='personally-identifiable-information'><strong>Personally identifiable information</strong>: Notification payloads may contain any data including that which identifies the sender or the receiver. As access to the Inbox and notification data is under the control of the receiver, they ultimately determine what information may be exposed to the world. Once fetched by a third-party, any piece of information could potentially be subject to further (unauthorised) distribution and reuse. Hence, this is orthogonal to whether the notifications are ephemeral or persistent.</p> <p id='security-and-privacy-review'><strong>Security and Privacy Review</strong>: The LDN specification includes a <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/#security-and-privacy-review" data-versionurl='https://web.archive.org/web/20190709211912/https://www.w3.org/TR/ldn/' data-versiondate='2019-07-09T21:19:12Z'>Security and Privacy Review</a></cite> covering threat models categorised as: <q cite='https://www.w3.org/TR/2015/NOTE-security-privacy-questionnaire-20151210/'>Passive Network Attackers, Active Network Attackers, Same-Origin Policy Violations, Third-Party Tracking</q> as outlined in W3C <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/2015/NOTE-security-privacy-questionnaire-20151210/" data-versionurl='https://web.archive.org/web/20190709212253/https://www.w3.org/TR/2015/NOTE-security-privacy-questionnaire-20151210/' data-versiondate='2019-07-09T21:22:53Z'>Self-Review Questionnaire: Security and Privacy</a></cite>.</p> </div> </section> <section resource='#protocol-interactin-and-content' rel='schema:hasPart' inlist='' id='protocol-interaction-and-content'> <h4 property='schema:name'>Protocol Interaction and Content</h4> <div property='schema:description' datatype='rdf:HTML'> <p>This section demonstrates some interactions between a server with a target resource, and among sender, receiver, and consumer implementations.</p> <p>Discovering an inbox:</p> <figure resource='#discovery-json-example-compact' rel='schema:hasPart' id='discovery-json-example-compact' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#discovery-json-example-compact'><code>GET / HTTP/1.1</code><code>Host: csarven.ca</code><code>Accept: application/ld+json</code><code></code><code>HTTP/1.1 200 OK</code><code>Content-Type: application/ld+json</code><code></code><code>{</code><code> "@context": "http://www.w3.org/ns/ldp",</code><code> "@id": "https://csarven.ca/#i",</code><code> "inbox": "https://csarven.ca/inbox/"</code><code>}</code></pre> <figcaption property='schema:name'>Discovering an Inbox with a <code>HTTP GET</code> request to retrieve JSON-LD. Response in JSON-LD compact form.</figcaption> </figure> <p>Consumer requesting the inbox and receiver’s response:</p> <figure resource='#get-inbox-response' rel='schema:hasPart' id='get-inbox-response' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#get-inbox-response'><code>GET /inbox/ HTTP/1.1</code><code>Host: example.org</code><code>Accept: application/ld+json</code><code>Accept-Language: en-GB,en;q=0.8, en-US;q=0.6</code><code></code><code>HTTP/1.1 200 OK</code><code>Content-Type: application/ld+json</code><code>Content-Language: en</code><code></code><code>{</code><code> "@context": "http://www.w3.org/ns/ldp",</code><code> "@id": "http://example.org/inbox/",</code><code> "contains": [</code><code> "http://example.org/inbox/5c6ca040",</code><code> "http://example.org/inbox/92d72f00"</code><code> ]</code><code>}</code></pre> <figcaption property='schema:name'>Receiver responding to a <code>HTTP GET</code> request on the Inbox with a listing of notifications.</figcaption> </figure> <p>Consumer getting a notification:</p> <figure resource='#notification-announce-annotation' rel='schema:hasPart' id='notification-announce-annotation' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#notification-announce-annotation'><code>GET /inbox/14a792f0 HTTP/1.1</code><code>Host: example.org</code><code>Accept: application/ld+json, text/turtle, application/xhtml+xml, text/html</code><code>Accept-Language: en-GB,en;q=0.8, en-US;q=0.6</code><code></code><code>HTTP/1.1 200 OK</code><code>Content-Type: application/ld+json;profile="https://www.w3.org/ns/activitystreams"</code><code>Content-Language: en</code><code></code><code>{</code><code> "@context": [</code><code> "https://www.w3.org/ns/activitystreams",</code><code> { "@language": "en" }</code><code> ],</code><code> "@id": "http://example.org/inbox/14a792f0",</code><code> "@type": "Announce",</code><code> "actor": {</code><code> "@id": "https://csarven.ca/#i",</code><code> "name": "Sarven Capadisli"</code><code> },</code><code> "object": {</code><code> "@context": "http://www.w3.org/ns/anno.jsonld",</code><code> "@id": "http://example.net/note",</code><code> "@type": "Annotation",</code><code> "motivation": "http://www.w3.org/ns/oa#assessing",</code><code> "rights": "http://creativecommons.org/licenses/by/4.0/"</code><code> },</code><code> "target": "http://example.org/article",</code><code> "updated": {</code><code> "@type": "http://www.w3.org/2001/XMLSchema#dateTime",</code><code> "@value": "2016-06-28T19:56:20.114Z"</code><code> }</code><code>}</code></pre> <figcaption property='schema:name'>Result of a GET request on an individual notification discovered in an Inbox.</figcaption> </figure> <p>Sending a notification:</p> <figure resource='#sending-notification-request' rel='schema:hasPart' id='sending-notification-request' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#sending-notification-request'><code>POST /inbox/ HTTP/1.1</code><code>Host: example.org</code><code>Content-Type: application/ld+json;profile="https://www.w3.org/ns/activitystreams"</code><code>Content-Language: en</code><code></code><code>{</code><code> "@context": "https://www.w3.org/ns/activitystreams",</code><code> "@id": "",</code><code> "@type": "Announce",</code><code> "actor": "https://rhiaro.co.uk/#me",</code><code> "object": "http://example.net/note",</code><code> "target": "http://example.org/article",</code><code> "updated": "2016-06-28T19:56:20.114Z"</code><code>}</code></pre> <figcaption property='schema:name'>Example request to send to an Inbox.</figcaption> </figure> <p>Response to send request:</p> <figure resource='#sending-notification-response' rel='schema:hasPart' id='sending-notification-response' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#sending-notification-response'><code>HTTP/1.1 201 Created</code><code>Location: http://example.org/inbox/5c6ca040</code></pre> <figcaption property='schema:name'>Example response to a <code>POST</code> request on an Inbox.</figcaption> </figure> <p>Sender initiates content-negotiation and sends notifications:</p> <figure resource='#notification-qualified-relation' rel='schema:hasPart' inlist='' id='notification-qualified-relation' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#notification-qualified-relation'><code>OPTIONS /inbox/ HTTP/1.1</code><code>Host: example.org</code><code></code><code>HTTP/1.1 200 OK</code><code>Allow: GET, HEAD, OPTIONS, POST</code><code>Accept-Post: application/ld+json, text/turtle</code><code></code><code>POST /inbox/ HTTP/1.1</code><code>Host: example.org</code><code>Content-Type: text/turtle</code><code>Content-Language: en</code><code></code><code>@prefix as: &lt;https://www.w3.org/ns/activitystreams#&gt; .</code><code>@prefix cito: &lt;http://purl.org/spar/cito/&gt; .</code><code>&lt;&gt; a as:Announce</code><code> as:object &lt;https://linkedresearch.org/resources#r-903b83&gt; ;</code><code> as:target &lt;https://csarven.ca/dokieli-rww#architecture-and-technologies&gt; .</code><code>&lt;https://linkedresearch.org/resources#r-903b83&gt;</code><code> cito:citesAsPotentialReading</code><code> &lt;https://csarven.ca/linked-data-notifications#protocol&gt; .</code></pre> <figcaption property='schema:name'>Sender initiated content-negotiation, followed with an announcement of a specific citation relation between two entities (Turtle).</figcaption> </figure> </div> </section> </div> </section> <section resource='#test-suite-and-implementation-reports' rel='schema:hasPart' inlist='' id='test-suite-and-implementation-reports'> <h3 property='schema:name'>Test Suite and Implementation Reports</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The W3C <q>Technical Reports</q> are intended to help different (current or future) implementations to have common core functionality and quality, comply with accessibility and internationalisation guidelines, and take security and privacy considerations into account. When an application, for instance, implements a specification, it can be checked against that specification’s conformance criteria for normative requirements. Specifications are typically accompanied with test suites to assist implementations to identify their conformance level as well as areas for improvement. Similarly, reports and feedback help specifications to improve and advance towards publication. So, specifications and conforming implementations are integral to ensuring interoperable applications.</p> <p>As a concrete example of the benefits of resource-centric notifications, I took the liberty to both use the W3C process of creating a test suite for LDN, and the submission of reports about implementations to exemplify the LDN protocol itself, as well as to generate discoverable Linked Data about the specification and its implementations. The LDN <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/" data-versionurl='https://web.archive.org/web/20190709212253/https://linkedresearch.org/ldn/tests/' data-versiondate='2019-07-09T21:22:53Z'>test suite</a></cite> is itself an LDN implementation for the purpose of automating the collection and aggregation of implementation reports which were used directly towards the formal standardisation process.</p> <p>The LDN test suite covers each requirement of the specification with individual tests, and the test suite documentation is semantically linked with the specification itself accordingly. Once the tests have been run, the test suite generates a similarly linked implementation report. This report is submitted using LDN itself as the notification mechanism. The listing of implementation reports (software conforming to the specification) is automatically updated and are accessible as their own registered units of information.</p> <p id='ldn-test-suites'>The LDN test suite puts the LDN protocol into practice by acting as an LDN receiver implementation (based on <cite><a rel='cito:citesAsEvidence' href="https://github.com/csarven/mayktso" data-versionurl='https://web.archive.org/web/20190709212253/https://github.com/csarven/mayktso' data-versiondate='2019-07-09T21:22:53Z'>mayktso</a></cite>). It also acts as a sender and consumer LDN implementation. Each part of the test suite (for <a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/sender">Senders</a>, <a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/receiver">Receivers</a>, and <a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/consumer">Consumers</a>) advertise an <code>ldp:inbox</code>. Upon completion of a run of the tests, the system generates the report data and sends an LDN notification to the Inbox. The payload of the notification is the full report as RDF.</p> <p id='ldn-consumers'>As an LDN Consumer, the test suite generates the <a href="https://linkedresearch.org/ldn/tests/summary">summary</a> of the reports by fetching and processing Inbox contents. The notifications are aggregated automatically, and the semantics of the submitted reports are retained.</p> <p>The services are decoupled; that is, an implementer may generate their report independently of the test suite, and submit it via the standard LDN protocol. Furthermore, projects can implement their own consumers and reuse the report data generated by the test suite directly, for example to demonstrate to potential users their conformance to the LDN specification.</p> <p>All reports have their own URLs, and a human-readable representation in HTML+RDFa, in addition to JSON-LD or other RDF syntax per <code>HTTP OPTIONS</code> and <code>Accept-Post</code> negotiation at this particular test server. See for example <cite><a rel='cito:citesAsEvidence' href="https://dokie.li/" data-versionurl='https://web.archive.org/web/20190709212253/https://dokie.li/' data-versiondate='2019-07-09T21:22:53Z'>dokieli</a></cite>’s <a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753">implementation report and test results</a> as a sender. This provides the human-visible information, eg. what was tested and the results also in machine-readable form. The report can be seen as a dataset composed of observations based on the structure that was specified in the specification. Hence, each test report is a <code>qb:DataSet</code> (and generally equivalent in <code>as:Object</code>) where its <code>qb:structure</code> refers to <code>https://www.w3.org/TR/ldn/#data-structure-definition</code>. The dataset has <code>as:published</code> and <code>as:actor</code> for the agent that initiated the test and generated the report. The report may be accompanied with an additional <code>as:summary</code>. An example report at <a href="https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753" class='highlight-observation-url'>https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753</a> has the following core information:</p> <figure resource='#code-ldn-test-report' rel='schema:hasPart' id='code-ldn-test-report' class='listing'> <pre xml:lang='' typeof='fabio:Script' property='schema:description' lang='' about='#code-ldn-test-report'><code id='code-ldn-test-report-1'>&lt;&gt;</code><code id='code-ldn-test-report-2'> a qb:DataSet ;</code><code id='code-ldn-test-report-3'> qb:structure <a href="https://www.w3.org/TR/ldn/#data-structure-definition">ldn:data-structure-definition</a> .</code><code id='code-ldn-test-report-4'></code><code id='code-ldn-test-report-5'>&lt;<a href="https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753#test-sender-header-post-content-type-json-ld" class='highlight-observation-url'>https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753#test-sender-header-post-content-type-json-ld</a>&gt;</code><code id='code-ldn-test-report-6'> a qb:Observation, earl:Assertion ;</code><code id='code-ldn-test-report-7'> qb:dataSet &lt;&gt; ;</code><code id='code-ldn-test-report-8'> <span class='highlight-earl-subject'>earl:subject</span> &lt;<a href="https://dokie.li" class='highlight-subject-project'>https://dokie.li/</a>&gt; ;</code><code id='code-ldn-test-report-9'> <span class='highlight-earl-test'>earl:test</span> <a href="https://www.w3.org/TR/ldn/#test-sender-header-post-content-type-json-ld">ldn:test-sender-header-post-content-type-json-ld</a> ;</code><code id='code-ldn-test-report-10'> <span class='highlight-earl-mode'>earl:mode</span> earl:automatic ;</code><code id='code-ldn-test-report-11'> <span class='highlight-earl-result'>earl:result</span> [</code><code id='code-ldn-test-report-12'> a earl:TestResult ;</code><code id='code-ldn-test-report-13'> <span class='highlight-earl-outcome'>earl:outcome</span> earl:passed ;</code><code id='code-ldn-test-report-14'> <span class='highlight-earl-info'>earl:info</span> "&lt;code&gt;Content-Type: application/ld+json; profile=&amp;quot;http://www.w3.org/ns/anno.jsonld&amp;quot;&lt;/code&gt; received."^^rdf:HTML ] .</code></pre> <figcaption property='schema:name'>A snippet of a test result dataset and an observation in Turtle syntax.</figcaption> </figure> <p>The test results are provided in an HTML table, where each test is expressed as an <code>qb:Observation</code> (and equivalent <code>earl:Assertion</code>) in RDFa containing:</p> <ul> <li>a <code class='highlight-earl-subject'>earl:subject</code> that refers to the URI of the application, eg. <a href="https://dokie.li/" class='highlight-subject-project'>dokieli</a>, a <code>doap:Project</code> as an <a href="https://www.w3.org/TR/ldn/#ldn-sender">LDN Sender</a>.</li> <li>a <code class='highlight-earl-test'>earl:test</code> with the range being one of the requirements (concepts) from the specification.</li> <li>a <code class='highlight-earl-mode'>earl:mode</code> referring to one of the EARL test modes that were carried out: <a href="https://www.w3.org/TR/EARL10/#automatic">automatic</a>, <a href="https://www.w3.org/TR/EARL10/#manual">manual</a>, <a href="https://www.w3.org/TR/EARL10/#semiAuto">semi-automatic</a>, <a href="https://www.w3.org/TR/EARL10/#undisclosed">undisclosed</a>, <a href="https://www.w3.org/TR/EARL10/#unknownMode">unknown</a>.</li> <li>and a <code class='highlight-earl-result'>earl:result</code> that gives information on the test <code class='highlight-earl-outcome'>earl:outcome</code>: <a href="https://www.w3.org/TR/EARL10-Schema/#passed">passed</a>, <a href="https://www.w3.org/TR/EARL10-Schema/#failed">failed</a>, <a href="https://www.w3.org/TR/EARL10-Schema/#inapplicable">inapplicable</a>, <a href="https://www.w3.org/TR/EARL10-Schema/#cantTell">cannot tell</a>, <a href="https://www.w3.org/TR/EARL10-Schema/#untested">untested</a>, as well as detailed <code class='highlight-earl-info'>earl:info</code> about the particular experiment.</li> </ul> <p>The implementation test report has some basic information linking to the <code>doap:Project</code> with a <code>doap:name</code>, and its <code>doap:maintainer</code>.</p> <p>All of the sender, receiver, and consumer reports are available in separate aggregate tables in <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/summary" data-versionurl='https://web.archive.org/web/20190709212254/https://linkedresearch.org/ldn/tests/summary' data-versiondate='2019-07-09T21:22:54Z'>LDN Tests Summary</a></cite>. The summary is a <code>void:Dataset</code> where each report is linked as a <code>void:subset</code>. This makes individual reports alternatively findable if the exploration starts from the summary of all test results.</p> <p>The test suite software fulfills the base required functionality of the LDN protocol. Next, I take a closer look at the LDN <a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-notifications-implementations">implementations</a>. Later I describe further details on how the LDN <a href="https://csarven.ca/linked-research-decentralised-web/#linked-specifications-reports">specification and implementation reports</a> are interlinked and retrievable to facilitate their automated discovery and reuse in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-research">Linked Research</a></cite>.</p> </div> </section> <section resource='#linked-data-notifications-implementations' rel='schema:hasPart' inlist='' id='linked-data-notifications-implementations'> <h3 property='schema:name'>Linked Data Notifications Implementations</h3> <div property='schema:description' datatype='rdf:HTML'> <p>In order for the LDN specification to advance to W3C Proposed Recommendation status, an <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/#exit-criteria" data-versionurl='https://web.archive.org/web/20190709211912/https://www.w3.org/TR/ldn/' data-versiondate='2019-07-09T21:19:12Z'>Exit Criteria</a></cite> outlined the requirements for implementations. At least two independent, interoperable implementations of each feature had to be fulfilled. Each feature was implemented by a different set of products. There was no requirement that all features needed to be implemented by a single product.</p> <p>In order to verify the conformance and support of the LDN features in implementations, the <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/" data-versionurl='https://web.archive.org/web/20190709212253/https://linkedresearch.org/ldn/tests/' data-versiondate='2019-07-09T21:22:53Z'>LDN Test Suite</a></cite> was development. Individual <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/" data-versionurl='https://web.archive.org/web/20190729124644/https://linkedresearch.org/ldn/tests/reports/' data-versiondate='2019-07-29T12:46:44Z'>LDN Test Reports</a></cite> as well as the <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/summary" data-versionurl='https://web.archive.org/web/20190709212254/https://linkedresearch.org/ldn/tests/summary' data-versiondate='2019-07-09T21:22:54Z'>LDN Test Reports and Summary</a></cite> of all reports were made public using <a href="https://creativecommons.org/licenses/by/4.0/">CC BY</a> license. <cite><a rel='cito:discusses' href="https://linkedresearch.org/ldn/tests/summary" data-versionurl='https://web.archive.org/web/20190709212254/https://linkedresearch.org/ldn/tests/summary' data-versiondate='2019-07-09T21:22:54Z'>LDN Test Reports and Summary</a></cite> is documented and readable by human and machine consumers. The <cite><a href="https://csarven.ca/linked-research-decentralised-web/#ldn-report-receiver">Receiver</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#ldn-report-consumer">Consumer</a></cite>, and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#ldn-report-sender">Sender</a></cite> reports listed below are snapshots of the tests summary data as of 2019-01-05.</p> <p>Once an implementation has passed the relevant tests, an implementation report was submitted to help enable the specification progress to W3C Recommendation. Implementations were also submitted after the Recommendation, and remain open to accept new implementation reports. Running the tests generated a checklist, filled in where possible, to indicate the outcome of the tests with additional information, and thus indicating the features implemented according to the specification.</p> <dl> <dt>Test outcomes</dt> <dd>It returns a <a href="https://www.w3.org/TR/EARL10-Schema/#passed" class='earl:passed'>passed</a>/<a href="https://www.w3.org/TR/EARL10-Schema/#failed" class='earl:failed'>failed</a> response for individual requirements of the LDN specification. It also tests some optional features; you will get an <a href="https://www.w3.org/TR/EARL10-Schema/#inapplicable" class='earl:inapplicable'>inapplicable</a> response if you do not implement them, rather than a fail. Some of the test outcomes will require manual checking, hence they will be marked with <a href="https://www.w3.org/TR/EARL10-Schema/#cantTell" class='earl:cantTell'>cannot tell</a>. If a test was skipped or no value provided, it will be marked as <a href="https://www.w3.org/TR/EARL10-Schema/#untested" class='earl:untested'>untested</a>.</dd> </dl> <p>So far we have seen decentralised notifications applied in social networking scenarios, as well as for archival activities and scientific experiments through monitoring the state of online resources, datasets and files, or sensor outputs, and sending notifications when changes occur.</p> <section resource='#ldn-report-receiver' rel='schema:hasPart' inlist='' id='ldn-report-receiver'> <h4 property='schema:name'>Receiver reports</h4> <div property='schema:description' datatype='rdf:HTML'> <dl class='document-derived-from'> <dt>Derived From</dt> <dd><a rel='prov:wasDerivedFrom' href="https://linkedresearch.org/ldn/tests/summary#ldn-report-receiver">https://linkedresearch.org/ldn/tests/summary#ldn-report-receiver</a></dd> </dl> <dl class='document-derived-on'> <dt>Derived On</dt> <dd><time property='prov:generatedAtTime' datetime='2019-01-05T14:27:51.450Z' datatype='xsd:dateTime' content='2019-01-05T14:27:51.450Z'>2019-01-05</time></dd> </dl> <p>The receiver implementations are either LDP-based, extension of LDP, generally LD-based platforms, stand-alone libraries, or integrated into existing domain specific systems, eg. personal websites. For instance, implementations range from minimum proof of concepts like DIY Inbox to enterprise-ready platforms like Apache Marmotta or Virtuoso Universal Server. <cite><a rel='cito:discusses' href="https://dr.amy.gy/chapter5#building-pwo" data-versionurl='https://web.archive.org/web/20190709212255/https://dr.amy.gy/chapter5' data-versiondate='2019-07-09T21:22:55Z'>Sloph</a></cite>, <cite>The Presentation of Self on a Decentralised Web</cite>, Guy, 2017, and IndieAnndroid are part of personal publishing and quantified self platforms geared around social media-like interactions. The <cite><a rel='cito:discusses' href="https://scta.info/" data-versionurl='https://web.archive.org/web/20190709212255/https://scta.info/' data-versiondate='2019-07-09T21:22:55Z'>Scholastic Commentaries and Texts Archive</a></cite> (<abbr title='Scholastic Commentaries and Texts Archive'>SCTA</abbr>) inbox is used for annotating scholarly manuscripts, and serving notifications about the annotations. ldn-streams is a specialised receiver that is capable of accepting and serving notifications as RDF streams. distbin is a general purpose “pastebin” to store data. The rest of the implementations are non-domain specific servers that can be used for different purposes.</p> <table id='ldn-test-receiver-summary'> <caption>Receiver tests summary</caption> <thead> <tr><th rowspan='3'>Implementations</th><th colspan='15'>Receiver tests</th></tr><tr><th colspan='8'>Required for interop</th><th colspan='7'>Optional</th></tr><tr><th><a href="https://csarven.ca/linked-research-decentralised-web/#PR">PR</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#PC">PC</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#PL">PL</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#PLP">PLP</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#GR">GR</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#GLC">GLC</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#GNJL">GNJL</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#GNRS">GNRS</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#OR">OR</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#OAP">OAP</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#OAPCJL">OAPCJL</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#PRCU">PRCU</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#GNL">GNL</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#GLCR">GLCR</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#GLCB">GLCB</a></th></tr> </thead> <tbody> <tr><td><a rel='cito:discusses' href="https://github.com/scta/scta-inbox">SCTA inbox receiver</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/103ee790-fb8c-11e6-8de6-4d841750ffc3">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://rhiaro.co.uk/sloph/">Sloph</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/21b0e360-f91c-11e6-be43-61ca66ced9c9">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a rel='cito:discusses' href="https://github.com/linkeddata/gold">Linked Data server for Go</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/28e765c0-0685-11e7-883c-d126447edde3">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://github.com/jpcik/ldn-streams">ldn-streams</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/4608d2a0-55be-11e7-a741-cb560322e93d">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://carbonldp.base22.io/">Carbon LDP</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/4a7c9590-fddc-11e6-9cdc-c5ba5d2e04f7">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://github.com/solid/node-solid-server">solid-server in Node</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/54fb7eb0-0830-11e7-93be-21b4fcbda752">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://github.com/albertmeronyo/pyldn">pyldn</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/5bb28bc0-068e-11e7-96a3-43fa34486153">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="http://virtuoso.openlinksw.com/#this">Virtuoso Universal Server</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/67e5e110-066d-11e7-9492-f96ede6a2dca">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://github.com/csarven/mayktso">maytkso</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/750bd250-f82b-11e6-a642-0dd857219753">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://rhiaro.co.uk/2017/08/diy-ldn">DIY Inbox</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/8497d150-803a-11e7-8d4e-8fb62127fae5">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://www.trellisldp.org">Trellis LDP</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/9cd86580-bcda-11e8-a3c6-59f9fd1c0455">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://github.com/apache/marmotta">Apache Marmotta</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/b2915fb0-043c-11e7-b2d1-bd6484ea3c05">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a rel='cito:discusses' href="https://github.com/Kongaloosh/IndieAnndroid">IndieAnndroid</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/ba09b850-0829-11e7-9d83-513f9ea34942">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:untested'>○</td><td class='earl:untested'>○</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="http://sisinflab.poliba.it/swottools/ldp-coap/">LDP-CoAP</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/daa72d30-4ad8-11e7-a741-cb560322e93d">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a rel='cito:discusses' href="https://distbin.com">distbin.com</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/e714e6b0-064b-11e7-aec7-f50fd0c65679">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td><td class='earl:inapplicable'>⌙</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr><tr><td><a rel='cito:discusses' href="https://wiki.duraspace.org/display/FF/Fedora+Repository+Home">Fedora Repository</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/eff18f70-f90f-11e6-9c6c-6511243617a2">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:inapplicable'>⌙</td></tr> </tbody> <tfoot> <tr> <td colspan='16'> <dl> <dt>Number of implementation reports</dt> <dd>16</dd> </dl> <dl> <dt class='earl:passed'><abbr title='Passed'>✔</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#passed">Passed</a></dd> <dt class='earl:failed'><abbr title='Failed'>✗</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#failed">Failed</a></dd> <dt class='earl:cantTell'><abbr title='Cannot tell'>?</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#cantTell">Cannot tell</a></dd> <dt class='earl:inapplicable'><abbr title='Inapplicable'>⌙</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#inapplicable">Inapplicable</a></dd> <dt class='earl:untested'><abbr title='Untested'>○</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#untested">Untested</a></dd> </dl> <dl class='abbr'><dt id='PR'>PR</dt><dd>Accepts <code>POST</code> requests. [<a href="https://www.w3.org/TR/ldn/#test-receiver-post-response">source</a>]</dd><dt id='PC'>PC</dt><dd>Responds to <code>POST</code> requests with <code>Content-Type: application/ld+json</code> with status code <code>201 Created</code> or <code>202 Accepted</code>. [<a href="https://www.w3.org/TR/ldn/#test-receiver-post-created">source</a>]</dd><dt id='PL'>PL</dt><dd>Returns a <code>Location</code> header in response to successful <code>POST</code> requests. [<a href="https://www.w3.org/TR/ldn/#test-receiver-post-location">source</a>]</dd><dt id='PLP'>PLP</dt><dd>Succeeds when the content type includes a <code>profile</code> parameter. [<a href="https://www.w3.org/TR/ldn/#test-receiver-post-link-profile">source</a>]</dd><dt id='GR'>GR</dt><dd>Returns JSON-LD on <code>GET</code> requests. [<a href="https://www.w3.org/TR/ldn/#test-receiver-get-response">source</a>]</dd><dt id='GLC'>GLC</dt><dd>Lists notification URIs with <code>ldp:contains</code>. [<a href="https://www.w3.org/TR/ldn/#test-receiver-get-ldp-contains">source</a>]</dd><dt id='GNJL'>GNJL</dt><dd>Notifications are available as JSON-LD. [<a href="https://www.w3.org/TR/ldn/#test-receiver-get-notifications-json-ld">source</a>]</dd><dt id='GNRS'>GNRS</dt><dd>When requested with no <code>Accept</code> header or <code>*/*</code>, notifications are still returned as RDF. [<a href="https://www.w3.org/TR/ldn/#test-receiver-get-notifications-rdf-source">source</a>]</dd><dt id='OR'>OR</dt><dd>Accepts <code>OPTIONS</code> requests. [<a href="https://www.w3.org/TR/ldn/#test-receiver-options-response">source</a>]</dd><dt id='OAP'>OAP</dt><dd>Advertises acceptable content types with <code>Accept-Post</code> in response to <code>OPTIONS</code> request. [<a href="https://www.w3.org/TR/ldn/#test-receiver-options-accept-post">source</a>]</dd><dt id='OAPCJL'>OAPCJL</dt><dd><code>Accept-Post</code> includes <code>application/ld+json</code>. [<a href="https://www.w3.org/TR/ldn/#test-receiver-options-accept-post-contains-json-ld">source</a>]</dd><dt id='PRCU'>PRCU</dt><dd>Fails to process notifications if implementation-specific constraints are not met. [<a href="https://www.w3.org/TR/ldn/#test-receiver-post-response-contraints-unmet">source</a>]</dd><dt id='GNL'>GNL</dt><dd>Restricts list of notification URIs (eg. according to access control). [<a href="https://www.w3.org/TR/ldn/#test-receiver-get-notifications-limited">source</a>]</dd><dt id='GLCR'>GLCR</dt><dd>Inbox has type <code>ldp:Container</code>. [<a href="https://www.w3.org/TR/ldn/#test-receiver-get-ldp-container">source</a>]</dd><dt id='GLCB'>GLCB</dt><dd>Advertises constraints with <code>ldp:constrainedBy</code>. [<a href="https://www.w3.org/TR/ldn/#test-receiver-get-ldp-constrained-by">source</a>]</dd></dl> </td> </tr> </tfoot> </table> </div> </section> <section resource='#ldn-report-consumer' rel='schema:hasPart' inlist='' id='ldn-report-consumer'> <h4 property='schema:name'>Consumer reports</h4> <div property='schema:description' datatype='rdf:HTML'> <dl class='document-derived-from'> <dt>Derived From</dt> <dd><a rel='prov:wasDerivedFrom' href="https://linkedresearch.org/ldn/tests/summary#ldn-report-consumer">https://linkedresearch.org/ldn/tests/summary#ldn-report-consumer</a></dd> </dl> <dl class='document-derived-on'> <dt>Derived On</dt> <dd><time property='prov:generatedAtTime' datetime='2019-01-05T14:27:51.450Z' datatype='xsd:dateTime' content='2019-01-05T14:27:51.450Z'>2019-01-05</time></dd> </dl> <p>The consumer implementations so far include streaming-capable implementations, stand-alone libraries, and domain specific applications. As part of the <cite><a rel='cito:discusses' href="https://iiif.io/" data-versionurl='https://web.archive.org/web/20190709212255/https://iiif.io/' data-versiondate='2019-07-09T21:22:55Z'>International Image Interoperability Framework</a></cite> (<abbr title='International Image Interoperability Framework'>IIIF</abbr>) Discovery Support Technical Specifications Group, an LDN implementation aggregates metadata to discover resources made available by a IIIF service. Later in this thesis, I describe how LDN is implemented in context of dokieli, a clientside authoring and publishing application that can consume notifications to discover independently published annotations on the Web.</p> <table id='ldn-test-consumer-summary'> <caption>Consumer tests summary</caption> <thead> <tr><th rowspan='3'>Implementations</th><th colspan='10'>Consumer tests</th></tr><tr><th colspan='4'>Required for interop</th><th colspan='6'>Optional</th></tr><tr><th><a href="https://csarven.ca/linked-research-decentralised-web/#HDC">HDC</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#BDC">BDC</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#LJLC">LJLC</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#LJLE">LJLE</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#NAE">NAE</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#NCG">NCG</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#NCN">NCN</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#NAG">NAG</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#NCT">NCT</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#NR">NR</a></th></tr> </thead> <tbody> <tr><td><a href="https://dokie.li/">dokieli</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/291ce4b0-f88f-11e6-8b4c-bf20c21e7804">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="http://sisinflab.poliba.it/swottools/ldp-coap/">LDP-CoAP</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/2b594460-4ac6-11e7-a741-cb560322e93d">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/jpcik/ldn-streams">ldn-streams</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/5edc5f50-55bd-11e7-a741-cb560322e93d">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/nfreire/LDN4IIIF">Linked Data Notifications for aggregation of IIIF Services</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/93bd9500-05ee-11e7-b31e-53af8173b46a">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/albertmeronyo/boa">boa</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/c2317c50-069b-11e7-96a3-43fa34486153">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/csarven/ldn-tests">LDN Test Suite</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/d43c69a0-0524-11e7-a274-6510a64f2a91">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/trellis-ldp/py-ldnlib">py-ldnlib</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/ec369ca0-fd28-11e6-ac41-93a31f44d58d">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr> </tbody> <tfoot> <tr> <td colspan='11'> <dl> <dt>Number of implementation reports</dt> <dd>7</dd> </dl> <dl> <dt class='earl:passed'><abbr title='Passed'>✔</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#passed">Passed</a></dd> <dt class='earl:failed'><abbr title='Failed'>✗</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#failed">Failed</a></dd> <dt class='earl:cantTell'><abbr title='Cannot tell'>?</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#cantTell">Cannot tell</a></dd> <dt class='earl:inapplicable'><abbr title='Inapplicable'>⌙</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#inapplicable">Inapplicable</a></dd> <dt class='earl:untested'><abbr title='Untested'>○</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#untested">Untested</a></dd> </dl> <dl class='abbr'><dt id='HDC'>HDC</dt><dd>Inbox discovery (<code>Link</code> header). [<a href="https://www.w3.org/TR/ldn/#test-consumer-header-discovery">source</a>]</dd><dt id='BDC'>BDC</dt><dd>Inbox discovery (RDF body). [<a href="https://www.w3.org/TR/ldn/#test-consumer-body-discovery">source</a>]</dd><dt id='LJLC'>LJLC</dt><dd>Notification discovery from Inbox using JSON-LD compacted form. [<a href="https://www.w3.org/TR/ldn/#test-consumer-listing-json-ld-compacted">source</a>]</dd><dt id='LJLE'>LJLE</dt><dd>Notification discovery from Inbox using JSON-LD expanded form. [<a href="https://www.w3.org/TR/ldn/#test-consumer-listing-json-ld-expanded">source</a>]</dd><dt id='NAE'>NAE</dt><dd>Contents of the <samp>announce</samp> notification. [<a href="https://www.w3.org/TR/ldn/#test-consumer-notification-announce">source</a>]</dd><dt id='NCG'>NCG</dt><dd>Contents of the <samp>changelog</samp> notification. [<a href="https://www.w3.org/TR/ldn/#test-consumer-notification-changelog">source</a>]</dd><dt id='NCN'>NCN</dt><dd>Contents of the <samp>citation</samp> notification. [<a href="https://www.w3.org/TR/ldn/#test-consumer-notification-citation">source</a>]</dd><dt id='NAG'>NAG</dt><dd>Contents of the <samp>assessing</samp> notification. [<a href="https://www.w3.org/TR/ldn/#test-consumer-notification-assessing">source</a>]</dd><dt id='NCT'>NCT</dt><dd>Contents of the <samp>comment</samp> notification. [<a href="https://www.w3.org/TR/ldn/#test-consumer-notification-comment">source</a>]</dd><dt id='NR'>NR</dt><dd>Contents of the <samp>rsvp</samp> notifications. [<a href="https://www.w3.org/TR/ldn/#test-consumer-notification-rsvp">source</a>]</dd></dl> </td> </tr> </tfoot> </table> </div> </section> <section resource='#ldn-report-sender' rel='schema:hasPart' inlist='' id='ldn-report-sender'> <h4 property='schema:name'>Sender reports</h4> <div property='schema:description' datatype='rdf:HTML'> <dl class='document-derived-from'> <dt>Derived From</dt> <dd><a rel='prov:wasDerivedFrom' href="https://linkedresearch.org/ldn/tests/summary#ldn-report-sender">https://linkedresearch.org/ldn/tests/summary#ldn-report-sender</a></dd> </dl> <dl class='document-derived-on'> <dt>Derived On</dt> <dd><time property='prov:generatedAtTime' datetime='2019-01-05T14:27:51.450Z' datatype='xsd:dateTime' content='2019-01-05T14:27:51.450Z'>2019-01-05</time></dd> </dl> <p>Some of the sender implementations include streaming-capable implementations of LDN, stand-alone libraries, and domain specific applications. Some of the sender implementations also fulfill the role of a consumer. For instance, Linked Edit Rules checks the consistency of statistical datasets against structured constraints, and delivers the consistency report as a notification to the user. py-ldnlib is a library that can be reused by other applications to send LDN notifications.</p> <table id='ldn-test-sender-summary'> <caption>Sender tests summary</caption> <thead> <tr><th rowspan='3'>Implementations</th><th colspan='8'>Sender tests</th></tr><tr><th colspan='8'>Required for interop</th></tr><tr><th><a href="https://csarven.ca/linked-research-decentralised-web/#HDS">HDS</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#HPR">HPR</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#HPCTJL">HPCTJL</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#HPVJL">HPVJL</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#BDS">BDS</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#BPR">BPR</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#BPCTJL">BPCTJL</a></th><th><a href="https://csarven.ca/linked-research-decentralised-web/#BPVJL">BPVJL</a></th></tr> </thead> <tbody> <tr><td><a href="https://dokie.li/">dokieli</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/2c5af2f0-f832-11e6-a642-0dd857219753">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/jeffreycwitt/ldn-scta-sender">ldn-scta-sender</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/87647460-05b0-11e7-bd05-bf9fab02ee3c">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="http://sisinflab.poliba.it/swottools/ldp-coap/">LDP-CoAP</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/acd6a3d0-4ac5-11e7-a741-cb560322e93d">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/trellis-ldp/py-ldnlib">py-ldnlib</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/af76b2b0-fbab-11e6-8de6-4d841750ffc3">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/albertmeronyo/linked-edit-rules">Linked Edit Rules</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/c4ec4810-0602-11e7-b31e-53af8173b46a">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/csarven/mayktso">mayktso</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/cee7ef90-fe0f-11e6-9cdc-c5ba5d2e04f7">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="https://github.com/jpcik/ldn-streams">ldn-streams</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/ed5d3ce0-55bd-11e7-a741-cb560322e93d">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr><tr><td><a href="http://distbin.com/">distbin.com</a> (<a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/reports/ee1b0850-f82b-11e6-a642-0dd857219753">report</a>)</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td><td class='earl:passed'>✔</td></tr> </tbody> <tfoot> <tr> <td colspan='9'> <dl> <dt>Number of implementation reports</dt> <dd>8</dd> </dl> <dl> <dt class='earl:passed'><abbr title='Passed'>✔</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#passed">Passed</a></dd> <dt class='earl:failed'><abbr title='Failed'>✗</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#failed">Failed</a></dd> <dt class='earl:cantTell'><abbr title='Cannot tell'>?</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#cantTell">Cannot tell</a></dd> <dt class='earl:inapplicable'><abbr title='Inapplicable'>⌙</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#inapplicable">Inapplicable</a></dd> <dt class='earl:untested'><abbr title='Untested'>○</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#untested">Untested</a></dd> </dl> <dl class='abbr'><dt id='HDS'>HDS</dt><dd>Inbox discovery (<code>Link</code> header). [<a href="https://www.w3.org/TR/ldn/#test-sender-header-discovery">source</a>]</dd><dt id='HPR'>HPR</dt><dd>Makes <code>POST</code> requests (<code>Link</code> header). [<a href="https://www.w3.org/TR/ldn/#test-sender-header-post-request">source</a>]</dd><dt id='HPCTJL'>HPCTJL</dt><dd><code>POST</code> includes <code>Content-Type: application/ld+json</code> (<code>Link</code> header). [<a href="https://www.w3.org/TR/ldn/#test-sender-header-post-content-type-json-ld">source</a>]</dd><dt id='HPVJL'>HPVJL</dt><dd><code>POST</code> payload is JSON-LD (<code>Link</code> header). [<a href="https://www.w3.org/TR/ldn/#test-sender-header-post-valid-json-ld">source</a>]</dd><dt id='BDS'>BDS</dt><dd>Inbox discovery (RDF body). [<a href="https://www.w3.org/TR/ldn/#test-sender-body-discovery">source</a>]</dd><dt id='BPR'>BPR</dt><dd>Makes <code>POST</code> requests (RDF body). [<a href="https://www.w3.org/TR/ldn/#test-sender-body-post-request">source</a>]</dd><dt id='BPCTJL'>BPCTJL</dt><dd><code>POST</code> includes <code>Content-Type: application/ld+json</code> (RDF body). [<a href="https://www.w3.org/TR/ldn/#test-sender-body-post-content-type-json-ld">source</a>]</dd><dt id='BPVJL'>BPVJL</dt><dd><code>POST</code> payload is JSON-LD (RDF body). [<a href="https://www.w3.org/TR/ldn/#test-sender-body-post-valid-json-ld">source</a>]</dd></dl> </td> </tr> </tfoot> </table> </div> </section> </div> </section> <section resource='#ldn-forces-functions' rel='schema:hasPart' inlist='' id='ldn-forces-functions'> <h3 property='schema:name'>Forces and Functions in Linked Data Notifications</h3> <div property='schema:description' datatype='rdf:HTML'> <p>This section goes into detail about how LDN fulfills or supports some of the forces and functions in scientific communication. LDN can facilitate the realisation of interconnecting scholarly communication systems as posited in <cite>Rethinking Scholarly Communication</cite>.</p> <p id='ldn-forces'>Assuming multiple interoperating implementations of LDN, I observe the <em>forces</em>:</p> <dl> <dt>Actors</dt> <dd>The actors involved in executing the LDN protocol can be categorised into documents (or things, or entities) and software applications. An LDN target (like a document or a researcher profile) with an inbox is the actor that affords the start of any communication. Applications consist of LDN implementations with one or more roles: sender, receiver, and consumer, with the purpose of delivering information to or about a target that can be used by interested parties.</dd> <dt>Content</dt> <dd>Target resources, inboxes, and notifications collectively comprise the content in LDN’s flow. That is, any target resource advertising an inbox relation; an inbox description with a collection of notifications (with optional data about creating and using notifications), and individual notifications with any RDF contents. A notification’s content can include or refer to any unit of information or communication in the scientific and scholarly system.</dd> <dt>Accessibility</dt> <dd>An inbox and its notifications are made <em>available</em> to users and applications via HTTP over a network connection. When an HTTP URL resolves, its contents are <em>retrievable</em>, subject to authentication and authorization. Content can be created by and made available to different kinds of consumers: humans or machines.</dd> <dt>Applicability</dt> <dd>Applicability of scholarly communication comes from research which responds to problems or answers questions, which can be used or built upon by others. Notifications enable communication between different parties (individuals, universities, research institutions, industry, etc.) and LDN enables more direct, non-centralised control over this communication.</dd> </dl> <p id='ldn-functions'>The <em>functions</em>:</p> <dl> <dt>Registration</dt> <dd>Prior to LDN, notifications generally would not be considered as persistent units of information. Notifications being registered as their own entities as HTTP URIs facilitates information discovery and reuse. Registration of scholarly artifacts are not addressed by LDN, however, notifications which reference scholarly artifacts are registered.</dd> <dt>Awareness</dt> <dd>The LDN protocol provides a way for content to be disseminated, as well as read by different consumers. LDN can be used to inform systems that a registration of a unit of information took place; a request for quality-control and verification is sought-after, or has occurred; and for instance, an archiving service is informed to place a request for preserving the units.</dd> <dt>Certification</dt> <dd>LDN can be implemented to support scholarly certification mechanisms. Notifications can be sent to request review, as well to return the results of a certification process such as a registered unit of information’s significance and soundness. Units of information at any level of granularity can be referenced in notifications, from entire articles to individual data points. Similarly, information about a revocation of a unit of information can be circulated.</dd> <dt>Archiving</dt> <dd>LDN can be implemented to support archival processes. When new units of information are registered, or existing units of information are updated, archives can be notified in order to store a persistent copy of the resources.</dd> </dl> <p>The information herein is factored into table <cite><a href="https://csarven.ca/linked-research-decentralised-web/#characteristics-of-specifications">Characteristics of Specifications</a></cite>.</p> </div> </section> <section resource='#contextualising-ldn' rel='schema:hasPart' inlist='' id='contextualising-ldn'> <h3 property='schema:name'>Contextualising LDN</h3> <div property='schema:description' datatype='rdf:HTML'> <p>I have discussed how notifications may be purposed in a number of ways in a decentralised scholarly communication ecosystem. In addition, outlined specific use cases, and used these to derive design considerations. An overview of existing protocols for decentralised notifications indicates their respective strengths and shortcomings, and a new protocol is designed to meet our needs in light of this. The Linked Data Notifications protocol separates the concepts of <em>senders</em>, <em>receivers</em> and <em>consumers</em> of notifications for modularity and leverages Linked Data concepts of shared vocabularies and URIs, thus providing a building block for notifications between diverse decentralised and loosely coupled Web applications. The three roles can be implemented independently from each other or all together in one system. This permits end users more freedom to switch between the online tools they use, as well as generating greater value when notifications from different sources can be shared between applications and used in combination.</p> <p>The utility and flexibility of LDN is demonstrated to some extent by the various implementations reported as part of the standardisation process. In this final concluding section, I evaluate LDN by comparing it along various axes with the potential alternatives. I also explain its relationship with other Web standards in the Linked Data or decentralisation space, and describe how LDN addresses users’ degree of control over their data and applications. Finally, I discuss additional considerations that were omitted from LDN at the time of standardisation but may be important to take into account for certain implementations.</p> <section resource='#comparison-of-notification-mechanisms' rel='schema:hasPart' inlist='' id='comparison-of-notification-mechanisms'> <h4 property='schema:name'>Comparison of Notification Mechanisms</h4> <div property='schema:description' datatype='rdf:HTML'> <p>This section covers a direct comparison between existing notification mechanisms from the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#overview-of-web-notification-systems">Overview of Web Notification Systems</a></cite> with Linked Data Notifications, followed by a discussion of the trade-offs that were necessary to realize certain benefits of LDN. The comparison criteria include our <cite><a href="https://csarven.ca/linked-research-decentralised-web/#design-considerations">design considerations</a></cite> (<em>Rx</em>) along with additional technical information which helps to capture some design differences (<em>Tx</em>).</p> <p>The figure <cite><a href="https://csarven.ca/linked-research-decentralised-web/#table-comparison-of-notification-mechanisms">Comparison of notification mechanisms</a></cite> is derived from <a href="https://csarven.ca/linked-data-notifications#comparison-of-notification-mechanisms">https://csarven.ca/linked-data-notifications#comparison-of-notification-mechanisms</a> and modified to include <cite>WebSub</cite>.</p> <figure resource='#survey-comparison-of-notification-mechanisms' rel='schema:hasPart' id='survey-comparison-of-notification-mechanisms'> <table id='table-comparison-of-notification-mechanisms'> <caption>Comparison of notification mechanisms</caption> <thead> <tr> <th>Mechanism</th> <th>T1</th> <th>T2</th> <th>T3</th> <th>R1</th> <th>R2</th> <th>R3</th> <th>R4-A</th> <th>R4-B</th> <th>R4-C<sup>p</sup></th> <th>R4-C<sup>v</sup></th> <th>R4-C<sup>o</sup></th> <th>R5</th> </tr> </thead> <tbody> <tr> <th>Semantic Pingback</th> <td>Linkback</td> <td>POST</td> <td>RDF</td> <td>S R</td> <td>/</td> <td>/</td> <td>Any<sup>r</sup></td> <td>form urlencoded<sup>k</sup></td> <td>!</td> <td>! parse source</td> <td>Any<sup>r</sup></td> <td>X</td> </tr> <tr> <th>Webmention</th> <td>Linkback</td> <td>POST</td> <td>HTML</td> <td>S R</td> <td>–</td> <td>–</td> <td>Any<sup>h</sup></td> <td>form urlencoded<sup>k</sup></td> <td>!</td> <td>! parse source</td> <td>Any<sup>h</sup></td> <td>X</td> </tr> <tr> <th>Provenance Pingback</th> <td>Linkback</td> <td>POST</td> <td>RDF</td> <td>S R</td> <td>/</td> <td>/</td> <td>/</td> <td>URI list</td> <td>/</td> <td>/</td> <td>RDF<sup>q</sup></td> <td>X</td> </tr> <tr> <th>WebSub</th> <td>Fat ping</td> <td>POST</td> <td>Varies</td> <td>S R U</td> <td>-</td> <td>-</td> <td>Any</td> <td>form urlencoded</td> <td>/</td> <td>+ app</td> <td>-</td> <td>!</td> </tr> <tr> <th>DSNotify</th> <td>Fat ping</td> <td>POST, PUT</td> <td>XML, PuSH</td> <td>S U</td> <td>/</td> <td>–</td> <td>–</td> <td>XML</td> <td>/</td> <td>–</td> <td>RDF<sup>t</sup></td> <td>!</td> </tr> <tr> <th>sparqlPuSH</th> <td>Fat ping</td> <td>POST</td> <td>XML, SPARQL, PuSH</td> <td>S U</td> <td>–</td> <td>–</td> <td>–</td> <td>XML<sup>ra</sup></td> <td>/</td> <td>–</td> <td>RDF<sup>t</sup></td> <td>!</td> </tr> <tr> <th>ResourceSync</th> <td>Fat ping</td> <td>POST</td> <td>XML, PuSH</td> <td>S U</td> <td>/</td> <td>–</td> <td>–</td> <td>XML<sup>s</sup></td> <td>/</td> <td>–</td> <td>?</td> <td>!</td> </tr> <tr> <th>Linked Data Notifications</th> <td>Fat ping</td> <td>POST</td> <td>JSON-LD</td> <td>S R C</td> <td>!</td> <td>! URI</td> <td>Any</td> <td>JSON-LD<sup>j</sup></td> <td>+ app</td> <td>+ app</td> <td>–</td> <td>O app</td> </tr> </tbody> <tfoot> <tr> <td colspan='13'> <dl class='abbr'> <dt>T1</dt><dd>Notification type</dd> <dt>T2</dt><dd>Delivery method</dd> <dt>T3</dt><dd>Dependencies</dd> <dt>R1</dt><dd>Modularity (application classes: S Sender, R Receiver, C Consumer, U Subscriber)</dd> <dt>R2</dt><dd>Reusability</dd> <dt>R3</dt><dd>Persistence – required? how?</dd> <dt>R4-A</dt><dd>Target representation</dd> <dt>R4-B</dt><dd>Notification body</dd> <dt>R4-C<sup>p</sup></dt><dd>Payload processing required?</dd> <dt>R4-C<sup>v</sup></dt><dd>Verification – required? how?</dd> <dt>R4-C<sup>o</sup></dt><dd>Requirements for referenced resources?</dd> <dt>R5</dt><dd>Subscription</dd> </dl> <hr/> <dl class='abbr'> <dt>–</dt><dd>not applicable, out of scope</dd> <dt>/</dt><dd>not specified, in scope</dd> <dt>X</dt><dd>explicitly disallowed</dd> <dt>app</dt><dd>application specific decision</dd> <dt>!</dt><dd>required (<em>MUST</em>)</dd> <dt>+</dt><dd>recommended (<em>SHOULD</em>)</dd> <dt>O</dt><dd>optional (<em>MAY</em>)</dd> <dt>PuSH</dt><dd>PubSubHubbub</dd> </dl> <hr/> <dl class='abbr'> <dt><sup>h</sup></dt><dd>HTML recommended</dd> <dt><sup>j</sup></dt><dd>Alternate RDF formats can be negotiated</dd> <dt><sup>k</sup></dt><dd><code>source</code> and <code>target</code> key–value pairs is required</dd> <dt><sup>q</sup></dt><dd>Provenance records with <a href="http://www.w3.org/TR/prov-o/">PROV Ontology</a></dd> <dt><sup>r</sup></dt><dd>RDF representation recommended</dd> <dt><sup>ra</sup></dt><dd>SPARQL results transformed to RSS/Atom</dd> <dt><sup>s</sup></dt><dd><a href="https://www.sitemaps.org/protocol.html">Sitemaps</a></dd> <dt><sup>t</sup></dt><dd>Described in an RDF store or dataset</dd> </dl> <p>Table is derived from <cite><a rel='prov:wasDerivedFrom' href="https://csarven.ca/linked-data-notifications#comparison-of-notification-mechanisms" data-versionurl='https://web.archive.org/web/20190709212249/https://csarven.ca/linked-data-notifications' data-versiondate='2019-07-09T21:22:49Z'>comparison of notification mechanisms</a></cite> originally published in <cite>Linked Data Notifications: a resource-centric communication protocol</cite>, Capadisli, 2016, <a href="https://creativecommons.org/licenses/by/4.0/">CC BY</a>.</p> </td> </tr> </tfoot> </table> <figcaption property='schema:name'>Comparison of Notification Mechanisms.</figcaption> </figure> <p>All of the notification mechanisms specify multiple roles, with the Sender (S) being common across all of them. LDN is the only mechanism which describes the Consumer (C) role; this explicitly highlights how notifications can be useful to applications other than those concerned with sending and receiving. For mechanisms which include a Subscriber (U) role, the Receiver (R) is essentially also the Consumer, so Receivers are less generic and require specialised payloads. In this respect, LDN is a more modular specification. LDN Receivers need not be concerned with additional actions beyond storing and exposing notifications; complex and domain-specific uses of the notifications are left to Consumers, resulting in a lot more flexibility in terms of lightweight end-user applications.</p> <p>WebSub differs in terms of the number of roles, but not the actual functions of the specified roles. The hub is an intermediate party which plays the role of a Receiver and a Sender, relaying notifications from the original Sender (or publisher) to the Subscriber (or ultimate Receiver), but nonetheless only makes notifications available to the Subscriber and no other applications.</p> <p>LDN enforces that notifications should be reusable, and specifies how Receivers should make notifications available for Consumers. The other mechanisms either consider notification reuse as inapplicable or leave it optional and unspecified.</p> <p>This is also tied to to persistence and retrievability in that LDN requires notifications to be identified by dereferenceable HTTP URIs. The other notification mechanisms treat notifications as ephemeral resources which only exist until they are delivered to a Receiver.</p> <p>The mechanisms with the <em>fat ping</em> approach require structured data in XML or JSON-LD. Only LDN requires the use of RDF through JSON-LD, and optional content negotiation for other RDF syntaxes. Thus, notification payloads can include references to other retrievable resources, or can embed all relevant data directly in the payload.</p> <p>Approaches which send only URLs (as with linkback) rely on the receiver interpreting a third-party resource, which may or may not contain structured content or be under the control of the sender. Approaches which offer additional guidance to aid the receiver in interpreting the source document(s) nonetheless still restrict the sender. LDN therefore offers flexibility to senders, increasing the potential uses for the notification mechanism. LDN compensates for increased complexity on the receiver’s end by recommending filtering mechanisms, and moving most of the burden of understanding notification contents to the consumer role. In placing no constraints on the notification payload, LDN enables a sender to be precise and lossless with the data it is transmitting. As such LDN can cover a broader variety of use cases.</p> <p>LDN recommends that Receiver applications perform some processing of the payload. This is to enable users to configure their Receivers to filter out spam or customise them for particular domains, but is not required; such filtering could also be left to or supplemented by Consumers. In contrast, Semantic Pingback and Webmention require receivers to parse the form-encoded payload and then to perform fetching of the URLs within and additional parsing of the documents those URLs identify. This is required in order to verify the message (by finding the target URL). Such processing in LDN is left at the discretion of the Receiver; linkback style verification is not required, but also not forbidden. </p> <p>As WebSub requires subscribing as part of its core design, hubs are expected to perform specific actions on receipt of a <em>subscription</em> request (where the payload is tightly constrained), but not necessarily to process the contents of a notification sent by a <em>publisher</em> (where the payload can be anything; how they handle this depends on the content-type). </p> <p>Though LDN does not specify a subscription mechanism in the same vein as WebSub, thanks to the modularity of specification conformance classes and the flexible nature of the notification contents, it is possible for applications to perform subscription-like interaction by taking on multiple roles.</p> <p>LDN requires that Senders and Consumers are equipped to discover Inboxes (receiving endpoints) through both HTTP headers and the body of an RDF resource. This slightly increased complexity around Inbox discovery for Senders and Consumers is a worthwhile tradeoff to lower the bar for publishers of target resources; Inboxes can be advertised from <em>any</em> document on the Web (through HTTP headers), and attached to even non-informational resources (through RDF statements). This increases the potential use cases for LDN.</p> <p>It is difficult to objectively measure performance metrics of different mechanisms as the various implementations use different servers and programming languages whose efficiency do not necessarily have any bearing on the protocols themselves. Mechanisms which require large payloads may increase the time for HTTP requests to be processed, and mechanisms that require verification add an additional network request to complete the process.</p> </div> </section> <section resource='#interoperability-across-specifications' rel='schema:hasPart' inlist='' id='interoperability-across-specifications'> <h4 property='schema:name'>Interoperability Across Specifications</h4> <div property='schema:description' datatype='rdf:HTML'> <p>There are several technical specifications that LDN may be interoperably combined. Here I discuss a few.</p> <p id='relationship-with-ldp'><strong>Relationship with Linked Data Platform</strong>: An LDN Receiver is not dependent on a complete implementation of the <abbr title='Linked Data Platform'>LDP</abbr> specification, but comprises an easy-to-implement subset. An LDN Inbox is comparable to an LDP <cite><a rel='cito:citesAsRelated' href="https://www.w3.org/TR/ldp/#dfn-linked-data-platform-basic-container" data-versionurl='https://web.archive.org/web/20190709212231/https://www.w3.org/TR/ldp/' data-versiondate='2019-07-09T21:22:31Z'>BasicContainer</a></cite>. LDP <a rel='cito:citesAsRelated' href="https://www.w3.org/TR/ldp/#ldpc-general">does not define</a> how clients discover LDP Containers. Through LDN’s inbox discovery, LDP Containers for the purpose of holding notifications can be discovered. Thus, the core features necessary to exchange notifications between LDN applications is effectively possible with existing, as well as future implementations of LDP.</p> <p id='relationship-with-activitypub'><strong>Relationship with ActivityPub</strong>: ActivityPub uses LDN’s <a rel='cito:citesAsRelated' href="https://www.w3.org/TR/activitypub/#inbox">targeting</a> and <a rel='cito:citesAsRelated' href="https://www.w3.org/TR/activitypub/#delivery">delivery</a> mechanism with <a rel='cito:citesAsRelated' href="https://www.w3.org/TR/activitypub/#ldn-relationship">some specific constraints</a>. Notifications must use a single AS2 Activity in compact JSON-LD syntax. Receivers are required to authenticate requests made by Senders, as well as verify the existence of an object (that the activity is about) that is mentioned in the notification by fetching its source from the origin server. It is possible for LDN Senders to deliver notifications to AP servers. It is also possible for AP clients to deliver messages to LDN Receivers with some bridging.</p> <p id='relationship-with-fedora'><strong>Relationship with Fedora API</strong>: The <a rel='cito:citesAsRelated' href="http://fcrepo.github.io/fcrepo-specification/">Fedora API Specification</a> is in the process of being formalised (as an extension of LDP) by the Fedora community. As LDN can be used to support external integrations, Fedora API’s repository event stream <a rel='cito:citesAsRelated' href="https://fcrepo.github.io/fcrepo-specification/#notifications">draws upon the LDN specification</a>, allowing LDN consumers and senders to react asynchronously to repository events. Fedora implementations were included in the LDN implementation reports.</p> <p id='linked-data-vocabularies'><strong>Linked Data vocabularies</strong>: As LDN is agnostic about the contents of a notification, any Linked Data vocabulary can be used, including the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#vocabularies">Vocabularies</a></cite> I have previously discussed in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#structure-of-scholarly-information">Structure of Scholarly Information</a></cite>.</p> <p id='federation-protocols'><strong>Relationship with other federation protocols</strong>: Further similarities and differences between LDN and other federation protocols and social APIs are described in W3C Note <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/social-web-protocols/" data-versionurl='https://web.archive.org/web/20190709212256/https://www.w3.org/TR/social-web-protocols/' data-versiondate='2019-07-09T21:22:56Z'>Social Web Protocols</a></cite>. For example, a bridging code can be applied by applications implementing different specifications to achieve further interoperability between systems.</p> </div> </section> <section resource='#degree-of-control-in-ldn' rel='schema:hasPart' inlist='' id='degree-of-control-in-ldn'> <h4 property='schema:name'>Degree of Control in LDN</h4> <div property='schema:description' datatype='rdf:HTML'> <p>At the beginning of this section, four requirements relating to <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite> were listed. LDN addresses each of these as follows:</p> <dl> <dt>Actors can use their preferred applications to discover, reuse, and send notifications</dt> <dd>LDN was developed as a W3C standard, with strict criteria for interoperability. Applications which implement any of the roles of the protocol can confirm their conformance with the test suite, and are thus expected to be able to interoperate with other conformant applications. Actors should be able to choose any available conformant application and maintain expected notification-related functionality.</dd> <dt>Users store incoming notifications where they prefer</dt> <dd>Any conforming LDN Receiver (server) under a particular user’s control – which they trust, and are authorised to read – can be chosen to store notifications.</dd> <dt>Users can switch between applications without having to move their data</dt> <dd>LDN specifies the mechanism for information exchange, so it is possible to switch between Receiver applications at the protocol level without any further action (implementation-specific details like database storage mechanism may require additional work for portability of data already stored there; this is out of scope of the LDN specification). A user’s Receiver, where notification data is stored, has no bearing on their ability to alternate between sending and consuming applications as needed.</dd> <dt>Users change the location of their data without having to change their application</dt> <dd>Users can serve their inbox and the notifications from different HTTP URIs provided that they do not mind persistence. In this case, the target resource’s inbox location would simply point to the new location. As inbox discovery starts from looking up a target resource’s description, the new inbox location will be discovered as before.</dd> </dl> </div> </section> <section resource='#additional-considerations' rel='schema:hasPart' inlist='' id='additional-considerations'> <h4 property='schema:name'>Additional Considerations</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The LDN specification itself covers privacy and security considerations on <cite><a href="https://csarven.ca/linked-research-decentralised-web/#authenticated-inboxes">authenticated inboxes</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#personally-identifiable-information">personally identifiable information</a></cite>. As for <a href="https://csarven.ca/linked-research-decentralised-web/#persistence-and-retrievability">persistence and retrievability</a>, any consumer application can potentially benefit from being able to reuse notifications if the owners of a receiver makes the necessary commitments. There are further considerations which may be of interest to implementers, or may constitute future work around extending the core protocol, which are worth outlining here.</p> <p id='subscribing-to-notifications'><strong>Subscribing to Notifications</strong>: The interaction between consumers and receivers describes a <em>pull</em> mechanism. A <cite><a href="https://csarven.ca/linked-research-decentralised-web/#subscribing">subscribing</a></cite> mechanism in which consumers <em>request</em> that receivers <em>push</em> content changes to them is left out of scope. Much of the related work <em>requires</em> notifications to be explicitly solicited to trigger sending. Since in a decentralised model, receivers may not be aware of possible sources for notifications, our sender-receiver relationship depends on the sender’s autonomy to make such decisions by itself. This does not preclude the scenario in which a receiver may wish to solicit notifications from a particular sender, but as there are already <em>subscription</em> mechanisms in wide use on the Web eg. ActivityPub, WebSub, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc6455" data-versionurl='https://web.archive.org/web/20190709212256/https://tools.ietf.org/html/rfc6455' data-versiondate='2019-07-09T21:22:56Z'>The WebSocket Protocol</a></cite> (<abbr title='The WebSocket Protocol'>RFC 6455</abbr>), <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc8030" data-versionurl='https://web.archive.org/web/20190709212256/https://tools.ietf.org/html/rfc8030' data-versiondate='2019-07-09T21:22:56Z'>Generic Event Delivery Using HTTP Push</a></cite> (<abbr title='Generic Event Delivery Using HTTP Push'>RFC 8030</abbr>), and can be interoperably combined with LDN, we do not need to specify it as part of our protocol. A push based interaction can still be arranged between LDN applications, where it would be implementation specific. For example, in a notification, a sender specifies the location of an inbox where it can receive updates about content changes. Then, an application that consumes the notifications manages its own subscriber list, and takes the role of sender in order to push content to the inbox as specified in the notification. Another specification-level integration of LDN pertaining to subscribing is that ActivityPub’s <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/activitypub/#follow-activity-inbox" data-versionurl='https://web.archive.org/web/20190709212236/https://www.w3.org/TR/activitypub/' data-versiondate='2019-07-09T21:22:36Z'>Follow Activity</a></cite> is a notification requesting to be notified of target’s activities when they are created. Once the request is approved, the requesting actor is added to target actor’s <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/activitypub/#followers" data-versionurl='https://web.archive.org/web/20190709212236/https://www.w3.org/TR/activitypub/' data-versiondate='2019-07-09T21:22:36Z'>Followers Collection</a></cite> – a list of actors (with their own inboxes). The server then dispatches notifications to the inboxes of these actors.</p> <p id='semantic-organisation-of-notifications'><strong>Semantic Organisation of Notifications</strong>: While LDN facilitates a decentralised architecture for notification exchange, it does not prescribe the structure and semantics of the notifications themselves. The composition of the notifications are unspecified to foster different kinds of applications to be built to communicate information in any domain. Consequently, organisation of notification models materialises through the fact that domain-centric applications create and consume what is meaningful to them in order to coordinate among themselves. So while the notification system is globally decentralised, it enables communication that can be specialised and be only useful and meaningful to applications that understands a particular message’s semantics.</p> <p id='inbox-paging'><strong>Inbox Paging</strong>: We need to consider both the needs of software systems and humans when large amounts of notification data are being generated and shared between diverse applications which may be operating without knowledge of each other. To organise and manage large amount of notifications over time, mechanisms should be in place to break representations of collections of notifications into multiple paged responses that may be easier to consume by applications.</p> <p id='updating-and-deleting-notifications'><strong>Updating and Deleting Notifications</strong>: Receivers may want to carry out resource management or garbage collection, or permit consumers or other applications to do so. For example, an application to consume messages might let an authenticated and authorised user ‘mark as read’ by adding a triple to the inbox or notification contents.</p> <p id='social-implications'><strong>Social Implications</strong>: In an ecosystem where anyone can (technically) say anything about anything, we can acknowledge the social challenges surrounding that in context of notifications. As the LDN protocol facilitates distribution and discovery of information, it can amplify misinformation and (community-centric) inappropriate content, as well as online and offline social dangers effectively. That is, consumers of notifications can be exposed to such information if an inbox is not managed properly. LDN may offer one way to mitigate this problem in that, the actors that control an inbox can decide on which notifications can persist and which to be removed, thereby one way to eliminate references to undesirable content created by other parties. At the same time, the same privilege can also be used to filter information and have bias towards certain parties. This is a form of decentralised curation in that while no single inbox can oversee the discovery of a resource (as there are alternative ways), it enables the owners of receivers to exert their authority on the notifications that makes it into their system. It is a middle-ground in that, on one hand, individuals can voice themselves by registering and making their resources accessible, owners of inboxes can choose not to provide pointers to it. I will further revisit some of these concerns in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#addressing-social-implications">Addressing Social Implications</a></cite>.</p> </div> </section> <p>As we have seen in <cite>Scholarly Communication on the Web</cite>, research communication is continuously transitioning from print-centric to Web-centric. LDN being rooted to Web-centric protocols and formats builds on a reliable and relevant foundation for it to be used as part of the future scholarly communications ecosystem.</p> <p>There are many diverse use cases for notifications within scholarly communication now and likely to be more in the future, so designing the protocol to be flexible permits a common thread of data sharing between these different cases, as well as accommodating unexpected use. Specialisation may be necessary for notifications to be particularly useful in a lot of scenarios, however the protocol is not the level to do this. Thus, LDN leaves it up to applications to specialise their functionality for particular domains or user needs by using semantically <cite><a href="https://csarven.ca/linked-research-decentralised-web/#self-describing">self-descriptive</a></cite> notifications.</p> <p>In the next section, I present LDN as one part of the broader scholarly communication ecosystem through an implementation which ties together many relevant protocols, and encompasses article authoring, annotations, and social interactions.</p> </div> </section> </div> </section> <section resource='#decentralised-linked-research-application' rel='schema:hasPart' inlist='' id='decentralised-linked-research-application'> <h2 property='schema:name'>Decentralised Linked Research Application</h2> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://www.w3.org/History/1989/proposal.html'> <p>Information systems start small and grow. They also start isolated and then merge. A new system must allow existing systems to be linked together without requiring any central control or coordination.</p> <footer>Non-Centralisation, CERN Requirements, <cite><a rel='cito:includesQuotationFrom' href="https://www.w3.org/History/1989/proposal.html" data-versionurl='https://web.archive.org/web/20190215002843/https://www.w3.org/History/1989/proposal.html' data-versiondate='2019T02T15:00:28:43Z'>Information Management: A Proposal</a></cite>, Tim Berners-Lee, 1989</footer> </blockquote> <p>Academic articles are commonly represented in packages, like binary file formats (PDF, Word) merging structural, presentational, and behavioural layers. Such forms are often disconnected from other knowledge, in that navigation from one unit of information to another is non-continuous or not uniformly accessible and usable by both human and machine users. This is generally due to historical policy, cost, and social or technical reasons intertwined with the systems around units of scholarly communication. One side-effect of scholarly publication still being primarily driven by the constraints of print media in this way is that it is challenging for efficient machine-readable coordination on the Web, as well as for continuous advancement of creating, communicating, and consuming information as part of the Open Web Platform.</p> <p>I have covered existing initiatives and progress in research, standards, and practices towards different aspects of realising a decentralised information space. Each dataspace can be individually controlled with access controls for participating agents. Different applications can be implemented to operate on the same data, as well as send activities about the interactions with the data.</p> <p>This section addresses the following <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-questions">research question</a></cite> for this thesis:</p> <blockquote cite='#technical-research-problems-artifacts'> <p>How can Web technologies be employed to fulfill the core functions of scholarly communication in an open and interoperable way?</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://csarven.ca/linked-research-decentralised-web/#technical-research-problems-artifacts">Artifacts</a></cite></footer> </blockquote> <p id='decentralised-web-publishing'>To this end, I will discuss a set of requirements for software implementations which combine the various technologies and concepts into a complete package which enables decentralised publishing of articles and globally identifiable units of information, annotations and social interactions on the Web, as well as their linking and dissemination. I note the overarching influence of the concept of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite>. Such software must enable:</p> <ul> <li>Creating human- and machine-readable Web resources.</li> <li>Socially-aware operations using Web Annotations, Linked Data Notifications, and ActivityPub.</li> <li>Actors to use their preferred WebID in clientside applications.</li> <li>Actors to use their preferred clientside application to perform HTTP-based read-write operations on resources they are authorised to.</li> <li>Actors to switch between applications without having to alter the schema of their data.</li> <li>Actors to move data between servers or datastores without having to change their preferred application.</li> <li>Querying and visualising [statistical] data from clientside applications.</li> </ul> <p>These requirements are met by <cite><a rel='cito:citesAsEvidence' href="https://dokie.li/" data-versionurl='https://web.archive.org/web/20190709212253/https://dokie.li/' data-versiondate='2019-07-09T21:22:53Z'>dokieli</a></cite>, a domain-independent clientside authoring and publishing application that is loosely coupled with a data server. This section outlines key features and discusses design decisions made for this implementation, and extends <cite><a rel='cito:usesConclusionsFrom cito:discusses cito:extends' href="https://csarven.ca/dokieli-rww" data-versionurl='https://web.archive.org/web/20190709212314/https://csarven.ca/dokieli-rww' data-versiondate='2019-07-09T21:23:14Z'>Decentralised Authoring, Annotations and Notifications for a Read-Write Web with dokieli</a></cite>, Capadisli, 2017. I will focus on various aspects of the application, with some use cases specific to scholarly communication, and examine the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#dokieli-forces-functions">Forces and Functions in dokieli</a></cite>.</p> <p>The implementation of dokieli is a core contribution of this thesis, and serves as a culmination of the various background research, Web standards work, and advocacy I have done so far. It is an implementation which showcases various disparate parts – Web standards, technologies, and social ideals – coming together in a cohesive way to serve a future scholarly communication ecosystem which takes full advantage of the capabilities of the Web.</p> <p>dokieli is not intended to be <em>the</em> solution for decentralised academic publishing and communication. My contribution is not the implementation itself, but rather the deep exploration and demonstration of how the, often complex and controversial, moving parts of the scholarly communications ecosystem can come together. What is presented here is a description of the state of the work at the time of writing. It is intended as a conceptual guide or model, and a minimum-viable baseline to be bettered by future developers and researchers. Certain development decisions were made based on existing literature, development, and observations in the relevant fields, which are discussed throughout the prior sections of this thesis. The major undertaking here was to develop dokieli with a thorough analysis of the technical possibilities of the Web <em>as well as</em> the social context in which academic researchers currently find themselves. This is not a quick-fix or a patch, but an ongoing and lengthy iterative process. It is my hope that future tooling built to support the forces and functions in decentralised scholarly communication can build upon the rationale for the ways in which dokieli is designed, and learn from the things that work and the things that do not.</p> <p>While I am the original developer of dokieli, the code is <a rel='cito:citesAsSourceDocument' href="https://github.com/linkeddata/dokieli">open source, maintained in public</a>, and accepts <a rel='cito:credits' href="https://github.com/linkeddata/dokieli/#contributors">attributed community contributions</a>. As a direct result of my work on dokieli I have also contributed to and been influenced by the following:</p> <ul id='dokieli-related-contributions'> <li><cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-html/" data-versionurl='https://web.archive.org/web/20190709212206/https://www.w3.org/TR/annotation-html/' data-versiondate='2019-07-09T21:22:06Z'>Embedding Web Annotations in HTML</a></cite>, a Note output of the W3C Web Annotation Working Group. The Note includes my contributions to representing annotations in HTML+RDFa derived from dokieli’s implementation of the WA Data Model and Vocabulary for HTML+RDFa representations.</li> <li>The MIT <cite><a rel='cito:discusses' href="https://solid.mit.edu/" data-versionurl='https://web.archive.org/web/20190628115812/https://solid.mit.edu/' data-versiondate='2019-06-28T11:58:12Z'>Social Linked Data</a></cite> (<abbr title='Social Linked Data'>Solid</abbr>) <a href="https://github.com/solid">project repositories</a>, eg. <cite><a rel='cito:citesAsEvidence' href="https://github.com/solid/node-solid-server" data-versionurl='https://web.archive.org/web/20190709212258/https://github.com/solid/node-solid-server' data-versiondate='2019-07-09T21:22:58Z'>node-solid-server</a></cite>, <q>a proposed set of conventions and tools for building decentralized social applications based on Linked Data principles.</q></li> <li>The <cite><a rel='cito:citesAsEvidence' href="https://github.com/ORCID/ORCID-Source/" data-versionurl='https://web.archive.org/web/20190709212258/https://github.com/ORCID/ORCID-Source/' data-versiondate='2019-07-09T21:22:58Z'>ORCID source</a></cite>, to enable existing ORCID identities to take advantage of extensible profile descriptions in RDF by making it possible for ORCID users to declare the location of their preferred Personal Data Storage, Linked Data Notifications inbox, and ActivityPub outbox.</li> </ul> <section resource='#linking-the-decentralised-information-space' rel='schema:hasPart' inlist='' id='linking-the-decentralised-information-space'> <h3 property='schema:name'>Linking the Decentralised Information Space</h3> <div property='schema:description' datatype='rdf:HTML'> <p>By using different arrangements of LDN, WA, AP, LDP mechanisms and as well as relevant Linked Data vocabularies, scholarly and social activities can be systematically created, linked, discovered, and reused for a variety of use cases. In this section, I present an overview of <em>a</em> decentralised information space including actor profiles, notifications, and annotations. As units of information are structured and semantically interconnected, it forms a knowledge graph with the following key components with respect to technical specifications and practices:</p> <ul> <li id='subject-annotation-service'>Assertion of preferred service for maintaining annotations about the subject resource (via <code>oa:annotationService</code>)</li> <li id='subject-inbox'>Assertion of a service for receiving and serving notifications about the subject resource (via <code>ldp:inbox</code>)</li> <li id='profile-storage'>Assertion of preferred storage location (via <code>pim:storage</code>)</li> <li id='profile-outbox'>Assertion of location of an actor’s activities (via <code>as:outbox</code>)</li> <li id='profile-index'>Assertion of type index registrations (via <code>solid:publicTypeIndex</code>)</li> <li id='profile-knows-profile-storage'>Members of an actor’s social graph (via eg. <code>foaf:knows</code>) asserting their preferred storage location</li> <li id='profile-knows-profile-outbox'>Members of an actor’s social graph asserting the location of their activities</li> <li id='profile-knowns-profile-index'>Members of an actor’s social graph asserting their type index registration (via <code>solid:publicTypeIndex</code>)</li> <li id='inbox-annotation-known'>Inbox or annotation service locations which are known prior to interaction eg. trusted or used by a community.</li> <li id='inbox-annotation-manual'>Inbox or annotation service locations which are manually input to the system eg. not publicised or private.</li> </ul> <p>When discussing discovery throughout this section, this means the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#follow-your-nose">follow your nose</a></cite> approach of using the kinds of links listed above to find relevant services and other resources. Applications can incrementally arrange and implement a combination of these components to deliver and discover distributed activities on the Web – in a similar fashion to the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#paygo">paygo</a></cite> approach. For example, the preferred locations for data storage, annotations and notifications for resources can be used as input to create new resources eg. assigning an inbox for an annotation where the inbox location is derived from a profile’s preferred location for a class of information. Thereby a chain of operations can be orchestrated for decentralised units of information. This matches the notion of decoupled functions and reconstructing information flows for a unit of communication as posited in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#rethinking-scholarly-communication">Rethinking Scholarly Communication</a></cite>.</p> <p>The following figure depicts a generalisation of a decentralised information space with emphasis on personal profiles, articles, annotations, and notifications.</p> <figure resource='#examplar-information-space' rel='schema:hasPart' id='examplar-information-space'> <object width='480' type='image/svg+xml' rel='schema:image' height='360' data="https://csarven.ca//media/images/articles/interplay-profiles-articles-annotations-notifications.svg"></object> <figcaption property='schema:name'>Interplay of Profiles, Articles, Annotations, and Notifications.</figcaption> </figure> </div> </section> <section resource='#implementing-a-read-write-application' rel='schema:hasPart' inlist='' id='implementing-a-read-write-application'> <h3 property='schema:name'>Implementing a Read-Write Application</h3> <div property='schema:description' datatype='rdf:HTML'> <p>In this section I present how a collection of open standards can be integrated into an application that can be used autonomously by researchers to participate in a scholarly communication ecosystem that puts the principles of <em>interoperability</em> and <em>composability</em> at the forefront. <cite>dokieli</cite> implements the use cases pertaining to <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linking-the-decentralised-information-space">Linking the Decentralised Information Space</a></cite>, as well <cite><a href="https://csarven.ca/linked-research-decentralised-web/#scholarly-communication-notification-use-cases">scholarly communication notification use cases</a></cite>.</p> <dl> <dt>Project website</dt> <dd><a href="https://dokie.li/">https://dokie.li/</a></dd> <dt>Source code</dt> <dd><a href="https://github.com/linkeddata/dokieli">Git repository</a></dd> <dt>Code license</dt> <dd><a rel='cito:discusses' href="http://www.apache.org/licenses/LICENSE-2.0" data-versionurl='https://web.archive.org/web/20190208113358/http://www.apache.org/licenses/LICENSE-2.0' data-versiondate='2019-02-08T11:33:58Z'>Apache License, Version 2.0</a></dd> <dt>Content license</dt> <dd><a rel='cito:discusses' href="https://creativecommons.org/licenses/by/4.0/" data-versionurl='https://web.archive.org/web/20190208113510/https://creativecommons.org/licenses/by/4.0/' data-versiondate='2019-02-08T11:35:10Z'>Creative Commons Attribution 4.0 International</a></dd> <dt>Documentation</dt> <dd><a rel='cito:discusses' href="https://dokie.li/docs">https://dokie.li/docs</a></dd> <dt>Community</dt> <dd><a rel='cito:discusses' href="https://gitter.im/linkeddata/dokieli">Public chat</a></dd> </dl> <p>dokieli is a general-purpose clientside editor for decentralised article publishing, annotations and social interactions. While it implements use cases specific to research or scholarly communication, it is not constrained to any knowledge domain or field of work. For instance, dokieli is capable of rendering the following use cases from the W3C <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/xhtml-rdfa-scenarios/" data-versionurl='https://web.archive.org/web/20190709111137/https://www.w3.org/TR/xhtml-rdfa-scenarios/' data-versiondate='2019-07-09T11:11:37Z'>RDFa Use Cases: Scenarios for Embedding RDF in HTML</a></cite>: <q cite='https://www.w3.org/TR/xhtml-rdfa-scenarios/#use-case-1'>Basic Structured Blogging</q>, <q cite='https://www.w3.org/TR/xhtml-rdfa-scenarios/#use-case-2'>Publishing an Event - Overriding Some of the Rendered Data</q>, <q cite='https://www.w3.org/TR/xhtml-rdfa-scenarios/#use-case-3'>Content Management Metadata</q>, <q cite='https://www.w3.org/TR/xhtml-rdfa-scenarios/#use-case-5'>Web Clipboard</q>, <q cite='https://www.w3.org/TR/xhtml-rdfa-scenarios/#use-case-7'>Advanced Data Structures</q>, and <q cite='https://www.w3.org/TR/xhtml-rdfa-scenarios/#use-case-8'>Augmented Browsing for Scientists</q>, <q cite='https://www.w3.org/TR/xhtml-rdfa-scenarios/#use-case-9'>Publishing a RDF Vocabulary</q>. The functional and non-functional requirements from the <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldp-ucr/" data-versionurl='https://web.archive.org/web/20190709212233/https://www.w3.org/TR/ldp-ucr/' data-versiondate='2019-07-09T21:22:33Z'>Linked Data Platform Use Cases and Requirements</a></cite> (<abbr title='Linked Data Platform Use Cases and Requirements'>LDP-UCR</abbr>) are also met from the point of expectations of a client application for authoring, publishing, and sharing content with LDP servers.</p> <p>dokieli uses <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-notifications">LDN</a></cite> to send and consume notifications. For example, when a reader comments on a fragment of text in an article, the application discovers the article’s Inbox and sends a notification about the annotation. dokieli also consumes notifications from this Inbox to fetch and display the annotation as marginalia (<a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-research-decentralised-web/#figure-dokieli-annotation">figure dokieli Web Annotation</a>), or indicates the back-references as in the case with citations. A reader can share a dokieli-enabled article with their contacts; dokieli discovers each contact’s Inbox and sends a notification there (<a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-research-decentralised-web/#figure-dokieli-share">figure dokieli Share</a>). When editing an article, the author can add a citation. If an Inbox is discovered in the cited article, dokieli sends a notification there to indicate what part of the article was cited by whom and where. dokieli-enabled articles also consume citation notifications to display these metrics for the author and other readers (<a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-research-decentralised-web/#figure-dokieli-citation">figure dokieli Citations and Notifications</a>).</p> <p>Next I describe dokieli’s architecture according to the following capabilities:</p> <ul> <li>Actors use their own WebIDs to identify themselves with, and use their profile information to adapt the user interface.</li> <li>Actors publish and consume human- and machine-readable Linked Data, and decide where they are made available from and the conditions for access and reuse.</li> <li>Actors trigger the notification system to announce, as well as discover relevant information.</li> </ul> <section resource='#core-techniques' rel='schema:hasPart' inlist='' id='core-techniques'> <h4 property='schema:name'>Core Techniques</h4> <div property='schema:description' datatype='rdf:HTML'> <p>I summarise the key protocols and data models that dokieli uses in this section. Later, I will describe important use cases in more detail.</p> <section resource='#core-concepts' rel='schema:hasPart' inlist='' id='core-concepts'> <h5 property='schema:name'>Core Concepts</h5> <div property='schema:description' datatype='rdf:HTML'> <p typeof='dio:DesignDecision' resource='#separation-of-layers' rel='dio:leadsTo' id='separation-of-layers'><strong property='schema:name'>Separation of Layers</strong>: <span property='schema:description' datatype='rdf:HTML'>dokieli adopts <cite>progressive enhancement</cite> strategy for the structural, presentational, and behavioural layers to allow content and base functionality to be accessible through different media and devices. The content representation in HTML+RDFa that dokieli produces is accessible (readable by human and machine consumers) without requiring CSS or JavaScript, ie. text-browser safe, as well as backwards-compatible with the <cite><a rel='cito:citesForInformation' href="https://worldwideweb.cern.ch/" data-versionurl='https://web.archive.org/web/20190709212259/https://worldwideweb.cern.ch/' data-versiondate='2019-07-09T21:22:59Z'>WorldWideWeb</a></cite> browser.</span></p> <p typeof='dio:DesignDecision' resource='#human-and-machine-interpretable' rel='dio:leadsTo' id='human-and-machine-interpretable'><strong property='schema:name'>Human- and Machine-Interpretable</strong>: <span property='schema:description' datatype='rdf:HTML'><cite><a href="https://csarven.ca/linked-research-decentralised-web/#why-rdfa">Why RDFa</a></cite> explained having all human-visible content in HTML, and all structured statements be made in context of their content in RDFa, thereby a close association between structured data and visual locality. That is, machine-readable semantics are embedded directly into human-visible prose through RDFa. dokieli applies this technique to avoid data duplication in the same document – adhering to the <abbr title='Don’t Repeat Yourself'>DRY</abbr> principle. The approach also helps to avoid the creation and usage of multiple data islands, ie. separately for humans and machines. Consequently, it has the advantage of not having any dependency on JavaScript in order to make the hidden machine-readable content be consumable from a human user interface. One exception to this rule is where dokieli allows authors to embed Turtle, JSON-LD, or TriG data blocks (useful for Nanopublications) in HTML typically for the purpose of including complementary non-prose structured information. We cannot know in advance what new kinds of information or data can be integrated into articles, so to facilitate extensibility, dokieli sets no constraints on what information can be embedded nor how it can be be expressed. Hence, information can be expressed using different vocabularies, enabling reuse of existing data models and the addition of new semantic expressions.</span></p> <p typeof='dio:DesignDecision' resource='#composability' rel='dio:leadsTo' id='composability'><strong property='schema:name'>Composability</strong>: <span property='schema:description' datatype='rdf:HTML'>Resources generated by dokieli are composable on the data layer as there are semantic relations between units of information, both internally and externally identifiable units. All articles, annotations, and notifications can be assembled in various combinations since they are ultimately expressed using the RDF language, which acts as a layer to describe them at any level of abstraction. All units of information in articles, annotations, and notifications are self-contained, context neutral, globally identifiable and accessible without additional processing. Resources can be versioned, marked as immutable, and archived, thereby treating them as stateless entities on the Web. Another way to reuse the resources is by dynamically embedding them in articles while communicating the original context eg. link to the source, parameters in which an annotation was created. Notifications can serve to establish <span id='bi-directional-linking'>bi-directional linking</span> eg. in citations. Articles and annotations can embed media objects eg. images, videos, audio, or documents, as reusable resources.</span></p> <p typeof='dio:DesignDecision' resource='#presentation' rel='dio:leadsTo' id='presentation'><strong property='schema:name'>Presentation</strong>: <span property='schema:description' datatype='rdf:HTML'>The appearance of HTML in the Web browser is handled with CSS3. Different stylesheets can be applied to the same HTML structure so that a document can be presented flexibly, in the most appropriate way for a particular circumstance, eg. a theme resembling a blog post or a scholarly article. Stylesheets can be switched from either dokieli’s menu or through Web browser with native controls. External stylsheets can also be applied dynamically.</span></p> <p typeof='dio:DesignDecision' resource='#behaviour' rel='dio:leadsTo' id='behaviour'><strong property='schema:name'>Behaviour</strong>: <span property='schema:description' datatype='rdf:HTML'>When JavaScript is enabled on the clientside, dokieli provides a rich editing interface which includes visual and structural formatting of text as well as embedding machine-readable semantics, media, dynamic citations, and inclusion of statistical charts from live endpoints. An Internet connection or a personal data store are not needed at this stage as modifications to a document made in the browser this way can be persisted to a local filesystem using the dokieli menu <em>Export</em> function; the Web browser’s <em>Save Page As</em> function, or through the Web browser’s local storage.</span></p> </div> </section> <section resource='#core-mechanisms' rel='schema:hasPart' inlist='' id='core-mechanisms'> <h5 property='schema:name'>Core Mechanisms</h5> <div property='schema:description' datatype='rdf:HTML'> <p typeof='dio:DesignDecision' resource='#read-write' rel='dio:leadsTo' id='read-write'><strong property='schema:name'>Read-Write</strong>: <span property='schema:description' datatype='rdf:HTML'>dokieli operates on a <q cite='https://en.wikipedia.org/wiki/Single-page_application#Thin_server_architecture'>thin server architecture</q> in that it has no expectations from a server other than to provide a representation of a resource (based on content-negotiation). Reading primary resource that dokieli is activated on (same-origin) does not require a JavaScript capable user agent. Dynamically fetching additional resources from the same or cross-origin requires JavaScript. Writing to same or cross-origin requires JavaScript.</span></p> <p typeof='dio:DesignDecision' resource='#identifiers' rel='dio:leadsTo' id='identifiers'><strong property='schema:name'>Identifiers</strong>: <span property='schema:description' datatype='rdf:HTML'>The following kinds of identifiers can be registered (generated or requested by the application and fulfilled by a service):</span></p> <ul property='schema:description' datatype='rdf:HTML' about='#identifiers'> <li>Resource-level (articles, activities, annotations, notifications)</li> <li>Versioned resources</li> <li>Immutable resources</li> <li>Archiving</li> <li>Contents, list of tables, figures and abbreviations</li> <li>Sectioning content</li> <li>Paragraphs</li> <li>Selections (arbitrary)</li> <li>References and citations</li> <li>Definitions</li> <li>Figures, tables, code listings</li> <li>Code line numbers</li> <li>Access-control policy</li> <li>Canonical identifier (annotation)</li> <li>Embedded data resources</li> </ul> <p typeof='dio:DesignDecision' resource='#content-negotiated-serialisation' rel='dio:leadsTo' id='content-negotiated-serialisation'><strong property='schema:name'>Content-Negotiated Serialisation</strong>: <span property='schema:description' datatype='rdf:HTML'>dokieli can serialise articles, annotations, and notifications in HTML+RDFa, Turtle, and JSON-LD, depending on server content-negotiation. Articles are represented in HTML+RDFa so that information is usable by both humans and machine consumers while maintaining lowest requirements for publishing, eg. a single URL with full payload in HTML+RDFa can be accessible from any HTTP server. No additional requirements are necessary from user-agents (eg. JavaScript support), or servers (eg. content-negotiation). For annotations and notifications, dokieli first meets interoperability requirements (for protocols and vocabularies), and remains flexible about the serialisation that servers prefer. Similarly for consuming content, it can work with any of the serialisations. All HTML serialisations use HTML5 <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/html-polyglot/" data-versionurl='https://web.archive.org/web/20190709212300/https://www.w3.org/TR/html-polyglot/' data-versiondate='2019-07-09T21:23:00Z'>Polyglot Markup</a></cite>.</span></p> <p typeof='dio:DesignDecision' resource='#notification-inbox' rel='dio:leadsTo' id='notification-inbox'><strong property='schema:name'>Notification Inbox</strong>: <span property='schema:description' datatype='rdf:HTML'>An article, or any unit of information within the article, may be associated with a notification inbox using LDN’s <code>ldp:inbox</code> property. dokieli detects inbox relations and sends notifications when annotations are created. While orthogonal, articles and inboxes can also preserve context in that a unique inbox can be associated with a unique version of an article, so that annotations will refer to the specific version of an article, as well as being specifically recalled through the unique inbox. dokieli also enables users to assign an inbox for the annotation that they are creating. This has the advantage that the annotation has its own inbox, which means it can stand alone and receive replies, or enable threaded conversation on the article itself. The authors of articles or annotations choose their preferred storage location for notifications and assign their inbox accordingly, based on Solid’s Type Index Registration approach. An inbox may also be discovered through an actor’s profile and used to send notifications eg. to announce the availability of a new resource.</span></p> <p typeof='dio:DesignDecision' resource='#annotation-service' rel='dio:leadsTo' id='annotation-service'><strong property='schema:name'>Annotation Service</strong>: <span property='schema:description' datatype='rdf:HTML'>Articles can be associated with an annotation service located anywhere on the Web with WA’s <code>oa:annotationService</code> property. dokieli can detect the annotation service of an article and offer optionally to send annotations there using the WA Protocol.</span></p> <p typeof='dio:DesignDecision' resource='#provenance-memento' rel='dio:leadsTo' id='provenance-memento'><strong property='schema:name'>Provenance and Memento</strong>: <span property='schema:description' datatype='rdf:HTML'>dokieli can create resources that are derived from other resources, such that provenance data is retained eg. using <code>prov:wasDerivedFrom</code>, <code>prov:generatedAtTime</code>, in the derived copy. Versioned and immutable resources can be created and include information on their history eg. <code>rel:latest-version</code>, <code>rel:predecessor-version</code>. Memento TimeMap is also created to keep references to memento versions of the created resources (using <code>mem:memento</code>), as well as resources linking to their TimeMap with <code>mem:timemap</code>.</span></p> <p typeof='dio:DesignDecision' resource='#resource-archiving' rel='dio:leadsTo' id='resource-archiving'><strong property='schema:name'>Resource archiving</strong>: <span property='schema:description' datatype='rdf:HTML'>dokieli uses Internet Archive’s API to create archived resources and to cite the snapshots with Web Annotations. Actors are able to visit the snapshot URI or reuse by including it back in the document as Robust Links. As per <cite><a href="https://csarven.ca/linked-research-decentralised-web/#archivability">Archivability</a></cite>, as all human- and machine-readable (meta)data can be encoded in a static standards-compliant HTML document, they are archivable by on-demand Web archiving services.</span></p> <p typeof='dio:DesignDecision' resource='#robust-links-link-decoration' rel='dio:leadsTo' id='robust-links-link-decoration'><strong property='schema:name'>Robust Links Link Decoration</strong>: <span property='schema:description' datatype='rdf:HTML'>In order to work around content-drift and link-rot, authors of articles can <em>decorate links</em> to include <cite><a href="https://csarven.ca/linked-research-decentralised-web/#robust-links">Robust Links</a></cite>, eg. the URI of a snapshot from the <cite>Internet Archive</cite>, datetime stamp at the time of linking, and other context. The application UI shows the versioned URI, as well as the <cite><a rel='cito:citesAsAuthority' href="http://timetravel.mementoweb.org/" data-versionurl='https://web.archive.org/web/20190215160609/http://timetravel.mementoweb.org/' data-versiondate='2019-02-15T16:06:09Z'>TimeTravel</a></cite> URI that redirects to a Memento of a given resource. The documents also include common date information to provide context for external references eg. through created, published, modified datetime stamps.</span></p> <p typeof='dio:DesignDecision' resource='#i18n-l10n' rel='dio:leadsTo' id='i18n-l10n'><strong property='schema:name'>Internationalization and Localization</strong>: <span property='schema:description' datatype='rdf:HTML'>UTF-8 content encoding is used in HTML and RDF serializations, as well as in CSS. Language tags are used at the document level as well as parts within, and languages can be mixed. Users can individually tag the language of their articles and annotations from the UI. Date and time are expressed according to <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.iso.org/obp/ui#iso:std:iso:8601:-1:ed-1:v1:en" data-versionurl='https://web.archive.org/web/20190709212302/https://www.iso.org/obp/ui' data-versiondate='2019-07-09T21:23:02Z'>ISO 8601</a></cite>.</span></p> <p typeof='dio:DesignDecision' resource='#license' rel='dio:leadsTo' id='license'><strong property='schema:name'>License</strong>: <span property='schema:description' datatype='rdf:HTML'>Actors can assign any license and rights to their documents or any unit of information within. All of the Creative Commons licenses are available from the dokieli UI for actors to use for articles and annotations. Notifications are licensed with <a href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 1.0 Universal</a> (public domain dedication).</span></p> </div> </section> <section resource='#core-artifacts' rel='schema:hasPart' inlist='' id='core-artifacts'> <h5 property='schema:name'>Core Artifacts</h5> <div property='schema:description' datatype='rdf:HTML'> <p>dokieli applies the notion of articles, annotations, notifications, and profiles as described in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#units-of-communication">Units of Communication</a></cite>. dokieli’s user interface is used to author articles, annotations, and notifications.</p> <p resource='#dokieli-articles' rel='schema:hasPart' id='dokieli-articles'><strong property='schema:name'>Articles</strong>: <span property='schema:description' datatype='rdf:HTML'>An article – in the most general sense of the term – may contain RDF classes like <code>schema:CreativeWork</code>, <code>prov:Entity</code>, <code>schema:Article</code>, <code>as:Article</code>. While the body of annotations may be also considered as articles in their own right, I reserve the usage of the term articles in particular to primary (research) documents typically containing structured prose. Actors can assign unique identifiers to any fragment of information.</span></p> <p resource='#dokieli-annotations' rel='schema:hasPart' id='dokieli-annotations'><strong property='schema:name'>Annotations</strong>: <span property='schema:description' datatype='rdf:HTML'>dokieli uses the Web Annotation <cite>Data Model</cite> and <cite>Vocabulary</cite> to express the annotations it creates, as well as implementing the Web Annotation <cite>Protocol</cite> in order to communicate with conforming annotation servers. dokieli initially prepares the annotation in RDFa using the <cite>Embedding Web Annotations in HTML</cite>, where it may be re-serialised to another RDF syntax depending on content-negotiation with the server. An annotation has the <code>oa:Annotation</code> RDF class, contains a link to its body content and the target resource in which it is associated with. dokieli also uses the WA <cite>Selectors and States</cite> for selecting part of a resource and generating a HTTP URI. Annotations can be done at the document as well as sentence level.</span></p> <p resource='#dokieli-notifications' rel='schema:hasPart' id='dokieli-notifications'><strong property='schema:name'>Notifications</strong>: <span property='schema:description' datatype='rdf:HTML'>dokieli implements the LDN protocol to discover social and scholarly activities, such as annotations with different motivations, as well as sending contextual notifications to recipients. A notification may have one of the following classes: <code>as:Announce</code>, <code>as:Like</code>, <code>as:Dislike</code>, <code>as:Relationship</code>.</span></p> <p resource='#profiles' rel='schema:hasPart' id='profiles'><strong property='schema:name'>Profiles</strong>: <span property='schema:description' datatype='rdf:HTML'>Actors can use their preferred <cite><a href="https://csarven.ca/linked-research-decentralised-web/#webid">WebIDs</a></cite>, and depending on the information available in their <cite><a href="https://csarven.ca/linked-research-decentralised-web/#webid-profile">WebID Profile</a></cite> descriptions, the user interface automatically adapts to accommodate their preferences while interacting with Web resources. For instance, the profile description is used to discover an actor’s preferred storage locations when creating annotations, as well as discovering their social network in order to send notifications to their inbox.</span></p> </div> </section> </div> </section> <section resource='#resource-interaction' rel='schema:hasPart' inlist='' id='resource-interaction'> <h4 property='schema:name'>Resource Interaction</h4> <div property='schema:description' datatype='rdf:HTML'> <p>dokieli implements the following client operations to communicate through LDP, WAP, AP.</p> <table id='http-interactions'> <caption>HTTP Interactions</caption> <thead> <tr> <th>Method</th> <th>Resource</th> <th>Intent</th> </tr> </thead> <tbody> <tr> <td><code>HTTP GET</code></td> <td>Any resource</td> <td>Read</td> </tr> <tr> <td><code>HTTP HEAD</code></td> <td>Any resource</td> <td>Read</td> </tr> <tr> <td><code>HTTP OPTIONS</code></td> <td>Any resource (collection)</td> <td>Read</td> </tr> <tr> <td><code>HTTP POST</code></td> <td>Annotation, notification</td> <td>Create</td> </tr> <tr> <td><code>HTTP PUT</code></td> <td>Any resource</td> <td>Create, Update</td> </tr> <tr> <td><code>HTTP PATCH</code></td> <td>Memento TimeMap, ACL</td> <td>Create, Update, Delete</td> </tr> <tr> <td><code>HTTP DELETE</code></td> <td>Any resource</td> <td>Delete</td> </tr> </tbody> <tfoot> <tr> <td colspan='3'> <p>The term <q>collection</q> (as in WA and AP) is used synonymously with <q>container</q> (as in LDP, LDN).</p> <p>Any resource pertains to any kind of object identified with HTTP URI eg an article, annotation, inbox and notification, profile, media and scripts, ACL, SPARQL or other API endpoints. Its application depends on context.</p> <p>Retrieve and read HTTP message and body, parse and use relevant information.</p> </td> </tr> </tfoot> </table> <p>Before dokieli makes a write request to a server, it triggers content-negotiation through <code>HTTP OPTIONS</code> and checks for <code>Allow</code> and <code>Accept-Post</code> HTTP headers in order to determine server’s preferences. In the absence of successful negotiation, dokieli proceeds to make the request as per the required parameters of LDN, WAP and AP. For example, <code>HTTP POST</code> with <code>application/ld+json</code> content type would be used for annotations and notifications, if a server’s preference is not determined.</p> <p>Articles are by default use HTML with embedded RDFa. Where a server implements <code>HTTP GET</code> with <code>text/html</code>, and allows <code>HTTP PUT</code> for writing, the assumption is that it can allow payloads with <code>text/html</code> content type. HTML+RDFa is considered to be an important default for articles for being human- and machine-readable. Hence, if a server is capable of storing and serving resources in HTML, it will receive articles, annotations, and notifications in that form. Otherwise, dokieli will re-serialize the content into an alternative RDF syntax that the server prefers or is capable of handling per content-negotiation.</p> <aside id='http-patch-articles'> <p>As of this writing, the reasons to use <code>HTTP POST</code> and <code>HTTP PUT</code> over <code>HTTP PATCH</code>, for documents like articles, are as follows:</p> <ul> <li>Servers with <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc5261" data-versionurl='https://web.archive.org/web/20190709212300/https://tools.ietf.org/html/rfc5261' data-versiondate='2019-07-09T21:23:00Z'>XML Patch</a></cite> (<abbr title='XML Patch'>RFC 5261</abbr>) and mediatype <code>application/xml-patch+xml</code> – <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://tools.ietf.org/html/rfc7351" data-versionurl='https://web.archive.org/web/20190709212300/https://tools.ietf.org/html/rfc7351' data-versiondate='2019-07-09T21:23:00Z'>A Media Type for XML Patch Operations</a></cite> (<abbr title='A Media Type for XML Patch Operations'>RFC 7351</abbr>) – capability in the Linked Data ecosystem are not well supported.</li> <li>Servers implementing <code>HTTP PATCH</code> with <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/sparql11-update/" data-versionurl='https://web.archive.org/web/20190709212300/https://www.w3.org/TR/sparql11-update/' data-versiondate='2019-07-09T21:23:00Z'>SPARQL Update</a></cite> (using mediatype <code>application/sparql-update</code>) would also need to re-serialize the content eventually as HTML+RDFa.</li> <li><code>HTTP PATCH</code> can help to optimise HTTP requests provided that the server processes the SPARQL query and eventually publishes the final state of the article. dokieli’s use of <code>HTTP POST</code> and <code>HTTP PUT</code> on the other hand does not particularly expect or impose operations other than to eventually store and serve the resource.</li> <li><code>HTTP POST</code> and <code>HTTP PUT</code> are functionally valid. <code>HTTP PATCH</code> can still be used in the future if server implementations can better handle updates to documents encoded in HTML+RDFa.</li> </ul> </aside> <p id='mixed-content'>Due to <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/mixed-content/" data-versionurl='https://web.archive.org/web/20190709212300/https://www.w3.org/TR/mixed-content/' data-versiondate='2019-07-09T21:23:00Z'>Mixed Content</a></cite> implementations in Web browsers, ie. <q>fetching of content over unencrypted or unauthenticated connections in the context of an encrypted and authenticated document</q>, is subject to being blocked by the Web browser. Hence, a document available from <code>https:</code> will not be able to use the contents of a document available from <code>http:</code>. As a workaround, dokieli implements the notion of using a <cite><a href="https://csarven.ca/linked-research-decentralised-web/#preferred-proxy">preferred proxy</a></cite> that a user-agent can use in order to access the contents of an <code>http:</code> resource. A document on <code>https:</code> fetching an <code>https:</code> resource will not use the proxy.</p> <p>An actor may require to be <cite><a href="https://csarven.ca/linked-research-decentralised-web/#authentication">authenticated</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#acl">authorized</a></cite> with their <cite><a href="https://csarven.ca/linked-research-decentralised-web/#webid">WebID</a></cite> to create Web resources. The table on <cite><a rel='cito:discusses' href="https://csarven.ca/linked-research-decentralised-web/#unit-registration-content-dokieli">unit registration and content in dokieli</a></cite> includes the functions in dokieli that requests write-operations to a server for articles, annotations, and notifications. These client-triggered mechanisms and methods applied to creating resources are done with HTTP URIs, and helps fulfill the registration function of scholarly communication.</p> <table id='unit-registration-content-dokieli'> <caption>Unit registration and content in dokieli</caption> <thead> <tr> <th>Action</th> <th>Method</th> <th>Resource</th> <th>Notification</th> </tr> </thead> <tbody> <tr> <td>New</td> <td><code>HTTP PUT</code></td> <td>Actors can create new resources (articles) by inputting the location where they are authorized to. New resources include a HTML+RDFa document (a basic template) with dokieli’s JavaScript and CSS. Uses <code>HTTP PUT</code>.</td> <td>None</td> </tr> <tr> <td>Save</td> <td><code>HTTP PUT</code></td> <td>Overwrites the current resource with the current state of the resource in user-agent. Uses <code>HTTP PUT</code>.</td> <td>None</td> </tr> <tr> <td>Save As</td> <td><code>HTTP PUT</code></td> <td>Actors creates a derived copy of the current resource (with its scripts and media) including provenance information at preferred location. A unique notification inbox and annotation service can be assigned to the derived resource. Uses <code>HTTP PUT</code>.</td> <td>None</td> </tr> <tr> <td>Reply</td> <td><code>HTTP POST</code></td> <td>A note reply modelled around <code>oa:Annotation</code> and other data motivated by <code>oa:replying</code>.</td> <td>Sends and consumes notification using the Activity vocabulary’s Announce.</td> </tr> <tr> <td>Annotation</td> <td><code>HTTP POST</code></td> <td>A note modelled around <code>oa:Annotation</code> and other data.</td> <td>Sends and consumes notifications for activities <code>as:Add</code>, motivated by <code>oa:bookmarking</code>; <code>as:Announce</code>, motivated by <code>oa:replying</code>, <code>oa:questioning</code>; <code>as:Like</code> and <code>as:Dislike</code> motivated by <code>oa:assessing</code>. Can also consume notifications using <code>as:Relationship</code>.</td> </tr> <tr> <td>Activity</td> <td><code>HTTP POST</code></td> <td>Sends activities about the annotations and encapsulates with Activity vocabulary’s Create.</td> <td>None</td> </tr> <tr> <td>Share</td> <td>None</td> <td>None</td> <td>Sends notification using the Activity vocabulary’s Announce about the target resource.</td> </tr> <tr> <td>Citation</td> <td><code>HTTP GET</code></td> <td>Sends an archival request to the Internet Archive.</td> <td><a href="https://csarven.ca/linked-research-decentralised-web/#notifying-cited-entity">Notifies cited entity</a> about the citing entity’s reference and the author’s intention for the citation. Consumes notifications about citations.</td> </tr> <tr> <td>Archive</td> <td><code>HTTP GET</code></td> <td>Sends an archival request to the Internet Archive.</td> <td>None</td> </tr> <tr> <td>Version</td> <td><code>HTTP PUT</code></td> <td>Generates a derived copy of the current document as a mutable resource including provenance.</td> <td>None</td> </tr> <tr> <td>Immutable</td> <td><code>HTTP PUT</code></td> <td>Generates a derived copy of the current document as an immutable or frozen Memento resource including provenance. Creates or updates a Memento TimeMap including a reference to the immutable resource.</td> <td>None</td> </tr> <tr> <td>Export</td> <td>None</td> <td>Downloads the document to local system.</td> <td>None</td> </tr> </tbody> <tfoot> <tr> <td colspan='4'> <p>Articles by default are generally modelled to express <code>schema:CreativeWork</code>, <code>prov:Entity</code>, <code>as:Article</code>.</p> <p>Notifications include information about its actor, notification date, rights and license, as well as information pertaining to the activity that it is in reference to eg. an annotation motivated by replying, and the target resource. All notifications are created through a <code>HTTP POST</code> request.</p> <p>The Web Annotation Data Model is used for annotations. An annotation includes information about its author, publication date, rights and license, system that was used to render the target resource (in this case dokieli) for the annotation. All annotations are created through a <code>HTTP POST</code> request.</p> <p>Actions such as <em>New</em>, <em>Save</em>, <em>Save As</em>, <em>Reply</em>, <em>Version</em> are intended to create or update mutable resources, whereas <em>Immutable</em> is intended to create an immutable resource. The server ultimately decides whether to promise immutability or Memento based discovery.</p> <p>The <q>Archive</q> action uses <code>HTTP GET</code> according to the requirements of the Internet Archive’s API.</p> </td> </tr> </tfoot> </table> <p>These client-triggered mechanisms and methods applied to creating resources helps fulfill the registration function. All created resources are considered to be archive-friendly ie. through the application of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#separation-of-concerns">Separation of Concerns</a></cite> and keeping <cite><a href="https://csarven.ca/linked-research-decentralised-web/#human-and-machine-readable-information">Human- and Machine-Readable Information</a></cite> where possible.</p> </div> </section> <section resource='#personal-identities' rel='schema:hasPart' inlist='' id='personal-identities'> <h4 property='schema:name'>Personal Identities</h4> <div property='schema:description' datatype='rdf:HTML'> <p id='authentication'><strong>Authentication</strong>: Actors can authenticate themselves using <cite><a href="https://csarven.ca/linked-research-decentralised-web/#webid-tls">WebID-TLS</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#webid-oidc">WebID-OIDC</a></cite> mechanisms and then the server determines their level of authorization to read, write, and control resources. The workflow for authentication starts by a user inputting their WebID (HTTP URI) or their Identity Provider URL as a shorthand for their WebID into the dokieli UI. The Web resources with which the user wishes to interact may be under any domain, whether self-hosted elsewhere, so long as they are hosted by a server application conforming to the same standards.</p> <p id='profile-description'><strong>Profile Description</strong>: In order to adopt dokieli’s user-interface and the kinds of interactions that a user can perform, the user’s <cite><a href="https://csarven.ca/linked-research-decentralised-web/#webid">WebID</a></cite> (HTTP URI) is dereferenced to a <cite><a href="https://csarven.ca/linked-research-decentralised-web/#webid-profile">WebID Profile</a></cite> document for the following kinds of information:</p> <ul> <li>Name (eg. <code>foaf:name</code> and equivalents)</li> <li>Image (eg. <code>foaf:image</code> and equivalents)</li> <li>Homepage (eg. <code>foaf:homepage</code> and equivalents)</li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#social-graph">Social graph</a> (<code>foaf:knows</code>)</li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#pds">Storage</a> (<code>pim:storage</code>)</li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#inbox-notification">Inbox</a> (<code>ldp:inbox</code>, and alias <code>as:inbox</code>)</li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#activitypub">Outbox</a> (<code>as:outbox</code>)</li> <li>Preferences (<code>pim:preferencesFile</code>, <code>solid:publicTypeIndex</code>, <code>solid:privateTypeIndex</code>)</li> <li>Preferred proxy (<code>solid:preferredProxy</code>)</li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#multiple-identities">Multiple identities</a> (<code>owl:sameAs</code>)</li> <li>Additional information (<code>rdfs:seeAlso</code>)</li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#webid-tls-delegation">Delegated agent</a> (<code>acl:delegates</code>)</li> </ul> <p>When dokieli encounters <code>owl:sameAs</code> and <code>rdfs:seeAlso</code> relations in WebID Profiles, it traverses the unique connections continuously to mine for relevant information. The reason for this is both to discover a graph that can be used to adapt the interface and the possible interactions. For example, driven by <cite><a href="https://csarven.ca/linked-research-decentralised-web/#follow-your-nose">follow your nose</a></cite> type of exploration, a human-readable name, an inbox relation, list of contacts, and other information can be put together by looking at the interconnected identity graph that is semantically associated.</p> </div> </section> <section resource='#annotations' rel='schema:hasPart' inlist='' id='annotations'> <h4 property='schema:name'>Annotations</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Annotation of artifacts facilitates a social behaviour in that it is a collaborative effort: some actors create primary resources while others create associations between those resources, add new information, or extend existing information. Consequently, such activities help actors to learn, discover or explore new knowledge. Annotations of analogue as well as digital resources have been historically essential to sociality, education, stronger engagement, as well as being a valid form of user-generated content as per background provided in <cite><a rel='cito:obtainsBackgroundFrom' href="http://www.dlib.org/dlib/november08/gazan/11gazan.html" data-versionurl='https://web.archive.org/web/20190502152743/http://www.dlib.org/dlib/november08/gazan/11gazan.html' data-versiondate='2019-05-02T15:27:43Z'>Social Annotations in Digital Library Collections</a></cite>, Gazan, 2008.</p> <p id='dpub-annotation-uc'>dokieli implements the following <a rel='cito:obtainsBackgroundFrom' href="https://www.w3.org/TR/dpub-annotation-uc/#use-cases">use cases</a> from the W3C Interest Group Note, <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/dpub-annotation-uc/" data-versionurl='https://web.archive.org/web/20190214010456/https://www.w3.org/TR/dpub-annotation-uc/' data-versiondate='2019-02-14T01:04:56Z'>Digital Publishing Annotation Use Cases</a></cite>:</p> <ul> <li>2.1.1 Comment on Publication Title</li> <li>2.1.2 Tagging a Publication</li> <li>2.1.3 Structured Review of a Publication</li> <li>2.1.6 Annotated Resource is an Annotation</li> <li>2.1.7 Annotation Metadata</li> <li>2.1.8 Annotation has Multiple, Independent Comments and/or Tags</li> <li>2.2.1 Bookmarking Current Reading Position</li> <li>2.2.2 Highlighting a Span of Text</li> <li>2.2.3 Commenting on a Span of Text</li> <li>2.3.2 Cross Version Annotations</li> <li>2.4.2 Persistence of Annotations</li> <li>2.4.4 Annotation (or Part) is not Published Openly</li> <li>2.4.5 Publication (or Part) is not Published Openly</li> </ul> <p>A Web Annotation can be created to associate a node or a selection with a particular user motivation. The annotation can be registered and stored as a unit of information at actor’s <cite><a href="https://csarven.ca/linked-research-decentralised-web/#profile-storage">storage</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#profile-index">type index location</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#profile-outbox">outbox</a></cite>, or article’s <cite><a href="https://csarven.ca/linked-research-decentralised-web/#subject-annotation-service">annotation service</a></cite>. The users can provide a text note for their annotations, assign a <cite><a href="https://csarven.ca/linked-research-decentralised-web/#license">license</a></cite>, as well as designate an <cite><a href="https://csarven.ca/linked-research-decentralised-web/#subject-inbox">inbox</a></cite> for their annotation, so that it can receive its own notifications. The Table on WA motivations includes the method applied, location of the annotation, and associated notification.</p> <table id='dokieli-implementation-web-annotation-motivations-notifications'> <caption>Implementation of Web Annotation motivations and notifications in dokieli</caption> <thead> <tr> <th>Motivation</th> <th>Method</th> <th>Storage</th> <th>Notification</th> </tr> </thead> <tbody> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#assessing">assessing</a></th> <td>Assessments in the form of approval and disapproval with comments and license that can be created from and displayed in the UI. User mode: social.</td> <td>Actor’s preferred storage, outbox, or annotation service.</td> <td>Sends notification to target’s inbox about the annotation as a <code>as:Like</code> activity.</td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#bookmarking">bookmarking</a></th> <td>Node or text level targeting for an annotation including a description and tags. User mode: social.</td> <td>Actor’s preferred storage, outbox, or annotation service.</td> <td>None</td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#classifying">classifying</a></th> <td></td> <td></td> <td></td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#commenting">commenting</a></th> <td>Node or text level targeting for an annotation including a description and tags. User mode: author.</td> <td>Integrated into the target resource.</td> <td>None</td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#describing">describing</a></th> <td>A note to indicate a footnote. Used as part of purpose for bookmarking and commenting. User mode: social, author.</td> <td>Actor’s preferred storage, outbox, annotation service, or integrated into the target resource.</td> <td>None</td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#editing">editing</a></th> <td></td> <td></td> <td></td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#highlighting">highlighting</a></th> <td>Node or text level targeting that gives the user a URI based on Web Annotation Selector. User mode: social.</td> <td>URI selectable from the user agent or interface.</td> <td>None</td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#identifying">identifying</a></th> <td></td> <td></td> <td></td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#linking">linking</a></th> <td></td> <td></td> <td></td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#moderating">moderating</a></th> <td></td> <td></td> <td></td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#questioning">questioning</a></th> <td>A note to indicate a request for specificity (like “citation needed”) including a license that can be created from and displayed in the UI. User mode: social.</td> <td>Actor’s preferred storage, outbox, or annotation service.</td> <td>Sends notification to target’s inbox about the annotation as a <code>as:Create</code> activity.</td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#replying">replying</a></th> <td>A note to indicate a reply including a license that can be created from and displayed in the UI. User mode: social.</td> <td>Actor’s preferred storage, outbox, or annotation service.</td> <td>Sends notification to target’s inbox about the annotation as a <code>as:Announce</code> activity.</td> </tr> <tr> <th><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-vocab/#tagging">tagging</a></th> <td>Used as part of purpose for bookmarking and commenting. User mode: author, social.</td> <td>Actor’s preferred storage, outbox, annotation service, or integrated into the target resource.</td> <td>None</td> </tr> </tbody> <tfoot> <tr> <td colspan='4'> <dl> <dt>Modified</dt> <dd><time property='schema:dateModified' datetime='2019-01-23T16:07:00.000Z' datatype='xsd:dateTime' content='2019-01-23T16:07:00.000Z'>2019-01-23</time></dd> </dl> <dl> <dt>Motivation</dt> <dd>Web Annotation Data Model’s motivations.</dd> <dt>Method</dt> <dd>User actions, data creating and reuse. "author" user mode refers to document structuring. "social" refers to common online interactions.</dd> <dt>Storage</dt> <dd>The location of the annotation: actor’s preferred storage, outbox, or integrated into the target resource.</dd> <dt>Notification</dt> <dd>Using the Linked Data Notifications protocol with notifications using any vocabulary. Notifications include Creative Commons license.</dd> </dl> </td> </tr> </tfoot> </table> <p>An brief example of a Web Annotation with the reply motivation:</p> <figure resource='#example-annotation-replying' rel='schema:hasPart' id='example-annotation-replying' class='listing'> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='#example-annotation-replying'><code>&lt;http://example.org/annotation&gt;</code><code> a <span class='highlight-oa-annotation'>oa:Annotation</span> ;</code><code> oa:motivatedBy <span class='highlight-oa-replying'>oa:replying</span> ;</code><code> oa:hasTarget &lt;<span class='highlight-oa-hastarget'>http://example.net/article</span>&gt; ;</code><code> oa:hasBody &lt;<span class='highlight-oa-hasbody'>http://example.info/note</span>&gt; .</code></pre> <figcaption property='schema:name'>Example annotation that is motivated by replying.</figcaption> </figure> <p>The Figure on private annotations serves to explain how each CERN requirement is realised with a standards-compliant Web application:</p> <div id='private-and-annotated-link' class='tabs'> <nav> <ul> <li><a href="https://csarven.ca/linked-research-decentralised-web/#annotation-rendered">Rendered</a></li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#annotation-graph">Graph</a></li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#annotation-html-rdfa">HTML+RDFa</a></li> </ul> </nav> <figure resource='#a112cb4b-6814-4687-933d-8c25c917c746' rel='schema:hasPart' id='annotation-rendered'> <article typeof='oa:Annotation' prefix='rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# schema: http://schema.org/ dcterms: http://purl.org/dc/terms/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp#' id='a112cb4b-6814-4687-933d-8c25c917c746' about='#a112cb4b-6814-4687-933d-8c25c917c746'> <h4 property='schema:name'>Sarven Capadisli <span resource='oa:replying' rel='oa:motivatedBy'>replies</span></h4> <dl class='author-name'><dt>Authors</dt><dd><span rel='schema:creator'><span typeof='schema:Person' about='https://csarven.ca/#i'><img width='48' src="https://csarven.ca/media/images/sarven-capadisli.jpg" rel='schema:image' height='48' alt=''/> <a href="https://csarven.ca/#i"><span property='schema:name' about='https://csarven.ca/#i'>Sarven Capadisli</span></a></span></span></dd></dl> <dl class='published'><dt>Published</dt><dd><a href="https://csarven.ca/linked-research-decentralised-web/#a112cb4b-6814-4687-933d-8c25c917c746"><time property='schema:datePublished' datetime='2019-02-18T00:30:11.101Z' datatype='xsd:dateTime' content='2019-02-18T00:30:11.101Z'>2019-02-18 00:30:11</time></a></dd></dl> <dl class='rights'><dt>Rights</dt><dd><a title='Creative Commons Attribution 4.0 International' rel='dcterms:rights' href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a></dd></dl> <dl class='canonical'><dt>Canonical</dt><dd resource='urn:uuid:d82804f8-e0ef-4a1e-95cd-4b2c8383eaf0' rel='oa:canonical'>urn:uuid:d82804f8-e0ef-4a1e-95cd-4b2c8383eaf0</dd></dl> <dl class='target'><dt><a rel='oa:hasTarget' href="https://www.w3.org/History/1989/proposal.html">In reply to</a> (<a typeof='oa:SpecificResource' rel='oa:hasSource' href="https://www.w3.org/History/1989/proposal.html" about='https://www.w3.org/History/1989/proposal.html'>part of</a>)</dt><dd><blockquote cite='https://www.w3.org/History/1989/proposal.html' about='https://www.w3.org/History/1989/proposal.html'><div typeof='oa:FragmentSelector' resource='#a112cb4b-6814-4687-933d-8c25c917c746-fragment-selector' rel='oa:hasSelector'><dl class='conformsto'><dt>Fragment selector conforms to</dt><dd><a xml:lang='' rel='dcterms:conformsTo' property='rdf:value' lang='' href="https://tools.ietf.org/html/rfc3987" content=''>RFC 3987</a></dd></dl><dl typeof='oa:TextQuoteSelector' resource='#a112cb4b-6814-4687-933d-8c25c917c746-text-quote-selector' rel='oa:refinedBy'><dt>Refined by</dt><dd><span xml:lang='en' property='oa:prefix' lang='en'></span><mark xml:lang='en' property='oa:exact' lang='en'>One must be able to add one’s own private links to and from public information. One must also be able to annotate links, as well as nodes, privately.</mark><span xml:lang='en' property='oa:suffix' lang='en'></span></dd></dl></div></blockquote></dd></dl><dl class='renderedvia'><dt>Rendered via</dt><dd><a rel='oa:renderedVia' href="https://dokie.li/" about='https://www.w3.org/History/1989/proposal.html'>dokieli</a></dd></dl> <section resource='#a112cb4b-6814-4687-933d-8c25c917c746-note-20338295' rel='oa:hasBody' id='note-20338295'><h5 property='schema:name'>Note</h5><dl class='language'><dt>Language</dt><dd><span xml:lang='' property='dcterms:language' lang='' content='en'>English</span></dd></dl><dl class='rights'><dt>Rights</dt><dd><a title='Creative Commons Attribution 4.0 International' rel='dcterms:rights' href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a></dd></dl><div xml:lang='en' typeof='oa:TextualBody' resource='#a112cb4b-6814-4687-933d-8c25c917c746-note-20338295' property='rdf:value schema:description' lang='en' datatype='rdf:HTML'>This annotation is independently created by an actor with a WebID and stored at their preferred location.</div></section> </article> <figcaption property='schema:name'>Annotation rendered.</figcaption> </figure> <figure resource='#annotation-graph' rel='schema:hasPart' id='annotation-graph'> <script> //document.addEventListener('DOMContentLoaded', function(){ window.addEventListener('load', function(){ var docURI = document.location.href.split(document.location.search||document.location.hash||/[?#]/)[0]; var resources = [docURI + '#a112cb4b-6814-4687-933d-8c25c917c746', docURI + '#note-20338295', docURI + '#fragment-selector', docURI + '#text-quote-selector', 'https://csarven.ca/#i', 'https://www.w3.org/History/1989/proposal.html']; DO.U.showGraph([docURI], '#annotation-graph', {'filter': { 'subjects': resources }}); }); </script> <figcaption property='schema:name'>Annotation graph.</figcaption> </figure> <figure resource='#annotation-html-rdfa' rel='schema:hasPart' id='annotation-html-rdfa' class='listing'> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='#annotation-html-rdfa'><code>&lt;article about="#a112cb4b-6814-4687-933d-8c25c917c746" id="a112cb4b-6814-4687-933d-8c25c917c746" typeof="oa:Annotation" prefix="rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# schema: http://schema.org/ dcterms: http://purl.org/dc/terms/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp#"&gt;</code><code> &lt;h3 property="schema:name"&gt;Sarven Capadisli &lt;span rel="oa:motivatedBy" resource="oa:replying"&gt;replies&lt;/span&gt;&lt;/h3&gt;</code><code> &lt;dl class="author-name"&gt;&lt;dt&gt;Authors&lt;/dt&gt;&lt;dd&gt;&lt;span rel="schema:creator"&gt;&lt;span about="https://csarven.ca/#i" typeof="schema:Person"&gt;&lt;img alt="" height="48" rel="schema:image" src="https://csarven.ca/media/images/sarven-capadisli.jpg" width="48" /&gt; &lt;a href="https://csarven.ca/#i"&gt;&lt;span about="https://csarven.ca/#i" property="schema:name"&gt;Sarven Capadisli&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/dd&gt;&lt;/dl&gt;</code><code> &lt;dl class="published"&gt;&lt;dt&gt;Published&lt;/dt&gt;&lt;dd&gt;&lt;a href="https://csarven.ca/linked-research-decentralised-web/#a112cb4b-6814-4687-933d-8c25c917c746"&gt;&lt;time datetime="2019-02-18T00:30:11.101Z" datatype="xsd:dateTime" property="schema:datePublished" content="2019-02-18T00:30:11.101Z"&gt;2019-02-18 00:30:11&lt;/time&gt;&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;</code><code> &lt;dl class="rights"&gt;&lt;dt&gt;Rights&lt;/dt&gt;&lt;dd&gt;&lt;a href="https://creativecommons.org/licenses/by/4.0/" rel="dcterms:rights" title="Creative Commons Attribution 4.0 International"&gt;CC BY 4.0&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;</code><code> &lt;dl class="canonical"&gt;&lt;dt&gt;Canonical&lt;/dt&gt;&lt;dd rel="oa:canonical" resource="urn:uuid:d82804f8-e0ef-4a1e-95cd-4b2c8383eaf0"&gt;urn:uuid:d82804f8-e0ef-4a1e-95cd-4b2c8383eaf0&lt;/dd&gt;&lt;/dl&gt;</code><code> &lt;dl class="target"&gt;&lt;dt&gt;&lt;a href="https://www.w3.org/History/1989/proposal.html" rel="oa:hasTarget"&gt;In reply to&lt;/a&gt; (&lt;a about="https://www.w3.org/History/1989/proposal.html" href="https://www.w3.org/History/1989/proposal.html" rel="oa:hasSource" typeof="oa:SpecificResource"&gt;part of&lt;/a&gt;)&lt;/dt&gt;&lt;dd&gt;&lt;blockquote about="https://www.w3.org/History/1989/proposal.html" cite="https://www.w3.org/History/1989/proposal.html"&gt;&lt;div rel="oa:hasSelector" resource="#a112cb4b-6814-4687-933d-8c25c917c746-fragment-selector" typeof="oa:FragmentSelector"&gt;&lt;dl class="conformsto"&gt;&lt;dt&gt;Fragment selector conforms to&lt;/dt&gt;&lt;dd&gt;&lt;a content="" lang="" property="rdf:value" rel="dcterms:conformsTo" href="https://tools.ietf.org/html/rfc3987" xml:lang=""&gt;RFC 3987&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl rel="oa:refinedBy" resource="#a112cb4b-6814-4687-933d-8c25c917c746-text-quote-selector" typeof="oa:TextQuoteSelector"&gt;&lt;dt&gt;Refined by&lt;/dt&gt;&lt;dd&gt;&lt;span lang="en" property="oa:prefix" xml:lang="en"&gt;&lt;/span&gt;&lt;mark lang="en" property="oa:exact" xml:lang="en"&gt;One must be able to add one’s own private links to and from public</code><code>information. One must also be able to annotate links, as well as nodes,</code><code>privately.&lt;/mark&gt;&lt;span lang="en" property="oa:suffix" xml:lang="en"&gt;&lt;/span&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl class="renderedvia"&gt;&lt;dt&gt;Rendered via&lt;/dt&gt;&lt;dd&gt;&lt;a about="https://www.w3.org/History/1989/proposal.html" href="https://dokie.li/" rel="oa:renderedVia"&gt;dokieli&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;</code><code> &lt;section id="note-20338295" rel="oa:hasBody" resource="#a112cb4b-6814-4687-933d-8c25c917c746-note-20338295"&gt;&lt;h4 property="schema:name"&gt;Note&lt;/h4&gt;&lt;dl class="language"&gt;&lt;dt&gt;Language&lt;/dt&gt;&lt;dd&gt;&lt;span content="en" lang="" property="dcterms:language" xml:lang=""&gt;English&lt;/span&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl class="rights"&gt;&lt;dt&gt;Rights&lt;/dt&gt;&lt;dd&gt;&lt;a href="https://creativecommons.org/licenses/by/4.0/" rel="dcterms:rights" title="Creative Commons Attribution 4.0 International"&gt;CC BY 4.0&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;div datatype="rdf:HTML" lang="en" property="rdf:value schema:description" resource="#a112cb4b-6814-4687-933d-8c25c917c746-note-20338295" typeof="oa:TextualBody" xml:lang="en"&gt;This annotation is independently created by an actor with a WebID and stored at their preferred location.&lt;/div&gt;&lt;/section&gt;</code><code>&lt;/article&gt;</code></pre> <figcaption property='schema:name'>Annotation HTML+RDFa.</figcaption> </figure> </div> <p>Once an annotation is created and has a dereferenceable HTTP URI (subject to access control rules), a notification can be sent to the inbox of the target resource about the annotation if any part of an article advertises an LDN inbox. Depending on the motivation of the annotation, the notification is modelled with the <cite>Activity vocabulary</cite> eg. the <a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-create">Create</a> activity (<code>as:Create</code>), to indicate that the actor has created the object.</p> <p>In order to discover and view previously created annotations associated with an article, dokieli follows LDN’s discovery mechanism for notifications about annotations, and then subsequently fetches the annotations in order to display them in context of their target selector.</p> <p id='aak-use-cases'>In 2016, the <cite><a rel='cito:citesForInformation' href="https://hypothes.is/annotating-all-knowledge/" data-versionurl='https://web.archive.org/web/20190709212301/https://hypothes.is/annotating-all-knowledge/' data-versiondate='2019-07-09T21:23:01Z'>Annotating All Knowledge Coalition</a></cite> derived user stories based on the notion of what open annotation can enable. Below is a description of how dokieli realises the user stories <a rel='cito:citesAsSourceDocument' href="https://web.archive.org/web/20190122121041/https://web.hypothes.is/blog/a-coalition-of-scholarly-annotators/#selector(type=XPathSelector,value=%2Fhtml%2Fbody%2Fdiv%5B4%5D%2Fmain%2Fdiv%2Fsection%2Farticle%2Fdiv%5B2%5D%2Ful%5B1%5D)">derived from</a> <cite><a rel='cito:citesForInformation' href="https://hypothes.is/blog/a-coalition-of-scholarly-annotators/" data-versionurl='https://web.archive.org/web/20190122121041/https://web.hypothes.is/blog/a-coalition-of-scholarly-annotators/' data-versiondate='2019-01-22T12:10:41Z'>A Coalition for Scholarly Annotation</a></cite>. The term <q>publisher</q> that is used in these user stories usually refer to an entity that is other than the creators of the content. Whereas in dokieli, a <q>publisher</q> is <em>any</em> actor capable of triggering the registration of resources and having their content potentially accessible to anyone.</p> <dl resource='https://web.archive.org/web/20190122121041/https://web.hypothes.is/blog/a-coalition-of-scholarly-annotators/#selector(type=XPathSelector,value=%2Fhtml%2Fbody%2Fdiv%5B4%5D%2Fmain%2Fdiv%2Fsection%2Farticle%2Fdiv%5B2%5D%2Ful%5B1%5D)' rel='cito:repliesTo'> <dt>As an author of a paper, I want to invite a small group of colleagues to provide feedback.</dt> <dd>Implemented with the <em>Share</em> feature using the actor’s social graph data, and LDN for dissemination.</dd> <dt>As a pre-print publisher, I want to create and manage an overlay journal.</dt> <dd>It is possible to open and render a collection of activities eg. published articles, which can be treated as a journal volume.</dd> <dt>As a journal publisher, I want to implement a peer review system that brings authors and reviewers together in role-defined groups.</dt> <dd>Actors can notify each other and annotate resources. However, there is no particular system to manage it as a whole.</dd> <dt>As a university librarian, I want students’ dissertations to be annotated openly so they carry forward an expectation that things should work that way.</dt> <dd><a href="https://csarven.ca/linked-research-decentralised-web/#annotations">Annotations</a> with various motivations are implemented.</dd> <dt>As a biomedical researcher, I want to use human curation of the literature to develop examples we can use to train our text mining algorithms.</dt> <dd>Actors can select, add, and edit semantic markup (HTML+RDFa) as well embed structured data blocks for Nanotations using TriG, as well as JSON-LD and Turtle. Common document formatting features are supported.</dd> <dt>As a journal publisher, I want to create safe spaces for commentary so that authors and expert readers can participate comfortably.</dt> <dd>Actors with the required access control privileges to an inbox manages the information flow. There is no overarching system to create or manage <em>a space</em> as each resource is individually controlled by their owners. It is possible for LDN inbox owners to filter notifications which refer to unwanted annotations.</dd> <dt>As a vision-impaired user, I want annotation tools to be accessible to me.</dt> <dd>WCAG are applied, and ARIA is used where applicable. The application of ATAG is in progress.</dd> <dt>As an annotator, I want to be able to assign DOIs to individual contributions, or to sets of them.</dt> <dd>DOI generation or DOI registration is out of scope. Moreover, current DOI registration systems do not have authentication mechanisms that allows annotators to identify themselves with their WebID in order to assign a DOI.</dd> <dt>As an author, I want annotation to integrate with my preferred writing tool so that annotations can flow back into the text.</dt> <dd>Annotations that are generated use the Web Annotation Data Model. Web Annotation Selectors and States is used to create selectors that an actor can use.</dd> <dt>As a scientist, I want to participate in a journal club that travels around the web, annotating papers in many different publishing systems.</dt> <dd>Any accessible URL rendered as HTML (including different publishing systems) can be annotated, and the annotation can be stored at actor’s preferred location eg. community’s annotation service.</dd> <dt>As an author, I want to annotate my own published work, noting errata and supplying new context.</dt> <dd>Authors can annotate with various motivations and include <q>codetags</q>.</dd> <dt>As an editor, I want to document key editorial decisions and expose them to the public.</dt> <dd>Editors can annotate with various motivations.</dd> <dt>As a scientist I want to annotate everywhere using my ORCID identity.</dt> <dd>Scientists using their ORCID URI (as their WebID) including the storage location in their profile can annotate anywhere.</dd> <dt>As a researcher, I want control over the annotations I make in various contexts so I can assemble this work into a coherent form and claim credit for it.</dt> <dd>Researchers with access controls to their annotation storage can.</dd> <dt>As a publisher, I want to commission expert annotators whose commentary adds value to my content.</dt> <dd>Publishers of articles and annotations can assign different inboxes to receive notifications about commentaries.</dd> <dt>As a user, I want to be able to upvote or downvote annotations so I can help improve the quality of discussion.</dt> <dd>Annotations can be created with the <q>assessing</q> motivation, as well as indicate their approval, disapproval, questioning with comments.</dd> <dt>As a funder, I want to bring grant reviewers together in private annotation spaces where discussion is tightly coupled to the documents they are reviewing.</dt> <dd>Reviewers can annotate with various motivations, including approval, disapproval, questioning with comments.</dd> <dt>As publisher, I want to be able to review and moderate annotations in my own authoritative layer.</dt> <dd>Actors can create their reviews where they prefer and have access to. Moderating annotations owned by other actors can only be done if the publisher has access to.</dd> <dt>As an author, I want to be able to annotate and interconnect the references I cite.</dt> <dd>Citing and annotations with various motivations is implemented.</dd> <dt>As a publisher, I understand that readers may view my content through a variety of lenses, but I want to present my own annotation layer as the authoritative one.</dt> <dd>Annotations can be created with the <q>commenting</q> motivation, which gets embedded into the document (achieved by those with write access).</dd> <dt>As the developer of a journal publishing system, I want to deliver a bundled annotation service that integrates with my identity system.</dt> <dd>Using open standards for profiles, authentication and annotations means that anyone wishing to provide a hosted service need only adopt the same standards, eg. WebID, OIDC and WA.</dd> <dt>As a publisher, I want to project a curated view of a paper’s peer review process onto the published paper.</dt> <dd>Memento and provenance information is generated and consumed in articles. All annotations and unique inboxes can be used. Robust Links are also shown.</dd> </dl> <p>A <a href="https://csarven.ca/linked-research-decentralised-web/#figure-dokieli-annotation">screencast of an annotation in dokieli</a> is shown below.</p> <figure resource='#figure-dokieli-annotation' rel='schema:hasPart' inlist='' id='figure-dokieli-annotation'> <video width='800' rel='schema:hasPart' preload='none' poster='https://dokie.li/media/images/dokieli-annotation.jpg' inlist='' id='video-dokieli-annotation' controls='controls'> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-annotation.webm" resource='https://dokie.li/media/video/dokieli-annotation.webm' rel='schema:hasPart' about='#video-dokieli-annotation'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-annotation.webm">Video</a> of dokieli Web Annotation [<time property='schema:duration' datetime='PT31S' datatype='xsd:duration'>31s</time>, <span xml:lang='' property='schema:encodingFormat' lang=''>WebM</span>].</figcaption> </figure> </div> </section> <section resource='#activities' rel='schema:hasPart' inlist='' id='activities'> <h4 property='schema:name'>Activities</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The mechanism for personal identities, social graphs, and self-publishing articles and annotations enables a new layer of decentralised interactions. Here I describe how actors can discover units of information created or annotated in response to Web resources (like articles) by their social network without intermediaries (which includes the authors of the article or the features supported by the server it is published at). This scenario expands on <em>identity A knows identity B</em>, and <em>identity B has a <a href="https://csarven.ca/linked-research-decentralised-web/#profile-knows-profile-storage">storage</a> or <a href="https://csarven.ca/linked-research-decentralised-web/#profile-knows-profile-outbox">outbox</a></em> as declared in <a href="https://csarven.ca/linked-research-decentralised-web/#linking-the-decentralised-information-space">Linking the Decentralised Information Space</a>.</p> <p>As each unit of information can be independently published and made accessible by an actor, one way to discover the information is by determining the relation between their WebID and the location of their collection of artifacts eg. under their personal storage (<code>pim:storage</code>) or activity outbox (<code>as:outbox</code>). The second connection between the actor that is interested in discovering such information and the actors which created them (<code>foaf:knows</code>). Hence, we are able to discover the reactions (like replies, comments, approvals, questioning, or annotations in general) made by the members of an actor’s social graph.</p> <p>In order to realise this scenario, the required components are as follows:</p> <ul> <li>Actor A wants to read annotations or activities around a unit of information.</li> <li>Actor A knows actor B.</li> <li>Actor B has a collection of artifacts.</li> <li>Actor A has read access to Actor B’s activity collection.</li> <li>Actor A’s application associates the unit of interest with actor B’s annotation or activity.</li> <li>Actor A’s application displays the annotation in context of the unit of information.</li> </ul> <p>As these components are solely based on interoperable standards, any conforming application is able to interact with them, and perhaps more importantly, is not subject to <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Vendor_lock-in" data-versionurl='https://web.archive.org/web/20190729124644/https://en.wikipedia.org/wiki/Vendor_lock-in' data-versiondate='2019-07-29T12:46:44Z'>vendor lock-in</a></cite>.</p> <p>This scenario is realised in dokieli, and works as a <cite><a rel='cito:citesForInformation' href="https://csarven.ca/linked-research-decentralised-web/#single-page-application">single-page application</a></cite> or via the <cite><a rel='cito:citesForInformation' href="https://csarven.ca/linked-research-decentralised-web/#web-browser-extension">Web browser extension</a></cite>. The Web Extension enables a new dimension to discovering and consuming independently published activities in that, a user can navigate to any HTTP URL and potentially discover and interact with annotations made by the members of their network. Thereby, a layer of decentralised and linked research space can exist independently, where any Web resource, perhaps typically an article, can be incorporated into the social or research discourse.</p> <p>As each annotation (or unit of information) can have its own inbox, subsequent interactions with the annotation can be both stored at the annotator’s storage and notified at the advertised inbox. This further decouples the components required to publish and consume content on the Web in an interoperable way. The decentralised activities in dokieli demonstrates the utility of independent publishing, semantic relations, as well as extensibility of structured Web objects.</p> </div> </section> <section resource='#sharing-resources' rel='schema:hasPart' inlist='' id='sharing-resources'> <h4 property='schema:name'>Sharing Resources</h4> <div property='schema:description' datatype='rdf:HTML'> <p>A key aspect of the Social Web is sharing our creations and interests with the others. After (optionally) authenticating with a WebID, dokieli documents can be shared with contacts, which are discovered from the user’s WebID profile. Contacts whose profiles advertise an LDN Inbox will receive a notification of the share. The notification is modelled with the Activity vocabulary, eg. <a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-announce">Announce</a>, to indicate that the actor is calling the target’s attention to the object. Recipients can use any LDN-compatible application to view the notification, without needing to have ever used dokieli before.</p> <figure resource='#figure-dokieli-share' rel='schema:hasPart' inlist='' id='figure-dokieli-share'> <video width='800' rel='schema:hasPart' preload='none' poster='https://dokie.li/media/images/dokieli-share.jpg' id='video-dokieli-share' controls='controls'> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-share.webm" resource='https://dokie.li/media/video/dokieli-share.webm' rel='schema:hasPart' about='#video-dokieli-share'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-share.webm">Video</a> of dokieli Share [<time property='schema:duration' datetime='PT36S' datatype='xsd:duration'>36s</time>, <span xml:lang='' property='schema:encodingFormat' lang=''>WebM</span>].</figcaption> </figure> </div> </section> <section resource='#semantic-citations' rel='schema:hasPart' inlist='' id='semantic-citations'> <h4 property='schema:name'>Semantic Citations</h4> <div property='schema:description' datatype='rdf:HTML'> <p><cite><a href="https://csarven.ca/linked-research-decentralised-web/#publishing-and-referencing">Publishing and Referencing</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#scientific-expressions">Scientific Expressions</a></cite> described some of the existing specifications to identify, integrate, and link assertions in research. The registration of units of information with URIs enables us to create RDF relations between citing and cited entities. For example, actors can link to specific statements within and across resources, as well as annotate their intentions while preserving the context when they are created.</p> <p id='contextual-citations'><strong>Contextual Citations</strong>: One way to create a citation in dokieli is by authors selecting a node or a text fragment of interest in their document, and then inserting the URI of the resource to be linked to, as well as a specifying the type of semantic link between them in a specific or general way using the classifications available from the CiTO ontology eg. using <q>agrees with</q>, <q>confirms</q>, <q class='highlight-cites-as-evidence'>cites as evidence</q>. The input for the cited entity can be any HTTP URI, DOI string, or <abbr title='International Standard Serial Number'>ISSN</abbr> string, and when resolved from a corresponding HTTP URL, the content in RDF is used towards constructing the citation. dokieli takes the input target URI, and retrieves data (like title, authors) expressed in RDF in the linked document, integrates a statement expressed in RDF eg. figure <a href="https://csarven.ca/linked-research-decentralised-web/#example-cites-as-evidence">cites as evidence</a>, in context of the content, the citation intention as human-readable text, and adds a scientific endnote reference including the retrieved information. As a citation results in the assigning an HTTP URI for the citing entity, it can be further semantically annotated by the actor.</p> <figure resource='#example-cites-as-evidence' rel='schema:hasPart' id='example-cites-as-evidence' class='listing'> <pre xml:lang='' typeof='fabio:Dataset' property='schema:description' lang='' about='#example-cites-as-evidence'><code id='citation-data-shape-must-L1'>&lt;http://example.org/article#argument&gt;</code><code id='citation-data-shape-must-L2'> <span class='highlight-cites-as-evidence'>cito:citesAsEvidence</span> &lt;http://example.net/observation#results&gt; .</code></pre> <figcaption property='schema:name'>The citing entity (an argument) cites the cited entity (observation results) as source of factual evidence for statements it contains.</figcaption> </figure> <p id='robust-citations'><strong>Robust Citations</strong>: In order to preserve the context of the citation as well as taking content-drift and link-rot into account, first a snapshot of the cited entity’s URI is created at the <cite>Internet Archive</cite>, and then both the archived URI and its datetime stamp is incorporated to the referencing hyperlink – the original citation resource.</p> <p id='notifying-cited-entity'><strong>Notifying Cited Entity</strong>: Once a citation is made through the dokieli user interface, dokieli proceeds to check if the cited resource advertises its own LDN inbox, and if so, sends a notification indicating the citation function. This notification serves as a back-reference announcement, ie. being informed that a citation was made and thus creating discoverable <em>bi-directional linking</em> between the units of information. With the help of an inbox consumer, like dokieli, the cited article can also inform the reader about the back-references out there on the Web.</p> <p id='citation-registrations'><strong>Registrations</strong>: The citation activity results in the registering HTTP URIs for the citing resource, archived snapshot, and the notification resource.</p> <p>The following screenscast illustrates a clientside interaction in dokieli where the user cites a unit of information with a particular relationship, and a notification is sent to the cited entity’s inbox.</p> <figure resource='#figure-dokieli-citation' rel='schema:hasPart' inlist='' id='figure-dokieli-citation'> <video width='800' rel='schema:hasPart' preload='none' poster='https://dokie.li/media/images/dokieli-citation.jpg' id='video-dokieli-citation' controls='controls'> <source typeof='fabio:Film' type='video/webm' src="https://dokie.li/media/video/dokieli-citation.webm" resource='https://dokie.li/media/video/dokieli-citation.webm' rel='schema:hasPart' about='#video-dokieli-citation'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-citation.webm">Video</a> of semantic inline citations and notification in dokieli [<time property='schema:duration' datetime='PT43S' datatype='xsd:duration'>43s</time>, <span xml:lang='' property='schema:encodingFormat' lang=''>WebM</span>].</figcaption> </figure> </div> </section> <section resource='#social-reviews' rel='schema:hasPart' inlist='' id='social-reviews'> <h4 property='schema:name'>Social Reviews</h4> <div property='schema:description' datatype='rdf:HTML'> <p>It is possible to use dokieli’s create operations as a composite to fulfill social and scholarly activities. One common scenario includes soliciting reviews, reviewing, announcement of the review, and final decisions made by community members. <a href="https://csarven.ca/linked-research-decentralised-web/#core-mechanisms">Core mechanisms</a>, <a href="https://csarven.ca/linked-research-decentralised-web/#annotations">annotations</a> and <a href="https://csarven.ca/linked-research-decentralised-web/#sharing-resources">sharing resources</a> in dokieli is as follows:</p> <ul> <li>Actor A publishes their article at preferred location.</li> <li>Actor A sends Actor B a notification requesting a review of their article.</li> <li>Actor B creates a derived copy of Actor A’s article at their preferred location. The derived resource optionally includes its own inbox and annotation service.</li> <li>Actor B reviews and annotates the derived resource by storing their annotations at preferred location. Notifications are sent to the inbox about the annotation.</li> <li>Actor B archives their derived copy with annotations.</li> <li>Actor B sends Actor A a notification sharing the location of the annotated resource.</li> <li>Actor A visits Actor B’s derived resource and discovers the review and annotations.</li> <li>Actor B sends a notification to a community inbox that is dedicated to monitor scholarly activities about their review and annotations so that it can be discovered by other actors.</li> <li>Actor C discovers Actor B’s review through the community inbox.</li> </ul> <p>This particular scenario shows that it is possible for each actor to create and control resources, including articles, annotations, and notifications at their PDS or preferred locations. It is one way to combine standards-compliant mechanisms where actors can shape their content, self-publish, as well as share their works with other actors and services. In essence, the registration, certification, awareness, and archiving functions in scholarly communication are fulfilled in this scenario without a central authority.</p> </div> </section> <section resource='#privacy-considerations' rel='schema:hasPart' inlist='' id='privacy-considerations'> <h4 property='schema:name'>Privacy Considerations</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Creating awareness and enabling actors to protect their data privacy is essential to fostering user’s trust in the systems they use. The adoption of standards and practices with different <a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">degree of control</a> can yield different privacy measures. In the decentralised and interoperable environment that dokieli operates in, there are a number of challenges and approaches. I discuss user privacy, data privacy, preferred proxy, and private activities below. The terms <q>anonymity</q>, <q>unlinkability</q>, <q>undetectability</q>, <q>unobservability</q>, and <q>pseudonymity</q> follow the definitions from <cite><a rel='cito:citesForInformation' href="http://dud.inf.tu-dresden.de/literatur/Anon_Terminology_v0.34.pdf" data-versionurl='https://web.archive.org/web/20190128120631/http://dud.inf.tu-dresden.de/literatur/Anon_Terminology_v0.34.pdf' data-versiondate='2019-01-28T12:06:31Z'>A terminology for talking about privacy by data minimization: Anonymity, Unlinkability, Undetectability, Unobservability, Pseudonymity, and Identity Management</a></cite>, Pfitzmann, 2010.</p> <p id='user-privacy'><strong>User Privacy</strong>: dokieli acts as a conduit to perform read-write operations against <abbr title='Personal Data Store'>PDS</abbr>. As the rules for read-write operations are set by servers, dokieli does not require the creation of user accounts at any server, in order to interact with the server’s resources. Where applicable, actors can participate by maintaining their <em>anonymity</em>, <em>pseudonymity</em>, or can choose to identify themselves to dokieli by using their preferred <a href="https://csarven.ca/linked-research-decentralised-web/#personal-identities">personal identities</a>, without necessarily disclosing "real" information. Actors authenticate against the servers they prefer in order to perform access-controlled actions. It is possible for the environment in which dokieli operates in to transmit device, machine, or browser fingerprint, thereby potentially risking <em>unlinkability</em> – however, they are outside the control and scope of dokieli.</p> <p id='data-privacy'><strong>Data Privacy</strong>: With respect to data privacy, actors can exercise their autonomy through the use of PDS for their profiles, articles, annotations, and notifications. As a <a href="https://csarven.ca/linked-research-decentralised-web/#pds-expectation">PDS can provide</a> us with the means to safeguard data, dokieli as a clientside application enables actors to perform <a href="https://csarven.ca/linked-research-decentralised-web/#read-write-linked-data">read-write Linked Data</a> operations where they prefer under their own conditions. With the help of access controls, a PDS that dokieli communicates with can potentially fulfill all minimizations – <q>anonymity</q>, <q>unlinkability</q>, <q>undetectability</q>, <q>unobservability</q>, <q>pseudonymity</q> – possibly with the exception of the domain name and IP that the PDS operates from.</p> <p id='preferred-proxy'><strong>Preferred Proxy</strong>: A proxy acts as an intermediary between the clientside application and the destination server. This is useful in a number of scenarios for dokieli, such as getting around <a href="https://csarven.ca/linked-research-decentralised-web/#mixed-content">Mixed Content</a> issues, absence of <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/cors/" data-versionurl='https://web.archive.org/web/20190709212302/https://www.w3.org/TR/cors/' data-versiondate='2019-07-09T21:23:02Z'>Cross-Origin Resource Sharing</a></cite> (<abbr title='Cross-Origin Resource Sharing'>CORS</abbr>) support, as well as concealing the identity of the actor, fulfilling <em>anonymity</em>, <em>unlinkability</em>, <em>pseudonymity</em>, when making requests to a target server. An actor’s preferred proxy can be determined by checking their WebID Profile description for the <code>solid:preferredProxy</code> relation, and if found, dokieli can use it to route requests when needed. Alternatively, a built-in (but user configurable) proxy location in dokieli is used.</p> <p id='private-activities'><strong>Private Activities</strong>: The ability for actors to create and discover <a href="https://csarven.ca/linked-research-decentralised-web/#activities">activities</a> made within their social network without going through intermediaries, makes it possible to isolate units of information that is both access-controlled and invisible (or be unknown) to third-parties. These class of interactions in dokieli is aligned with the notion of <em>undetectability</em> and <em>unobservability</em>.</p> </div> </section> <section resource='#interactive-linked-statistics' rel='schema:hasPart' inlist='' id='interactive-linked-statistics'> <h4 property='schema:name'>Interactive Linked Statistics</h4> <div property='schema:description' datatype='rdf:HTML'> <p id='sparqlines'>dokieli implements <dfn>sparqlines</dfn>: statistical observations fetched from SPARQL endpoints and displayed as inline-charts. An inline-chart, also known as a <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Sparkline" data-versionurl='https://web.archive.org/web/20190709212303/https://en.wikipedia.org/wiki/Sparkline' data-versiondate='2019-07-09T21:23:03Z'><em>sparkline</em></a></cite>, is concise, and located where it is discussed in the text, complementing the supporting text without breaking the reader’s flow. For example, the  <span resource='#figure-GDP-per-capita-growth--annual---' rel='schema:hasPart'> <a typeof='qb:DataSet' resource='http://worldbank.270a.info/dataset/NY.GDP.PCAP.KD.ZG' rel='prov:wasDerivedFrom' property='schema:name' href="http://worldbank.270a.info/dataset/NY.GDP.PCAP.KD.ZG">GDP per capita growth (annual %)</a> [Canada] <span resource='#GDP-per-capita-growth--annual---' rel='schema:image' class='sparkline'> <svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:ev='http://www.w3.org/2001/xml-events' width='100%' version='1.1' prefix='rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# xsd: http://www.w3.org/2001/XMLSchema# qb: http://purl.org/linked-data/cube# prov: http://www.w3.org/ns/prov# schema: http://schema.org/' height='100%'> <g resource='http://worldbank.270a.info/dataset/NY.GDP.PCAP.KD.ZG' rel='prov:wasDerivedFrom'> <metadata resource='https://creativecommons.org/publicdomain/zero/1.0/' rel='schema:license'></metadata> <title property='schema:name'>GDP per capita growth (annual %)</title> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1961" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1961' rel='rdfs:seeAlso'><line y2='43.16454574172421%' y1='43.16454574172421%' x2='0.9615384615384616%' x1='0.9615384615384616%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1962" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1962' rel='rdfs:seeAlso'><line y2='0.2602253013133691%' y1='43.16454574172421%' x2='2.8461538461538463%' x1='0.9615384615384616%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1963" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1963' rel='rdfs:seeAlso'><line y2='20.546079976437966%' y1='0.2602253013133691%' x2='4.730769230769231%' x1='2.8461538461538463%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1964" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1964' rel='rdfs:seeAlso'><line y2='4.9166537468372695%' y1='20.546079976437966%' x2='6.615384615384616%' x1='4.730769230769231%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1965" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1965' rel='rdfs:seeAlso'><line y2='4.731637579170197%' y1='4.9166537468372695%' x2='8.5%' x1='6.615384615384616%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1966" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1966' rel='rdfs:seeAlso'><line y2='5.859252100219621%' y1='4.731637579170197%' x2='10.384615384615385%' x1='8.5%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1967" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1967' rel='rdfs:seeAlso'><line y2='43.58392297111188%' y1='5.859252100219621%' x2='12.26923076923077%' x1='10.384615384615385%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1968" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1968' rel='rdfs:seeAlso'><line y2='16.605031338302297%' y1='43.58392297111188%' x2='14.153846153846153%' x1='12.26923076923077%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1969" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1969' rel='rdfs:seeAlso'><line y2='14.17112377526918%' y1='16.605031338302297%' x2='16.03846153846154%' x1='14.153846153846153%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1970" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1970' rel='rdfs:seeAlso'><line y2='42.73729961025032%' y1='14.17112377526918%' x2='17.92307692307692%' x1='16.03846153846154%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1971" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1971' rel='rdfs:seeAlso'><line y2='27.685195209211884%' y1='42.73729961025032%' x2='19.807692307692307%' x1='17.92307692307692%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1972" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1972' rel='rdfs:seeAlso'><line y2='14.826164877967003%' y1='27.685195209211884%' x2='21.69230769230769%' x1='19.807692307692307%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1973" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1973' rel='rdfs:seeAlso'><line y2='1.4210854715202004e-14%' y1='14.826164877967003%' x2='23.576923076923077%' x1='21.69230769230769%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1974" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1974' rel='rdfs:seeAlso'><line y2='35.39007629908832%' y1='1.4210854715202004e-14%' x2='25.46153846153846%' x1='23.576923076923077%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1975" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1975' rel='rdfs:seeAlso'><line y2='56.008189983767984%' y1='35.39007629908832%' x2='27.346153846153843%' x1='25.46153846153846%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1976" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1976' rel='rdfs:seeAlso'><line y2='14.398016142296555%' y1='56.008189983767984%' x2='29.230769230769226%' x1='27.346153846153843%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1977" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1977' rel='rdfs:seeAlso'><line y2='31.113117376011147%' y1='14.398016142296555%' x2='31.115384615384617%' x1='29.230769230769226%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1978" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1978' rel='rdfs:seeAlso'><line y2='24.010867612061844%' y1='31.113117376011147%' x2='33%' x1='31.115384615384617%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1979" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1979' rel='rdfs:seeAlso'><line y2='25.516209087392284%' y1='24.010867612061844%' x2='34.88461538461538%' x1='33%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1980" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1980' rel='rdfs:seeAlso'><line y2='46.03805171008273%' y1='25.516209087392284%' x2='36.76923076923077%' x1='34.88461538461538%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1981" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1981' rel='rdfs:seeAlso'><line y2='31.353777706294892%' y1='46.03805171008273%' x2='38.65384615384615%' x1='36.76923076923077%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1982" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1982' rel='rdfs:seeAlso'><line y2='98%' y1='31.353777706294892%' x2='40.53846153846154%' x1='38.65384615384615%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1983" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1983' rel='rdfs:seeAlso'><line y2='37.049138412484396%' y1='98%' x2='42.42307692307692%' x1='40.53846153846154%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1984" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1984' rel='rdfs:seeAlso'><line y2='3.8990386857101242%' y1='37.049138412484396%' x2='44.30769230769231%' x1='42.42307692307692%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1985" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1985' rel='rdfs:seeAlso'><line y2='14.466152419708749%' y1='3.8990386857101242%' x2='46.19230769230769%' x1='44.30769230769231%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1986" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1986' rel='rdfs:seeAlso'><line y2='40.20714194723098%' y1='14.466152419708749%' x2='48.07692307692307%' x1='46.19230769230769%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1987" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1987' rel='rdfs:seeAlso'><line y2='24.23504082493062%' y1='40.20714194723098%' x2='49.96153846153846%' x1='48.07692307692307%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1988" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1988' rel='rdfs:seeAlso'><line y2='16.4155854058384%' y1='24.23504082493062%' x2='51.84615384615385%' x1='49.96153846153846%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1989" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1989' rel='rdfs:seeAlso'><line y2='46.513539215559256%' y1='16.4155854058384%' x2='53.730769230769226%' x1='51.84615384615385%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1990" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1990' rel='rdfs:seeAlso'><line y2='68.88140254723645%' y1='46.513539215559256%' x2='55.61538461538461%' x1='53.730769230769226%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1991" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1991' rel='rdfs:seeAlso'><line y2='91.51801871119973%' y1='68.88140254723645%' x2='57.49999999999999%' x1='55.61538461538461%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1992" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1992' rel='rdfs:seeAlso'><line y2='58.89063066569448%' y1='91.51801871119973%' x2='59.38461538461538%' x1='57.49999999999999%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1993" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1993' rel='rdfs:seeAlso'><line y2='42.041295592538034%' y1='58.89063066569448%' x2='61.269230769230774%' x1='59.38461538461538%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1994" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1994' rel='rdfs:seeAlso'><line y2='14.563197311382893%' y1='42.041295592538034%' x2='63.153846153846146%' x1='61.269230769230774%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1995" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1995' rel='rdfs:seeAlso'><line y2='34.19521785880608%' y1='14.563197311382893%' x2='65.03846153846155%' x1='63.153846153846146%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1996" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1996' rel='rdfs:seeAlso'><line y2='49.44858112486089%' y1='34.19521785880608%' x2='66.92307692307693%' x1='65.03846153846155%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1997" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1997' rel='rdfs:seeAlso'><line y2='21.72442052861726%' y1='49.44858112486089%' x2='68.8076923076923%' x1='66.92307692307693%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1998" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1998' rel='rdfs:seeAlso'><line y2='20.975803658149985%' y1='21.72442052861726%' x2='70.6923076923077%' x1='68.8076923076923%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1999" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/1999' rel='rdfs:seeAlso'><line y2='5.386196833413024%' y1='20.975803658149985%' x2='72.57692307692308%' x1='70.6923076923077%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2000" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2000' rel='rdfs:seeAlso'><line y2='9.161609941779957%' y1='5.386196833413024%' x2='74.46153846153847%' x1='72.57692307692308%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2001" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2001' rel='rdfs:seeAlso'><line y2='46.98143019467036%' y1='9.161609941779957%' x2='76.34615384615385%' x1='74.46153846153847%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2002" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2002' rel='rdfs:seeAlso'><line y2='33.71789219866544%' y1='46.98143019467036%' x2='78.23076923076924%' x1='76.34615384615385%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2003" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2003' rel='rdfs:seeAlso'><line y2='45.81166841275399%' y1='33.71789219866544%' x2='80.11538461538463%' x1='78.23076923076924%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2004" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2004' rel='rdfs:seeAlso'><line y2='32.79500363273925%' y1='45.81166841275399%' x2='82%' x1='80.11538461538463%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2005" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2005' rel='rdfs:seeAlso'><line y2='33.68496358846721%' y1='32.79500363273925%' x2='83.88461538461539%' x1='82%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2006" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2006' rel='rdfs:seeAlso'><line y2='33.70021419695024%' y1='33.68496358846721%' x2='85.76923076923077%' x1='83.88461538461539%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2007" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2007' rel='rdfs:seeAlso'><line y2='42.15969197718631%' y1='33.70021419695024%' x2='87.65384615384616%' x1='85.76923076923077%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2008" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2008' rel='rdfs:seeAlso'><line y2='59.31341793784153%' y1='42.15969197718631%' x2='89.53846153846155%' x1='87.65384615384616%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2009" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2009' rel='rdfs:seeAlso'><line y2='96.43770278569066%' y1='59.31341793784153%' x2='91.42307692307693%' x1='89.53846153846155%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2010" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2010' rel='rdfs:seeAlso'><line y2='33.011290571731266%' y1='96.43770278569066%' x2='93.3076923076923%' x1='91.42307692307693%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2011" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2011' rel='rdfs:seeAlso'><line y2='38.88670062678091%' y1='33.011290571731266%' x2='95.1923076923077%' x1='93.3076923076923%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2012" target='_blank' resource='http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2012' rel='rdfs:seeAlso'><line y2='49.719411631415205%' y1='38.88670062678091%' x2='97.07692307692308%' x1='95.1923076923077%' stroke='#000'/></a> <a xlink:href="http://worldbank.270a.info/dataset/world-bank-indicators/NY.GDP.PCAP.KD.ZG/CA/2012" target='_blank'><circle stroke='#f00' r='1' fill='#f00' cy='49.719411631415205%' cx='97.07692307692308%'/></a> </g> </svg> </span> </span> claimed by the <a href="http://worldbank.270a.info/">World Bank Linked Dataspace</a>. dokieli demonstrates how scientists or authors can better support their argumentation with sparklines generated from their own or public statistical linked datasets.</p> <figure resource='#figure-dokieli-sparqlines' rel='schema:video' id='figure-dokieli-sparqlines'> <video width='800' typeof='schema:VideoObject' resource='#figure-dokieli-sparqlines' preload='none' poster='https://dokie.li/media/images/GDP-per-capita-growth--annual---.svg' id='video-dokieli-sparqlines' controls='controls'> <source type='video/webm' src="https://dokie.li/media/video/dokieli-sparqlines.webm" resource='https://dokie.li/media/video/dokieli-sparqlines.webm' rel='schema:contentUrl'/> </video> <figcaption property='schema:name'><a href="https://dokie.li/media/video/dokieli-sparqlines.webm">Video</a> of Sparqlines interaction in dokieli [<time property='schema:duration' datetime='PT26S' datatype='xsd:duration'>26s</time>, <span xml:lang='' property='schema:encodingFormat' lang=''>WebM</span>].</figcaption> </figure> </div> </section> <section resource='#deployment' rel='schema:hasPart' inlist='' id='deployment'> <h4 property='schema:name'>Deployment</h4> <div property='schema:description' datatype='rdf:HTML'> <p>dokieli is a clientside application that uses the user-agent to interact with server applications. It has two deployment approaches including the same set of features: <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Single-page_application" data-versionurl='https://web.archive.org/web/20190709212302/https://en.wikipedia.org/wiki/Single-page_application' data-versiondate='2019-07-09T21:23:02Z'>single-page application</a></cite> and <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Browser_extension" data-versionurl='https://web.archive.org/web/20190709212302/https://en.wikipedia.org/wiki/Browser_extension' data-versiondate='2019-07-09T21:23:02Z'>Web browser extension</a></cite>.</p> <p id='single-page-application'>dokieli’s presentational and behavioural code layers can be included in Web "pages" in order to trigger them as active single-page applications. It is a smart client that allows different kinds of articles eg. academic, blog posts, news, to be authored and annotated from within Web browsers, without necessarily having them deployed from a server, ie. it can be used offline or on localhost. dokieli internally handles its content and structural and semantic representation based on user’s actions and available information. Articles, profiles and their contact information, notifications, annotations with different motivations, for instance, can be read and written ubiquitously to any Web space with supporting HTTP methods and access control mechanisms.</p> <p id='web-browser-extension'>The Web browser extension is a thin wrapper around dokieli’s core code in order to embed itself in any HTML-based Web page on the Web. It inherits all of the features of a single-page application. While HTML based documents on the Web vary in their quality, dokieli’s write operations generate HTML+RDFa. One of the utilities for the extension is to have a consistent interface for annotating node or text selections on a Web resource, building structured citations, creating derivations of Web resources as well as sharing document fragments with ones contacts via notifications, without having a service dependency or being limited by the Web page’s UI.</p> </div> </section> </div> </section> <section resource='#semantic-content-authoring-quality-attributes' rel='schema:hasPart' inlist='' id='semantic-content-authoring-quality-attributes'> <h3 property='schema:name'>Semantic Content Authoring Quality Attributes</h3> <div property='schema:description' datatype='rdf:HTML'> <p>In <cite><a rel='cito:citesAsSourceDocument' href="http://svn.aksw.org/papers/2011/JWS_SemanticContentAuthoring/public.pdf" data-versionurl='https://web.archive.org/web/20181228113636/http://svn.aksw.org/papers/2011/JWS_SemanticContentAuthoring/public.pdf' data-versiondate='2018-12-28T11:36:36Z'>User Interfaces for Semantic Authoring of Textual Content: A Systematic Literature Review</a></cite>, Khalili, 2011, provide an analysis on approaches for <q>Semantic Content Authoring</q> (<abbr title='Semantic Content Authoring'>SCA</abbr>), which is defined as <q>a tool-supported manual composition process aiming at the creation of semantic documents. With an ontology and a user interface appropriate for the type of content, semantic authoring can be easier than traditional composition of content and the resulting content can be of higher quality.</q> The article proposes a set of <q>quality attributes</q> – as non-functional requirements – to evaluate the performance of SCA systems: usability, customizability, generalizability, collaboration, portability, accessibility, proactivity, automation, evolvability, interoperability, and scalability. Based on the starting point of the authoring process, the authors distinguish the approaches, and generally categorised as <q>bottom-up</q> (lifting unstructured content to a semantic level) or <q>top-down</q> (semantic representations from the beginning requiring users with the knowledge of the domain), and sometimes a hybrid of the two. A survey of tools are presented (in article’s Table 3) covering different types of users, expected domain knowledge, and authoring approach. The article also discusses <cite>Research and Technology Challenges</cite> and identifies a gap in addressing <q>accessibility</q>, <q>handling complexity in UIs</q>, <q>formal and systematic methods for user interface evaluation</q>, <q>heuristic evaluation</q>, <q>support of crowdsourcing</q>, UIs for ubiquitous devices.</p> <p>The scope of SCA is relevant because it covers some of the aspects of dokieli that can be examined. Hence, I use the structure of the table of results for SCA systems and include a dataset about <cite><a href="https://csarven.ca/linked-research-decentralised-web/#quality-attributes-dokieli">dokieli’s quality attributes</a></cite>:</p> <table id='quality-attributes-dokieli'> <caption>Quality attributes of dokieli</caption> <thead> <tr> <th rowspan='2'>Quality Attribute</th> <th rowspan='2'>UI Feature</th> <th colspan='2'>User Type</th> <th colspan='2'>Authoring Approach</th> <th colspan='2'>Domain</th> </tr> <tr> <th>Expert</th> <th>Non-expert</th> <th>Top-Down</th> <th>Bottom-Up</th> <th>Domain-independent</th> <th>Domain-specific</th> </tr> </thead> <tbody> <tr><th rowspan='4'>Usability</th><th>Single Point of Entry Interface</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Faceted Browsing</th><td></td><td></td><td></td><td></td><td></td><td></td></tr> <tr><th>Faceted Viewing</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Inline Editing and View Editing</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> </tbody> <tbody> <tr><th rowspan='2'>Customizability</th><th>Living UIs</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Providing Different Semantic Views</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> </tbody> <tbody> <tr><th rowspan='3'>Generalizability</th><th>Supporting Multiple Ontologies</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Supporting Ontology Modification</th><td></td><td></td><td></td><td></td><td></td><td></td></tr> <tr><th>Supporting Heterogeneous Document/Content Formats</th><td></td><td></td><td></td><td></td><td></td><td></td></tr> </tbody> <tbody> <tr><th rowspan='3'>Collaboration</th><th>Access Control</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Support of Standard Formats</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>UIs for Social Collaboration</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> </tbody> <tbody> <tr><th rowspan='2'>Portability</th><th>Cross-browser Compatibility</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>UIs for Mobile Devices</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> </tbody> <tbody> <tr><th>Accessibility</th><th>Accessible UIs</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> </tbody> <tbody> <tr><th rowspan='4'>Proactivity</th><th>Resource Suggestion</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Real-time Semantic Tagging</th><td></td><td></td><td></td><td></td><td></td><td></td></tr> <tr><th>Concept Reuse</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Real-time Validation</th><td></td><td></td><td></td><td></td><td></td><td></td></tr> </tbody> <tbody> <tr><th>Automation</th><th>Automatic Annotation</th><td></td><td></td><td></td><td></td><td></td><td></td></tr> </tbody> <tbody> <tr><th rowspan='3'>Evolvability</th><th>Resource Consistency</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Document and Annotation Consistency</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Versioning and Change Tracking</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> </tbody> <tbody> <tr><th rowspan='2'>Interoperability</th><th>Support of Standard Formats</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Semantic Syndication</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> </tbody> <tbody> <tr><th rowspan='2'>Scalability</th><th>Support of Caching</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> <tr><th>Suitable Storage Strategies</th><td>✔</td><td>✔</td><td></td><td>✔</td><td>✔</td><td></td></tr> </tbody> <tfoot> <tr> <td colspan='8'> <p>Extension of <cite><a rel='cito:extends' href="http://svn.aksw.org/papers/2011/JWS_SemanticContentAuthoring/public.pdf" data-versionurl='https://web.archive.org/web/20181228113636/http://svn.aksw.org/papers/2011/JWS_SemanticContentAuthoring/public.pdf' data-versiondate='2018-12-28T11:36:36Z'>Table 6: Overview of results</a></cite> in <cite>User Interfaces for Semantic Authoring of Textual Content: A Systematic Literature Review</cite> including dokieli.</p> </td> </tr> </tfoot> </table> </div> </section> <section resource='#fair-metrics' rel='schema:hasPart' inlist='' id='fair-metrics'> <h3 property='schema:name'>FAIR Metrics</h3> <div property='schema:description' datatype='rdf:HTML'> <p>As the <cite><a rel='cito:citesForInformation' href="https://csarven.ca/linked-research-decentralised-web/#fair-guiding-principles">FAIR guiding principles</a></cite> has been increasingly accepted and endorsed by research communities, I apply the corresponding <cite><a rel='cito:citesForInformation' href="https://github.com/FAIRMetrics/Metrics" data-versionurl='https://web.archive.org/web/20190709212303/https://github.com/FAIRMetrics/Metrics' data-versiondate='2019-07-09T21:23:03Z'>FAIR Metrics</a></cite> as outlined in <cite><a rel='cito:citesForInformation' href="https://www.nature.com/articles/sdata2018118" data-versionurl='https://web.archive.org/web/20190130165704/https://www.nature.com/articles/sdata2018118' data-versiondate='2019-01-30T16:57:04Z'>A design framework and exemplar metrics for FAIRness</a></cite>, Wilkinson, 2018, on dokieli. The FAIR metrics is intended to help assess the degree in which the resources issued through dokieli meets the FAIR principles.</p> <section resource='#fair-metrics-data-structure-definition' rel='schema:hasPart' inlist='' id='fair-metrics-data-structure-definition'> <h4 property='schema:name'>FAIR Metrics Data Structure Definition</h4> <div property='schema:description' datatype='rdf:HTML'> <dl typeof='qb:DataStructureDefinition' about='#fair-metrics-data-structure-definition'> <dt>Dimensions</dt> <dd><span typeof='qb:ComponentSpecification' resource='#fair-metrics-component-dimension-subject' rel='qb:component'><span typeof='qb:DimensionProperty' resource='earl:subject' rel='qb:componentProperty qb:dimension'><span property='skos:prefLabel'>Subject</span> - <span property='skos:definition'>the test subject of an assertion</span></span></span></dd> <dd><span typeof='qb:ComponentSpecification' resource='#fair-metrics-component-dimension-test' rel='qb:component'><span typeof='qb:DimensionProperty' resource='earl:test' rel='qb:componentProperty qb:dimension'><span property='skos:prefLabel'>Test</span> - <span property='skos:definition'>the test criterion of an assertion</span></span></span></dd> <dd><span typeof='qb:ComponentSpecification' resource='#fair-metrics-component-dimension-mode' rel='qb:component'><span typeof='qb:DimensionProperty' resource='earl:mode' rel='qb:componentProperty qb:dimension'><span property='skos:prefLabel'>Mode</span> - <span property='skos:definition'>the mode in which the test was performed</span></span></span></dd> <dt>Measures</dt> <dd><span typeof='qb:ComponentSpecification' resource='#fair-metrics-component-measure-result' rel='qb:component'><span typeof='qb:MeasureProperty' resource='earl:result' rel='qb:componentProperty qb:measure'><span property='skos:prefLabel'>Result</span> - <span property='skos:definition'>the result of an assertion</span></span></span> (Outcome, Info)</dd> </dl> </div> </section> <section resource='#fair-metrics-dataset' rel='schema:hasPart' inlist='' id='fair-metrics-dataset'> <h4 property='schema:name'>FAIR Metrics Dataset</h4> <div property='schema:description' datatype='rdf:HTML'> <dl> <dt>Identifier</dt> <dd xml:lang='' property='dcterms:identifier' lang=''>a2ebd5be-b9ca-11e8-bdaa-338eda30385e</dd> <dt>Published</dt> <dd><time property='as:published' datetime='2018-09-16T18:10:00.181Z' datatype='xsd:dateTime' content='2018-09-16T18:10:00.181Z'>2018-09-16</time></dd> <dt>Creator</dt> <dd><a property='as:actor' href="https://csarven.ca/#i">https://csarven.ca/#i</a></dd> <dt>Structure</dt> <dd><a rel='qb:structure' href="https://csarven.ca/linked-research-decentralised-web/#fair-metrics-data-structure-definition">FAIR Metrics</a></dd> </dl> <span resource='#test-dokieli-fm-f1a' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-f1b' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-f2' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-f3' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-f4' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-a1.1' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-a1.2' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-a2' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-i1' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-i2' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-i3' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-r1.1' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-r1.2' rel='rdfs:seeAlso'></span> <span resource='#test-dokieli-fm-r1.3' rel='rdfs:seeAlso'></span> <table typeof='qb:DataSet as:Object' id='fair-metrics-dataset-dokieli' about='#fair-metrics-dataset-dokieli'> <caption>FAIR Metrics results</caption> <thead> <tr> <th title='The test subject of an assertion'><a href="https://www.w3.org/TR/EARL10-Schema/#subject">Subject</a></th> <th title='The test criterion of an assertion'><a href="https://www.w3.org/TR/EARL10-Schema/#test">Test</a></th> <th title='The mode in which the test was performed'><a href="https://www.w3.org/TR/EARL10-Schema/#mode">Mode</a></th> <th title='The outcome of performing the test'><a href="https://www.w3.org/TR/EARL10-Schema/#outcome">Outcome</a></th> <th title='Additional warnings or error messages in a human-readable form'><a href="https://www.w3.org/TR/EARL10-Schema/#info">Info</a></th> </tr> </thead> <tbody> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-f1a'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_F1A">FM-F1A</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f1a' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f1a' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>Initiates the registration of HTTP URIs. Creates local identifiers (including Web Annotation Selectors and States) in documents. Uses HTTP URIs, DOI and ISSN names for citations.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-f1b'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_F1B">FM-F1B</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f1b' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f1b' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>Policy about identifier persistence can be created and retrieved.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-f2'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_F2">FM-F2</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f2' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f2' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>All information of significance is machine-readable based on the RDF language, encoded using RDFa in HTML and SVG, JSON-LD, Turtle.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-f3'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_F3">FM-F3</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f3' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f3' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>No distinction made for "data" and "metadata" as all documents are human- and machine-readable, and can refer to other resources.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-f4'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_F4">FM-F4</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f4' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-f4' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>Units of information is findable from search engines, Web archives, <cite>Linked Open Data Cloud</cite>.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-a1.1'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_A1.1">FM-A1.1</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-a1.1' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-a1.1' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>Uses <a href="https://csarven.ca/linked-research-decentralised-web/#webid-tls">WebID-TLS</a> and <a href="https://csarven.ca/linked-research-decentralised-web/#webid-oidc">WebID-OIDC</a> to access HTTP URIs.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-a1.2'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_A1.1">FM-A1.2</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-a1.2' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-a1.2' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>HTTP URIs requiring authentication relies on an actor’s use of <a href="https://csarven.ca/linked-research-decentralised-web/#webid-tls">WebID-TLS</a> or <a href="https://csarven.ca/linked-research-decentralised-web/#webid-oidc">WebID-OIDC</a>, and the authorization by the server will be handled by its own access policies eg. <a href="https://csarven.ca/linked-research-decentralised-web/#acl">ACL</a>, communicated back to the client. Actors can publish ACL rules for HTTP URIs.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-a2'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_A2">FM-A2</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-a2' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-a2' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>Policy about metadata plan can be created and retrieved.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-i1'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_A2">FM-I1</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-i1' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-i1' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>All units of significance can be expressed through accessible Linked Data <a href="https://csarven.ca/linked-research-decentralised-web/#vocabularies">vocabularies</a>.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-i2'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_A2">FM-I2</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-i2' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-i2' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>All units of significance can be expressed through accessible Linked Data <a href="https://csarven.ca/linked-research-decentralised-web/#vocabularies">vocabularies</a>.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-i3'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_I3">FM-I3</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-i3' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-i3' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>All units of significance can be expressed through accessible Linked Data <a href="https://csarven.ca/linked-research-decentralised-web/#vocabularies">vocabularies</a>. Generated HTML, SVG, MathML are the host language for RDFa. JSON-LD and Turtle are also used to create and consume Web resources.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-r1.1'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_A2">FM-R1.1</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-r1.1' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-r1.1' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>Uses Linked Data vocabularies to express statements about particular rights and licenses in resources eg. Creative Commons. Information pertaining to rights and license can be created and retrieved.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-r1.2'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_A2">FM-R1.2</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-r1.2' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-r1.2' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>Information pertaining to provenance is generated and can be explicitly included by actors eg. can express "was derived from", "cites as evidence" to any unit of information.</span></td> </tr> <tr typeof='qb:Observation earl:Assertion' about='#test-dokieli-fm-r1.3'> <td><span resource='#fair-metrics-dataset-dokieli' rel='qb:dataSet'></span><a property='earl:subject' href="https://dokie.li/">dokieli</a></td> <td><a property='earl:test' href="https://purl.org/fair-metrics/FM_A2">FM-R1.3</a></td> <td resource='earl:semiAuto' property='earl:mode'><a href="https://www.w3.org/TR/EARL10-Schema/#semiAuto">semiAuto</a></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-r1.3' property='earl:result'><span resource='earl:passed' property='earl:outcome'>✔</span></td> <td typeof='earl:TestResult' resource='#result-test-dokieli-fm-r1.3' property='earl:result'><span property='earl:info' datatype='rdf:HTML'>Resources can be shared with the <cite>Linked Open Data Cloud</cite>, as well as with <cite>Linked Open Research Cloud</cite> using the <cite>Linked Data Notifications</cite> protocol. Any consumer conforming to various <a href="https://csarven.ca/linked-research-decentralised-web/#read-write-linked-data">Read-Write Linked Data</a> protocols and Linked Data <a href="https://csarven.ca/linked-research-decentralised-web/#vocabularies">vocabularies</a> can reuse.</span></td> </tr> </tbody> <tfoot> <tr> <td colspan='5'> <dl> <dt class='earl:passed'><abbr title='Passed'>✔</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#passed">Passed</a></dd> <dt class='earl:failed'><abbr title='Failed'>✗</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#failed">Failed</a></dd> <dt class='earl:cantTell'><abbr title='Cannot tell'>?</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#cantTell">Cannot tell</a></dd> <dt class='earl:inapplicable'><abbr title='Inapplicable'>⌙</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#inapplicable">Inapplicable</a></dd> <dt class='earl:untested'><abbr title='Untested'>○</abbr></dt><dd><a href="https://www.w3.org/TR/EARL10-Schema/#untested">Untested</a></dd> </dl> <dl class='abbr'> <dt id='FM-F1A'>FM-F1A</dt><dd>Identifier uniqueness [<a href="https://purl.org/fair-metrics/FM_F1A">source</a>]</dd> <dt id='FM-F1B'>FM-F1B</dt><dd>Identifier persistence [<a href="https://purl.org/fair-metrics/FM_F1B">source</a>]</dd> <dt id='FM-F2'>FM-F2</dt><dd>Machine-readability of metadata [<a href="https://purl.org/fair-metrics/FM_F2">source</a>]</dd> <dt id='FM-F3'>FM-F3</dt><dd>Resource Identifier in Metadata [<a href="https://purl.org/fair-metrics/FM_F3">source</a>]</dd> <dt id='FM-F4'>FM-F4</dt><dd>Indexed in a searchable resource [<a href="https://purl.org/fair-metrics/FM_F4">source</a>]</dd> <dt id='FM-A1.1'>FM-A1.1</dt><dd>Access Protocol [<a href="https://purl.org/fair-metrics/FM_A1.1">source</a>]</dd> <dt id='FM-A1.2'>FM-A1.2</dt><dd>Access authorization [<a href="https://purl.org/fair-metrics/FM_A1.2">source</a>]</dd> <dt id='FM-A2'>FM-A2</dt><dd>Metadata Longevity [<a href="https://purl.org/fair-metrics/FM_A2">source</a>]</dd> <dt id='FM-I1'>FM-I1</dt><dd>Use a Knowledge Representation Language [<a href="https://purl.org/fair-metrics/FM_I1">source</a>]</dd> <dt id='FM-I2'>FM-I2</dt><dd>Use FAIR Vocabularies [<a href="https://purl.org/fair-metrics/FM_I2">source</a>]</dd> <dt id='FM-I3'>FM-I3</dt><dd>Use Qualified References [<a href="https://purl.org/fair-metrics/FM_I3">source</a>]</dd> <dt id='FM-R1.1'>FM-R1.1</dt><dd>Accessible Usage License [<a href="https://purl.org/fair-metrics/FM_R1.1">source</a>]</dd> <dt id='FM-R1.2'>FM-R1.2</dt><dd>Detailed Provenance [<a href="https://purl.org/fair-metrics/FM_R1.2">source</a>]</dd> <dt id='FM-R1.3'>FM-R1.3</dt><dd>Meets Community Standards [<a href="https://purl.org/fair-metrics/FM_R1.3">source</a>]</dd> </dl> <p>The generated and consumed data reflects dokieli’s capabilities with respect to potentially interacting with servers adhering to common open Web standards and practices.</p> </td> </tr> </tfoot> </table> <p>This table shows that dokieli fares well with the FAIR principles. The technical standards and practices that are applied to dokieli fulfill each metric. One observation here is that the application of Linked Data principles <q>out-of-the-box</q> consequently scores high against the FAIR Metrics.</p> </div> </section> </div> </section> <section resource='#dokieli-forces-functions' rel='schema:hasPart' inlist='' id='dokieli-forces-functions'> <h3 property='schema:name'>Forces and Functions in dokieli</h3> <div property='schema:description' datatype='rdf:HTML'> <p>This section goes into detail about how dokieli fulfills or supports some of the forces and functions in scientific communication.</p> <p id='dokieli-forces'>As dokieli is employed, I observe the <em>forces</em>:</p> <dl> <dt>Actors</dt> <dd>Any <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/webarch/#def-web-agent" data-versionurl='https://web.archive.org/web/20190729124644/https://www.w3.org/TR/webarch/' data-versiondate='2019-07-29T12:46:44Z'>web agent</a></cite> — person or software — can use WebIDs for their identities to read and write resources. Actors can contribute anonymously, be pseudonymous, or unlinkable. The application adapts to the information that is available from the profile description. An actor’s social graph can be discovered and used to communicate.</dd> <dt>Content</dt> <dd>Actors can author, publish, and reuse Web resources, including articles, annotations, notifications, as well as query statistical data and lookup citation references. Any fragment of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#axiom-0a">resource of significance</a></cite> can be assigned a URI, defined or described, as well as interlinked with other URIs. Information is semantically expressed with Linked Data <cite><a href="https://csarven.ca/linked-research-decentralised-web/#vocabularies">Vocabularies</a></cite> by the application and actively by the actor.</dd> <dt>Accessibility</dt> <dd>Actors can access publicly available HTTP URIs directly or authenticate themselves in order to retrieve representations of access controlled Web resources – including articles, annotations, and notifications – provided that they are authorized to. Actors can set access rules on resources they control.</dd> <dt>Applicability</dt> <dd>Applicability of scholarly communication comes from research which responds to problems or answers questions, which can be used or built upon by others. The application makes it possible to both express and share units of information pertaining to applicability.</dd> </dl> <p id='dokieli-functions'>The <em>functions</em>:</p> <dl> <dt>Registration</dt> <dd>Articles, annotations, and notifications can be registered as their own entities by assigning HTTP URIs at any location the actor has ownership or access to, facilitating information discovery and reuse. Registration of units of information are triggered by the application and then realised by servers. Registration is also triggered by requesting a snapshot from archiving services.</dd> <dt>Awareness</dt> <dd>The LDN protocol is used to disseminate notifications to document, profile, or community managed inboxes. The kind of notifications range from information sharing, request for feedback, replies, assessments, or annotations of resources, to bringing attention to citation back-references.</dd> <dt>Certification</dt> <dd>Units of information at any level of granularity can be annotated or replied to, from entire articles to individual data points as part of quality-control. All artifacts for the purpose of quality-control are registered units of information that can be dereferenced, and can be announced to individuals or groups.</dd> <dt>Archiving</dt> <dd>dokieli can inform the APIs of archiving systems about the existence and state of units of information that can be crawled and preserved. Actors can reuse the archived URIs. Robust citations are created by registering an archived version of the cited entity and the datetime stamp is preserved at the time of linking.</dd> </dl> </div> </section> <section resource='#contextualising-dokieli' rel='schema:hasPart' inlist='' id='contextualising-dokieli'> <h3 property='schema:name'>Contextualising dokieli</h3> <div property='schema:description' datatype='rdf:HTML'> <p>dokieli is composed of use cases that are realised through a collection of open Web standards. I contend that dokieli is a <cite><a href="https://csarven.ca/linked-research-decentralised-web/#socially-aware-read-write-linked-data">socially-aware read-write Linked Data</a></cite> application. It demonstrates how decentralised units of communication can be co-created and used by actors and applications.</p> <section resource='#web-publishing-systems' rel='schema:hasPart' inlist='' id='web-publishing-systems'> <h4 property='schema:name'>Web Publishing Systems</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Throughout this article I have highlighted the environment that the AWWW enables with the goal of fostering a universally accessible and interoperable information space. I have also looked at the ongoing initiatives towards the decoupling of functions in scientific communication. Here I reuse some of these notions to situate dokieli with some existing work that can be (subjectively) <em>considered as representative</em> for different areas in <q>Web publishing</q>. There is plethora of examples for centralised and decentralised systems on the Web. Some of the authoring and publishing systems already fulfill some aspects of decentralised systems which operate over HTTP. I focus on degree of control with respect to applications, data and identity, privacy, accessibility, and interoperability.</p> <p id='gmtf'>Currently, <cite><a rel='cito:discusses' href="https://docs.google.com/" data-versionurl='https://web.archive.org/web/20190709212304/https://accounts.google.com/ServiceLogin?passive=1209600&amp;continue=https://docs.google.com/&amp;followup=https://docs.google.com/&amp;emr=1' data-versiondate='2019-07-09T21:23:04Z'>Google Docs</a></cite>, <cite><a rel='cito:discusses' href="https://medium.com/" data-versionurl='https://web.archive.org/web/20190709212303/https://medium.com/' data-versiondate='2019-07-09T21:23:03Z'>Medium</a></cite>, <cite><a rel='cito:discusses' href="https://twitter.com/" data-versionurl='https://web.archive.org/web/20190709212303/https://twitter.com/' data-versiondate='2019-07-09T21:23:03Z'>Twitter</a></cite>, <cite><a rel='cito:discusses' href="https://facebook.com/" data-versionurl='https://web.archive.org/web/20190709212304/https://www.facebook.com/' data-versiondate='2019-07-09T21:23:04Z'>Facebook</a></cite> are examples of well-known Web applications for collaborative creation and publication of content. Users create accounts on these systems to perform access controlled read-write operations on data stored on the same server. These kind of systems allow users to authenticate with their identity provider from preconfigured authorities, as well providing their own accounts on the system. Each service generally has a custom API and vocabulary that a trusted client application (normally hosted on the same server) uses to interact with the server in order to perform <abbr title='Create, Read, Update, and Delete'>CRUD</abbr> operations through the user interface. They are categorically a client-server that is <cite><a href="https://csarven.ca/linked-research-decentralised-web/#client-server-spectrum">tightly coupled</a></cite> on identity, identification, authentication, authorization, and storage.</p> <p id='wordpress'><cite><a rel='cito:discusses' href="https://wordpress.org/" data-versionurl='https://web.archive.org/web/20190709212304/https://wordpress.org/' data-versiondate='2019-07-09T21:23:04Z'>WordPress</a></cite> is a free and open-source client-server application for article publication which can be self-hosted on a server controlled by the user. Users may optionally sign-in with their WordPress accounts to leave comments on others’ articles where they are stored by the hosting site.</p> <p id='mediawiki'><cite><a rel='cito:discusses' href="https://www.mediawiki.org/" data-versionurl='https://web.archive.org/web/20190709212305/https://www.mediawiki.org/wiki/MediaWiki' data-versiondate='2019-07-09T21:23:05Z'>MediaWiki</a></cite> is a <a href="https://en.wikipedia.org/wiki/Wiki">wiki software</a> for collaborative content creation, structuring, and modification, most well known for its use by <cite><a rel='cito:discusses' href="https://en.wikipedia.org/" data-versionurl='https://web.archive.org/web/20190709212305/https://en.wikipedia.org/wiki/Main_Page' data-versiondate='2019-07-09T21:23:05Z'>Wikipedia</a></cite>. It runs as a service with a server and a frontend client application in the Web browser. Users create accounts per service in order to further control the frontend to perform CRUD operations. Content can be licensed, and changes are versioned with HTTP URIs. Human-readable content is available in HTML, and considered to be accessible and archive-friendly. Data into the system can flow in from <cite><a rel='cito:discusses' href="https://www.wikidata.org/" data-versionurl='https://web.archive.org/web/20190709212306/https://www.wikidata.org/wiki/Wikidata:Main_Page' data-versiondate='2019-07-09T21:23:06Z'>Wikidata</a></cite>, a storage for structured data – expressed and dereferenceable as RDF with a SPARQL query service – used by Wikimedia projects.</p> <p id='hypothes.is'><cite><a rel='cito:discusses' href="https://hypothes.is/" data-versionurl='https://web.archive.org/web/20190709212306/https://web.hypothes.is/' data-versiondate='2019-07-09T21:23:06Z'>Hypothes.is</a></cite> has a server and client application that makes it possible for users to leave annotations on different types of documents on the Web using either a browser extension, proxy service, or including its JavaScript library in HTML documents. Annotations may be private, public, or for a group, and can be threaded to form conversations around a piece of content. Each instance of a client application is preconfigured to use its own API endpoint against a particular server to perform CRUD operations, such as creating and finding annotations and related data. Actors use the client application to control the user accounts at a server or preconfigured identity providers eg. hypothes.is, orcid.org, acknowledged by a server. Annotations can be self-hosted, however different servers do not federate. The HTML representations of annotations requires JavaScript to be available and enabled on the user-agent in order to look up and fetch the annotation’s contents in JSON from its API and update the <abbr title='Document Object Model'>DOM</abbr>. The annotation URLs, proxy, and the browser extension uses the <cite>Google Analytics</cite> tracking service per active URL. On active URLs, the client application by default makes API calls to the Hypothes.is server to check for annotations. On-demand archiving services like the Internet Archive are currently unable to properly archive an annotation’s contents. It is possible to fetch an annotation that is represented with the WA Data Model from a server, however the annotation is not machine-discoverable ie. other applications will need to be uniquely configured with Hypothes.is’s annotation URL template in order to acquire a JSON-LD representation - which is semantically a subset of the information provided in the HTML and JSON representations.</p> <p>One common architectural aspect to these systems is that while they have some characteristics of a loosely coupled system, the server is expected to work with a designated client application. For instance, they require account creation and data storage with respect to an appointed centralised service. In essence, the user interface is restricted to communicate with a particular service endpoint, as well as an authority that governs all actor identities and the data they have produced. They allow multiple participants to annotate and hold discussions around the primary content; users must access their accounts to be notified of updates to conversations, and data from both the main content and related discussion is confined to the service which was used to create it. The data formats and schemas are consistent across storage instances in that it is possible to migrate data from one location to another using the same server application, storage mechanism and data schema. Archivability of Web resources varies and their access being at the discretion of server owners.</p> <p id='libreoffice-online'><cite><a rel='cito:discusses' href="https://github.com/libreoffice/online" data-versionurl='https://web.archive.org/web/20190709212305/https://github.com/libreoffice/online' data-versiondate='2019-07-09T21:23:05Z'>LibreOffice Online</a></cite>’s <cite>Writer</cite>, for example, allows collaborative editing of office documents from the Web browser. Content can be stored under different CMSs in the cloud. The document’s interface consists of image tiles which are sent from the server and rendered in the browser. However, it hardly provides accessibility, rich interlinking and annotations.</p> <aside> <p>I have saved discussing the landmark to last, Amaya and Annotea:</p> </aside> <p id='amaya'><cite><a rel='cito:discusses' href="https://www.w3.org/Amaya/" data-versionurl='https://web.archive.org/web/20190709212306/https://www.w3.org/Amaya/' data-versiondate='2019-07-09T21:23:06Z'>Amaya</a></cite> is a desktop Web browser and editor that was developed by W3C (1996-2012) to provide a framework to experiment and validate Web specifications. It allows documents to be created and updated with remote access features.</p> <p id='annotea'>As per <cite><a rel='cito:discusses' href="https://www.w3.org/2001/Annotea/Papers/www10/annotea-www10.html" data-versionurl='https://web.archive.org/web/20190213221315/https://www.w3.org/2001/Annotea/Papers/www10/annotea-www10.html' data-versiondate='2019-02-13T22:13:15Z'>Annotea: An Open RDF Infrastructure for Shared Web Annotations</a></cite>, Kahan, 2001, the <cite><a rel='cito:discusses' href="https://www.w3.org/2001/Annotea/" data-versionurl='https://web.archive.org/web/20190212025806/http://www.w3.org/2001/Annotea/' data-versiondate='2019-02-12T02:58:06Z'>Annotea</a></cite> system was the earliest approach to creating and sharing Web-based annotations built on the RDF infrastructure. The client application was integrated into Amaya where it was able to store and recall annotations locally or from a remote annotation server, with the expectation of an access controlled server using the standard HTTP authentication mechanisms. Annotea annotations are independent Web resources. Annotea has a <cite><a typeof='doap:Specification' rel='cito:discusses' href="https://www.w3.org/2001/Annotea/User/Protocol.html" data-versionurl='https://web.archive.org/web/20190709212307/https://www.w3.org/2001/Annotea/User/Protocol.html' data-versiondate='2019-07-09T21:23:07Z'>protocol</a></cite> that specifies the CRUD operations for servers and clients, and enables different applications to be built. Annotea in Amaya for instance allowed the user to specify the URI of an annotation server. In order to reference target resources, annotations used <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/TR/xptr-element/" data-versionurl='https://web.archive.org/web/20190709212307/https://www.w3.org/TR/xptr-element/' data-versiondate='2019-07-09T21:23:07Z'>XML Pointer Language</a></cite> (<abbr title='XML Pointer Language'>XPointer</abbr>) to specify the part of HTML or XML-based documents that the annotation was in context of. Annotea laid out a path for subsequent systems, influencing <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="http://www.openannotation.org/spec/core/" data-versionurl='https://web.archive.org/web/20190709212308/http://www.openannotation.org/spec/core/' data-versiondate='2019-07-09T21:23:08Z'>Open Annotation Data Model</a></cite> which later evolved into the WA Data Model.</p> <p>Amaya and Annotea emerged at a time when publishing and consumption standards on the Open Web Platform were still relatively in the early phases. The most apparent conceptual similarities between the Amaya and Annotea combination with dokieli is that they treat the hosting document as one of the environments to perform read and write operations from.</p> <hr/> <p id='dokieli-hypothes.is'>A tentative view of the interoperability between Hypothes.is and dokieli is as follows. The client applications Hypothes.is and dokieli are non-conflicting in that when used in the same content or context, each can still be used on its own. A Hypothes.is client application can search and fetch annotations from an associated server using the Hypothes.is API, and render them on the target resource. dokieli can discover the WA annotation service of a Web resource, fetch annotations from servers conforming to WAP and LDP specifications, and render them on the target resource. Additional data about the annotation can be created and reused in both applications. A Hypothes.is client application can authenticate with a particular server using OAuth. Actors with WebID in dokieli can authenticate with servers supporting WebID-TLS and WebID-OIDC. Both can create annotations given authorization. Hypothes.is application can extend and direct annotations to a community group using the same server. dokieli triggers content negotiation with servers to determine preferred RDF serialization of Web Annotation and profile. The Hypothes.is client can only fetch annotations from a corresponding Hypothes.is server. dokieli can only fetch annotations from servers implementing LDP, WAP or AP. Putting the method of fetching an annotation resource aside, it is possible for either client application to render an annotation serialized as JSON-LD that is created by the other application. The notion of "private" content in Hypothes.is is tied to the annotation server that client application is associated with, whereas "private" content in dokieli is associated to actor’s preferred storage location and access control policies based on individual, class of, or group WebIDs.</p> <p>Existing server and client applications in particular to authoring and publishing are complex systems in that while they adhere or adopt some aspects of open Web specifications, they also include proprietary designs. Such systems also have varying characteristics of centralisation and decentralisation, hence, while some aspects are interoperable, other areas require post facto efforts to interop.</p> <p>The tools which provide good collaborative editing user-interfaces appear to do so at the expense of data ownership and interoperability; those which promote creation and publication of data in open reusable formats are lacking facilities for linking discourse and conversation to concepts published. Decentralised creations also mean that each author can choose their own semantics eg. their own vocabulary to annotate using the RDF language, and then such decentralised documents can link to each other and their schemas can also be mapped to each other, whereas in centralised systems this is (if they support structured semantics at all) often prescribed, either technically enforced, or encouraged by social convention.</p> </div> </section> <section resource='#adoption-of-dokieli' rel='schema:hasPart' inlist='' id='adoption-of-dokieli'> <h4 property='schema:name'>Adoption of dokieli</h4> <div property='schema:description' datatype='rdf:HTML'> <p>dokieli is first and foremost intended to demonstrate the potential of an application that is built entirely on open Web standards, meanwhile enabling actors to control their own data and respecting their privacy. During the process of exemplifying its core principles as an implementation, it has raised awareness and had some success in its adoption. Here I list some of those:</p> <p id='adoption-w3c-annotation'>The W3C Working Group Note <cite><a rel='cito:citesAsEvidence' href="https://www.w3.org/TR/annotation-html/" data-versionurl='https://web.archive.org/web/20190709212206/https://www.w3.org/TR/annotation-html/' data-versiondate='2019-07-09T21:22:06Z'>Embedding Web Annotations in HTML</a></cite> includes examples from dokieli’s publishing and consuming of the Web Annotation Data <cite><a rel='cito:discusses' href="https://www.w3.org/TR/annotation-model/" data-versionurl='https://web.archive.org/web/20190709212308/https://www.w3.org/TR/annotation-model/' data-versiondate='2019-07-09T21:23:08Z'>Model</a></cite> and <cite><a rel='cito:discusses' href="https://www.w3.org/TR/annotation-vocab/" data-versionurl='https://web.archive.org/web/20190709212205/https://www.w3.org/TR/annotation-vocab/' data-versiondate='2019-07-09T21:22:05Z'>Vocabulary</a></cite> with motivations based on general use cases, for example: personal annotating, offline-first annotations, lightweight, decentralised annotation tools, collaborative annotating, and wholly internal annotations.</p> <p id='adoption-w3c-ldn'>The W3C <cite><a rel='cito:citesAsEvidence' href="https://www.w3.org/TR/ldn/" data-versionurl='https://web.archive.org/web/20190709211912/https://www.w3.org/TR/ldn/' data-versiondate='2019-07-09T21:19:12Z'>Linked Data Notifications</a></cite> specification uses dokieli’s HTML+RDFa template, and the <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/" data-versionurl='https://web.archive.org/web/20190729124644/https://linkedresearch.org/ldn/' data-versiondate='2019-07-29T12:46:44Z'>Editor’s Draft</a></cite> showcase dokieli as a consumer of LDN and Web Annotations, as well as allowing the user to create new annotations and send notifications. The LDN <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/ldn/tests/" data-versionurl='https://web.archive.org/web/20190709212253/https://linkedresearch.org/ldn/tests/' data-versiondate='2019-07-09T21:22:53Z'>Test Suite</a></cite> also uses dokieli’s templates and stylesheets.</p> <p id='adoption-academic'>The academic workshop <cite><a rel='cito:citesAsEvidence' href="http://semstats.org/" data-versionurl='https://web.archive.org/web/20190407113143/http://semstats.org/' data-versiondate='2019-04-07T11:31:43Z'>Semantic Statistics</a></cite> series use dokieli in its website templates, including the call for contributions.</p> <p id='adoption-ceur'><cite><a rel='cito:citesAsEvidence' href="http://ceur-ws.org/" data-versionurl='https://web.archive.org/web/20190407113234/http://ceur-ws.org/' data-versiondate='2019-04-07T11:32:34Z'>CEUR-WS.org</a></cite>, an <q>Online Proceedings for Scientific Conferences and Workshops</q> offers the tooling <cite><a rel='cito:citesAsEvidence' href="https://github.com/ceurws/ceur-make" data-versionurl='https://web.archive.org/web/20190709212308/https://github.com/ceurws/ceur-make' data-versiondate='2019-07-09T21:23:08Z'>ceur-make</a></cite> to help organisers generate proceedings using dokieli’s HTML+RDFa template, eg. <cite><a rel='cito:citesAsEvidence' href="http://ceur-ws.org/Vol-1654/" data-versionurl='https://web.archive.org/web/20190709212309/http://ceur-ws.org/Vol-1654/' data-versiondate='2019-07-09T21:23:09Z'>SemStats 2016 Proceedings</a></cite>.</p> <p id='adoption-examples-in-the-wild'>A community of researcher who self-publish their articles and thesis using dokieli with different stylesheets and derived scripts are listed in dokieli’s <cite><a rel='cito:citesAsEvidence' href="https://github.com/linkeddata/dokieli/wiki#examples-in-the-wild" data-versionurl='https://web.archive.org/web/20190709212309/https://github.com/linkeddata/dokieli/wiki' data-versiondate='2019-07-09T21:23:09Z'>examples in the wild</a></cite>.</p> <p id='adoption-conferences'>The conference series: WWW (eg. <a rel='cito:citesAsEvidence' href="http://events.linkeddata.org/ldow2018/">LDOW</a> and <a rel='cito:citesAsEvidence' href="http://sociam.org/wow2017/">WOW</a> workshops), <a rel='cito:citesAsEvidence' href="https://iswc2019.semanticweb.org/calls/html-submission-guide/">ISWC</a>, and <a rel='cito:citesAsEvidence' href="http://2018.eswc-conferences.org/call-papers">ESWC</a> propose dokieli as one tooling in which authors can use to make their contributions to the calls with.</p> <p id='adoption-solid'><cite><a rel='cito:citesAsEvidence' href="https://github.com/solid/solid-panes" data-versionurl='https://web.archive.org/web/20190630143758/https://github.com/solid/solid-panes' data-versiondate='2019-06-30T14:37:58Z'>Solid Panes</a></cite> is a set of core Solid-compatible applications includes to create human-readable and Linked Data documents. A pane displays the dokieli document using a part of its window.</p> <p id='adoption-linked-research'>The <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/" data-versionurl='https://web.archive.org/web/20190709212309/https://linkedresearch.org/' data-versiondate='2019-07-09T21:23:09Z'>Linked Research</a></cite> website uses dokieli in its templates on the site as well as workshop proposals and call for contributions.</p> <p id='adoption-personal'>My personal website at <cite><a rel='cito:citesAsEvidence' href="https://csarven.ca/" data-versionurl='https://web.archive.org/web/20190729124644/https://csarven.ca/' data-versiondate='2019-07-29T12:46:44Z'>https://csarven.ca/</a></cite> uses dokieli, where some articles – like this one you are reading – offer pointers to a public annotation service in which users can optionally send their annotations to, in addition to their own storage. Some articles – like this one you are reading – have an inbox associated with the article to send notifications to eg. replies, reviews, citations.</p> </div> </section> <section resource='#degree-of-control-in-dokieli' rel='schema:hasPart' inlist='' id='degree-of-control-in-dokieli'> <h4 property='schema:name'>Degree of Control in dokieli</h4> <div property='schema:description' datatype='rdf:HTML'> <p>At the beginning of this section, requirements for <cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralised-web-publishing">decentralised Web publishing</a></cite> relating to <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite> were listed. dokieli fulfills variety of these use cases pertaining to decentralised Web publishing by meeting these requirements. dokieli demonstrates one configuration of open Web standards that can operate in a loosely coupled environment.</p> <p>Future work can examine how additional features can be realised on top of existing Web standards, or where more development is required. Real-time collaborative editing is often realised with centralised communication (even though some peer to peer alternatives exist). Services like top-down annotations or automated entity marking can improve the discoverability of a publication, yet the question of how to offer these without being tied to certain servers as well as Web identities served from fixed servers needs further work.</p> <dl> <dt>Actors can read-write human- and machine-readable Web resources</dt> <dd>dokieli uses HTML+RDFa, JSON-LD, and Turtle to express human- and machine-readable units of communication, which fulfills both internal and external requirements from relevant Web specifications. All units of significance can be expressed through Linked Data vocabularies, in particular, the common kinds of resources such as articles, annotations, and notifications.</dd> <dt>Application can read-write Linked Data Notifications and Web Annotations</dt> <dd>The use cases pertaining to annotations with different motivations, social activities, sharing resources, semantic citations, social reviews, as well as privacy can be addressed.</dd> <dt>Actors use their preferred Web identity</dt> <dd>It is possible for actors to use any WebID in order to adapt dokieli’s user interface and possible actions based on the available (extended) profile description.</dd> <dt>Actors use their preferred clientside application on access-controlled resources.</dt> <dd>WebID-based access-controlled resources can be read and manipulated by actors where they authenticate through WebID-TLS and WebID-OIDC.</dd> <dt>Actors switch between applications without having to move or alter the schema of their data.</dt> <dd>The data and information that dokieli generates is expressed with Linked Data vocabularies. Any other application with the ability to understand or work with the same Linked Data vocabularies can reuse the dokieli generated data.</dd> <dt>Actors relocating data without having to change their preferred application.</dt> <dd> All units of communication are decentralised in that no central server acts as root or starting point in discovery. dokieli’s awareness of the actor’s profile starts by where they input their WebID, which can be at any location. Similarly, inboxes of various objects and annotations services are dynamically discovered.</dd> <dt>Querying, visualising, and creating statistical data from clientside applications.</dt> <dd>Statistical Linked Data can be looked up based on actor’s actions, visualised and integrated with their document, and finally the document include the Linked Data can be saved.</dd> </dl> </div> </section> <section resource='#effects-and-artifacts-of-dokieli' rel='schema:hasPart' inlist='' id='effects-and-artifacts-of-dokieli'> <h4 property='schema:name'>Effects and Artifacts of dokieli</h4> <div property='schema:description' datatype='rdf:HTML'> <p>dokieli shows that it is possible for people to interact with each other without central coordination. Users can choose storage space for their content independently of the applications with which they edit and view that content. Documents are connected statically through links and dynamically through Linked Data Notifications. This is a proof for the viability of a social and decentralised authoring and annotation environment based on Web standards. dokieli happens to be one application that demonstrates the potentials of decentralised notifications and annotations. The information it creates does not result in a vendor lock-in, as other applications are able to reuse them – given agreement on using open Web standards.</p> <p>On the other hand, dokieli’s use of standards shows that dokieli itself is only one means to an end: once the document has been created, it lives on independently. The <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Social_machine" data-versionurl='https://web.archive.org/web/20190709105639/https://en.wikipedia.org/wiki/Social_machine' data-versiondate='2019-07-09T10:56:39Z'>social machine</a></cite> consists of people and documents, connected by Web standards, with dokieli acting as just one possible catalyst. Different Web applications can incorporate any of dokieli’s functions and implement the principles to varying extent. Since the data is decoupled from the application, we avoid the <em>walled garden</em> problem of current social platforms today, as well as various forms of vendor lock-in with some applications, even if they are are operating in a loosely coupled environment. In essence, it is possible to swap dokieli with another client application and still communicate with any standards-compliant server. This is one of the key steps to liberating actors to create and share without setting burdens on URI, data and application control.</p> <p>A couple of important sociotechnical challenges remain, and implications on autonomy. Resources might want to indicate in a granular way which actions they support or encourage, such as assessments, bookmarking, or sharing, and perhaps conditions about which notifications should be sent when any of these events take place. In order to encourage positive behaviour, we might want ways to provide moderation, and solutions to prevent harassment and abuse. Closely related is the issue of identity, pseudonymity and anonymity, and its relation with trust and verification. There are also social implications of dokieli’s Web browser extension and social graph. For instance, the ability of annotating and sharing information even if the primary article does not have an inbox or an annotation service. There is no administrator that oversees everything, but that each actor has control privileges to what they are given. Having the ability to annotate anything and stored at a preferred location enables actor autonomy. This can be contrasted with annotation systems that may restrict annotations from getting created with particular targets or annotations having particular information in its body.</p> </div> </section> </div> </section> </div> </section> <section resource='#linked-research' rel='schema:hasPart' inlist='' id='linked-research'> <h2 property='schema:name'>Linked Research</h2> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='https://en.wikiquote.org/wiki/Buckminster_Fuller'> <p>You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.</p> <footer>Attributed to <cite><a rel='cito:includesQuotationFrom' href="https://en.wikiquote.org/wiki/Buckminster_Fuller" data-versionurl='https://web.archive.org/web/20190625051016/https://en.wikiquote.org/wiki/Buckminster_Fuller' data-versiondate='2019-07-09T21:23:10Z'>Buckminster Fuller</a></cite>.</footer> </blockquote> <p>The <cite><a href="https://csarven.ca/linked-research-decentralised-web/#motivation">Motivation</a></cite> of this thesis along with the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-goals">Research Goals</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-questions">Research Questions</a></cite> can be used as a lens for configuring <em>a</em> scholarly communication ecosystem. I generalise the configuration to formulate the <cite><a rel='cito:discusses' href="https://linkedresearch.org/" data-versionurl='https://web.archive.org/web/20190709212309/https://linkedresearch.org/' data-versiondate='2019-07-09T21:23:09Z'>Linked Research</a></cite> (<abbr title='Linked Research'>LR</abbr>) notion and initiative.</p> <p>Next, I will formulate a set of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#design-principles">Design Principles</a></cite> by generalising the core qualities of the concepts and implementations exhibited in this thesis.</p> <section resource='#design-principles' rel='schema:hasPart' inlist='' id='design-principles'> <h3 property='schema:name'>Design Principles</h3> <div property='schema:description' datatype='rdf:HTML'> <p>Based on the observations and patterns involving the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#knowledge-goals">Knowledge Goals</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#technical-research-problems">Technical Research Problems</a></cite>, I state the <em>Linked Research design principles</em>:</p> <nav> <ul> <li><a href="https://csarven.ca/linked-research-decentralised-web/#autonomy">Autonomy</a></li> <li><a href="https://csarven.ca/linked-research-decentralised-web/#universal-access">Universal access</a></li> </ul> </nav> <p>With respect to the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#effects-and-artifacts">Effects and Artifacts</a></cite>, the design principles are intended to <q>enhance</q> the physical, social, psychological, and intellectual functions of an <em>actor</em> in context of the Web and scholarly communication. Furthermore, they primarily <q>obsolesces</q> centralisation and linearity of information; <q>retrieves</q> communal involvement; and when pressed to an extreme, they can <q>reverse into</q> information overload, collectivism, and third-party control.</p> <section resource='#autonomy' rel='schema:hasPart' inlist='' id='autonomy'> <h4 property='schema:name'>Autonomy</h4> <div property='schema:description' datatype='rdf:HTML'> <p>Today it would be difficult to think of a Web without social functions. Perhaps the Web’s support and ability to facilitate social interactions – above anything else – contributed to the transformation of societies in the last quarter century. The Web, as a medium, expedited all patterns of social interrelationships in a manner that can be more efficiently documented, discovered and reused. It necessitates that system designs should be inclusive and facilitate <em>involvement</em> within the range of an actor’s autonomy. Furthermore, actors should be able to use socially-aware decentralised applications that can perform the core functions in scholarly communications – registration, awareness, certification, and archiving.</p> <p>The systems that are designed to fulfill the functions in scholarly communication should operate with the expectation of autonomous participation. One value that can be upheld through the principle of autonomy is to not have any constraints on where units of communication can exist on the Web. For instance, the actors of a system can have the freedom to designate identifiers to their artifacts: profile(s), articles, annotations, notifications, data, and so forth, as well as where they can be retrieved from. Similarly, the actor’s autonomy to use preferred applications to interact with data. The <em>decentralisation</em> of the information space is <em>a</em> means to gain autonomy on the Web. With respect to <em>delocalisation</em>, units of information, eg. personal Web identifiers (WebID) controlled by their owners, can be used across different systems as they need not be tied to any particular URI space or system, and are free from external influences. Ultimately, autonomy is the right to freely choose and maintain sovereignty over URI ownership and data spaces, and the ability to use or switch between applications that can interact with them. Likewise, actors’ autonomy would not obstruct them to use shared URI spaces if they so desire.</p> <p>Any type of object, eg. scientific literature, research objects, personal websites, profiles and social graphs, can be made available on the Web provided that the <em>actors</em> have sufficient control over their URIs, or delegate to entities they trust. Through URI ownership, deconstructing and decoupling of resources can take place.</p> <p>The contents of HTTP URLs may be logically centralised or decentralised. For example, the media representations found at the URL can embed compound or dynamic components that are dependent on external (remote) URLs. In this particular case, the persistence of the external URLs, as well as whether their contents are immutable is a design concern.</p> <blockquote cite='http://www.un.org/en/universal-declaration-human-rights/'> <h6>Article 19.</h6> <p>Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.un.org/en/universal-declaration-human-rights/" data-versionurl='https://web.archive.org/web/20190709212312/https://www.un.org/en/universal-declaration-human-rights/' data-versiondate='2019-07-09T21:23:12Z'>Universal Declaration of Human Rights</a></cite>, United Nations</footer> </blockquote> <p>Autonomy is an important ingredient to fully exercise <em>freedom of expression</em>, which is a civil liberty. If a URI is governed by a third-party entity, ie. other than the researcher who shares the contents of a scientific resource, then it is possible that the URLs may no longer resolve, and the content may be subject to change in ways beyond researcher’s control. Whereas without intermediaries, the researcher has sufficient access and control as to what happens at their URI space. This gives actors the ability to exercise <em>self-registration</em> with respect to the registration function. Trust in this case may be placed on the Web space that is closer to the owner and publisher of the URI.</p> <p>The right to have <em>freedom of expression</em> necessitates that the articulation of scholarly contributions are not subject to arbitrary interference from third-parties, and allow actors to seek the most appropriate ways to co-create and co-participate. We inherit:</p> <p id='freedom-of-expression-constraints'>Freedom of expression in context of academic communication does not entail that any arbitrary artifact eg. self-published articles, passes quality-control and certification from the community, or ethically appropriate. By free expression, I mean that actors should not be subject to <em>technical constraints</em> on how they communicate their discoveries and knowledge with the rest of the world. That is, to have the means to <em>shape</em> machine-readable structure and semantics, presentations, and interactions. Enrolling in the certification process of some literature can for instance mean that reviewers may engage in any aspect and granularity of the contribution itself, eg. a weakness for an argument in one literature can be contrasted (and linked) with a scientific result presented in another literature. Academic freedom to express entails that researchers caring out their work comply with discipline-specific methods and meet standards related to accuracy, precision, completeness, reliability, relevance, and so forth. Furthermore, as with human rights, the ability to express does not grant unethical practices at the expense of any person or group. Technical expressions that are harmful or discriminatory, eg. inaccessible content, constrained presentations, or undesirable user interactions, should be avoided.</p> <p>The concerns about authenticity, persistence and permanence of data and knowledge is constant regardless of where the resources reside on the Web. Hence, strictly trusting scholarly knowledge based on its registered location is ultimately fragile in that it is unavoidable to prevent all sorts of threats to preservation in a long enough timeline. However, since the registration function is decoupled from archiving, we are able to delegate that trust to a third-party that is best fit to handle the preservation and to some extent guarantee the authenticity of the units of communication. This is particularly important as archival and trust are part of the global scholarly commons.</p> <p id='natural-centralisation'>In context of the Web, technical or social decentralisation at all levels is unattainable. Even open Web standards are based on social and technical decisions, and can be seen as a form of centralisation in that conforming systems cluster and coordinate among themselves. Similarly, centralisation naturally occurs in social systems like concepts or language, eg. machine-readable vocabularies restrict the set of uses of a system. The alternative pushed to the extreme where each unit is expressed in their own language and without any language mapping, puts us in a situation similar to that of the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Tower_of_Babel" data-versionurl='https://web.archive.org/web/20190709212311/https://en.wikipedia.org/wiki/Tower_of_Babel' data-versiondate='2019-07-09T21:23:11Z'>Tower of Babel</a></cite>, ie. being incapable of understanding each other. Hence, autonomy in a system where researchers are isolated or information is not interpretable renders freedom of expression meaningless.</p> <p typeof='skos:Concept' resource='#self-publishing' rel='cito:discusses' id='self-publishing'><strong property='skos:prefLabel'>Self-publishing</strong>: <span property='skos:definition'>In context of <cite><a rel='cito:extends' href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite>, <em>self-publishing</em> entails that an actor can register identifiers for their content, shape and store data where they have access to, set access control policies, and use preferred applications to achieve them.</span></p> </div> </section> <section resource='#universal-access' rel='schema:hasPart' inlist='' id='universal-access'> <h4 property='schema:name'>Universal Access</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The desire to have scientific knowledge accessible and serve humanity for good was expressed through the concept of <cite>memex</cite> – to supplement collective memory – <cite><a rel='cite:citesForInformation' href="http://www.ps.uni-saarland.de:80/~duchier/pub/vbush/vbush.txt" data-versionurl='https://web.archive.org/web/20100115164714/http://www.ps.uni-saarland.de:80/~duchier/pub/vbush/vbush.txt' data-versiondate='2010-01-15T16:47:14Z'>As We May Think</a></cite>, <a href="https://en.wikipedia.org/wiki/Vannevar_Bush">Vannevar Bush</a>, 1945.</p> <p>A globally democratic scientific and scholarly inquiry and progress fundamentally depends upon a well-informed citizenry. For societies to be well informed, the people must have ready access to information about the knowledge output of the scholarly community, the actions of the public officials based on available knowledge, and the development of public policies. The philosophical underpinnings of the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Freedom_of_information" data-versionurl='https://web.archive.org/web/20190709212311/https://en.wikipedia.org/wiki/Freedom_of_information' data-versiondate='2019-07-09T21:23:11Z'>Freedom of Information</a></cite> (<abbr title='Freedom of Information'>FOI</abbr>) social movement trace back to the Age of Enlightenment. Over the centuries, governments have incorporated constitutional, legal, and historical expressions of the people’s right to obtain public information. A global freedom of information movement can be traced to the <cite>World Press Conference</cite> in 1893. The movement revolved around the need for unrestricted "access to news at its source and free transmission" of the news – <cite>Freedom of Information Laws</cite>, p. 53-54, urn:isbn:0123876729. One parallel movement in scholarly communication today is under the umbrella of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#open-science">Open Science</a></cite>.</p> <p><em>Universal access</em> to information can be attributed to two distinct but related areas:</p> <ul> <li>freedom to inquire; the right and means to access information</li> <li>accessibility; the quality of accessible information</li> </ul> <p id='human-rights'><strong>Human Rights</strong>: On the actors’ rights and fostering an ecosystem for reuse, we borrow from the <cite>Universal Declaration of Human Rights</cite>:</p> <blockquote cite='http://www.un.org/en/universal-declaration-human-rights/'> <h6>Article 27.</h6> <p>(1) Everyone has the right freely to participate in the cultural life of the community, to enjoy the arts and to share in scientific advancement and its benefits.</p> <p>(2) Everyone has the right to the protection of the moral and material interests resulting from any scientific, literary or artistic production of which he is the author.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.un.org/en/universal-declaration-human-rights/" data-versionurl='https://web.archive.org/web/20190709212312/https://www.un.org/en/universal-declaration-human-rights/' data-versiondate='2019-07-09T21:23:12Z'>Universal Declaration of Human Rights</a></cite>, United Nations</footer> </blockquote> <p id='free-culture'><strong>Free Culture</strong>: In order to disseminate scientific information on the Web with minimal friction, usage rights and responsibilities should permit anyone to share, reuse, and remix information under various conditions. We align this with existing movements like Open Science, and the <cite><a rel='cito:citesForInformation' href="https://en.wikipedia.org/wiki/Free-culture_movement" data-versionurl='https://web.archive.org/web/20190729124645/https://en.wikipedia.org/wiki/Free-culture_movement' data-versiondate='2019-07-29T12:46:45Z'>free-culture movement</a></cite> so that both humans and machines can participate by modifying and (re)distributing units of communication without delay in the form of <q>free content and open content</q> that is network-accessible through open communication protocols. Policies about the permissions and obligations should be human- and machine-readable to facilitate accurate, fair, secure, and privacy preserving use.</p> <p id='accessibility'><strong>Accessibility</strong>: With the motivation to create and encourage inclusiveness and diversity towards accessible and usable communication for a Web that works for everyone, we refer to W3C’s accessibility fundamentals:</p> <blockquote cite='https://www.w3.org/WAI/fundamentals/accessibility-usability-inclusion'> <p><strong>Accessibility</strong>: addresses discriminatory aspects related to equivalent user experience for people with disabilities.</p> <p><strong>Usability</strong>: is about designing products to be effective, efficient, and satisfying.</p> <p><strong>Inclusion</strong>: is about diversity, and ensuring involvement of everyone to the greatest extent possible.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="https://www.w3.org/WAI/fundamentals/accessibility-usability-inclusion/" data-versionurl='https://web.archive.org/web/20180512222656/http://www.w3.org/WAI/fundamentals/accessibility-usability-inclusion/' data-versiondate='2018-05-12T22:26:56Z'>Accessibility, Usability, and Inclusion</a></cite>, W3C, 2016</footer> </blockquote> <p>The <abbr title='Architecture of the World Wide Web'>AWWW</abbr> states that agents, <em>interpret</em> available <q cite='https://www.w3.org/TR/webarch/#dereference-details'>representation according to the data format specification that corresponds to the representation’s Internet Media Type.</q> Here we can use the term <em>interpretation</em> in the general sense for both human and machine consumers of representations. An interpretation entails that a given content can be identified or discovered; comprehended in context of where and how it is used; as well being to put it to further use. Scientific and scholarly knowledge representations using information models that are based on Web standards brought through open consensus benefit from wide reuse.</p> <p id='interoperability'><strong>Interoperability</strong>: In order to achieve cooperative systems, interoperable mechanisms are essential. One widely successful approach to have interoperable systems is through the adoption of open standards for protocols and languages that are arrived through open consensus. As per Linked Data design principles, this is accomplished with HTTP for communication, URI for identification, and RDF as language. While a decentralised system can enable each entity to be autonomous, some level of agreement is needed on the network for communication to take place. Systems that are interoperable by design have the benefit of interacting with other systems without having prior or out-of-band knowledge about them. This kind of interoperability can be contrasted with <em>post-facto</em> interoperability that is typically due to propriety designs at the discretion of each party, and then bridging the systems with application adapters and semantic mappings. In such cases, given two systems, one system adopts the others’ protocol, API, or format, or they build specialised mechanisms in order to communicate. Systems that do not use open standards or have specialised technological extensions that are only useful within their own environment are generally considered to be vendor lock-in solutions. Here we seek agreements on Web standards established through open consensus, as opposed to independent and individual design choices made in application implementations.</p> <p>Systems vary on their level of interoperability. For instance, a service may require their own user account or authentication mechanism to be used when interacting with data on the Web; users may have to use a particular application to access, create, share or reuse information; applications may need to be reconfigured to reuse the information that is created elsewhere. In the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#acid-test">Acid Test</a></cite> section I propose criteria to self-assess accessibility and interoperability of artifacts in scholarly communication.</p> <p>There is a balance between free expression of structure and semantics (through autonomy) and the degree of a communication (interoperability) that different parties can achieve. At the same time, as concentration or centralisation of ideas is ultimately inescapable, interoperability influences or limits the choices a system can take. Hence, we embrace the notion of interoperability as a trade-off, ie. it is better to seek and adapt design patterns that are expected or intended to be useful for the ecosystem. Hence, interoperability is a social construct with the intention of balancing autonomy and cooperative systems.</p> <p>In order to have optimal means of discovery, exchanging, and reusing information, systems and data should opt for open standards and widely acknowledged best practices wherever possible. Linked Data technologies include some of the essentials to achieve this, and are well-suited to fulfill the four functions of scholarly communication on the Web.</p> <p>Thus we refer to <q>universal access</q> in the widest sense that any agent; human, machine, or other can effectively access information and participate in interacting with different systems.</p> </div> </section> </div> </section> <section resource='#call-for-linked-research' rel='schema:hasPart' inlist='' id='call-for-linked-research'> <h3 property='schema:name'>Call for Linked Research</h3> <div property='schema:description' datatype='rdf:HTML'> <p>In this section I highlight research community adoption and a range of practices under the notion of Linked Research.</p> <p><cite><a rel='cito:usesConclusionsFrom' href="https://csarven.ca/call-for-linked-research" data-versionurl='https://web.archive.org/web/20190709212311/https://csarven.ca/call-for-linked-research' data-versiondate='2019-07-09T21:23:11Z'>Call for Linked Research</a></cite>, Capadisli, 2014, expresses the shortcomings of the traditional methods of research communication in the Semantic Web community, and proposes approaches that can be adopted to conduct information exchange more effectively. The initiative aims to:</p> <ul> <li>Enable and encourage researchers to use personal Web identities and decentralised Web publishing.</li> <li>Create and exchange human- and machine-readable units of communication by way of <q>Linked Open Data</q>.</li> <li>Provide suitable user interfaces and interactions to communicate information effectively.</li> <li>Participation in open discourse.</li> </ul> <p>Some aspects of <em>Linked Research</em> has been implemented by <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/calls#reviewers" data-versionurl='https://web.archive.org/web/20190729124645/https://linkedresearch.org/calls' data-versiondate='2019-07-29T12:46:45Z'>individual researchers</a></cite>, teams, as well as academic communities:</p> <ul> <li>Public Call for Contributions: <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/calls" data-versionurl='https://web.archive.org/web/20190709212312/https://linkedresearch.org/calls' data-versiondate='2019-07-09T21:23:12Z'>Call for (Enabling) Linked Research</a></cite></li> <li>Self-publishing: <cite><a rel='cito:citesAsEvidence' href="https://github.com/linkeddata/dokieli/wiki#examples-in-the-wild" data-versionurl='https://web.archive.org/web/20190709212309/https://github.com/linkeddata/dokieli/wiki' data-versiondate='2019-07-09T21:23:09Z'>Examples in the Wild</a></cite></li> <li>Public Awareness: <cite><a rel='cito:citesAsEvidence' href="https://2018.eswc-conferences.org/call-for-papers/" data-versionurl='https://web.archive.org/web/20190407112345/https://2018.eswc-conferences.org/call-for-papers/' data-versiondate='2019-04-07T11:23:45Z'>Linked Open Research Cloud</a></cite> at <cite><a rel='cito:citesAsEvidence' href="https://eswc-conferences.org/" data-versionurl='https://web.archive.org/web/20190407113407/https://eswc-conferences.org/' data-versiondate='2019-04-07T11:34:07Z'>Extended Semantic Web Conference</a></cite></li> <li>Proceedings Publishing/Archiving: <cite><a rel='cito:citesAsEvidence' href="http://ceur-ws.org/" data-versionurl='https://web.archive.org/web/20190407113234/http://ceur-ws.org/' data-versiondate='2019-04-07T11:32:34Z'>CEUR-WS.org</a></cite></li> <li>Conferences: <cite><a rel='cito:citesAsEvidence' href="https://eswc-conferences.org/" data-versionurl='https://web.archive.org/web/20190407113407/https://eswc-conferences.org/' data-versiondate='2019-04-07T11:34:07Z'>Extended Semantic Web Conference</a></cite>, <cite><a rel='cito:citesAsEvidence' href="https://en.wikipedia.org/wiki/International_Semantic_Web_Conference" data-versionurl='https://web.archive.org/web/20190407113559/https://en.wikipedia.org/wiki/International_Semantic_Web_Conference' data-versiondate='2019-04-07T11:35:59Z'>International Semantic Web Conference</a></cite></li> <li>Workshops: <cite><a rel='cito:citesAsEvidence' href="https://iswc2019.desemweb.org/" data-versionurl='https://web.archive.org/web/20190407112905/https://iswc2019.desemweb.org/' data-versiondate='2019-04-07T11:29:05Z'>Decentralizing the Semantic Web</a></cite>, <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/events/eswc2017/" data-versionurl='https://web.archive.org/web/20190407112934/https://linkedresearch.org/events/eswc2017/' data-versiondate='2019-04-07T11:29:34Z'>Enabling Decentralised Scholarly Communication</a></cite>, <cite><a rel='cito:citesAsEvidence' href="https://semsci.github.io/SemSci2018/" data-versionurl='https://web.archive.org/web/20190407113004/https://semsci.github.io/SemSci2018/' data-versiondate='2019-04-07T11:30:04Z'>Enabling Open Semantic Science</a></cite>, <cite><a rel='cito:citesAsEvidence' href="http://events.linkeddata.org/ldow2017/" data-versionurl='https://web.archive.org/web/20190407112736/http://events.linkeddata.org/ldow2017/' data-versiondate='2019-04-07T11:27:36Z'>Linked Data on the Web</a></cite>, <cite><a rel='cito:citesAsEvidence' href="https://researchobject.github.io/ro2019/" data-versionurl='https://web.archive.org/web/20190604144646/https://researchobject.github.io/ro2019/' data-versiondate='2019-06-18T14:46:46Z'>Research Objects</a></cite>, <cite><a rel='cito:citesAsEvidence' href="https://linkedresearch.org/events/the-web-conf-2018/" data-versionurl='https://web.archive.org/web/20190407113038/https://linkedresearch.org/events/the-web-conf-2018/' data-versiondate='2019-04-07T11:30:38Z'>Researcher-Centric Scholarly Communication</a></cite>, <cite><a rel='cito:citesAsEvidence' href="http://cs.unibo.it/save-sd/2017/" data-versionurl='https://web.archive.org/web/20190407111356/http://cs.unibo.it/save-sd/2017/' data-versiondate='2019-04-07T11:13:56Z'>SAVE-SD</a></cite>, <cite><a rel='cito:citesAsEvidence' href="http://semstats.org/" data-versionurl='https://web.archive.org/web/20190407113143/http://semstats.org/' data-versiondate='2019-04-07T11:31:43Z'>Semantic Statistics</a></cite>, <cite><a rel='cito:citesAsEvidence' href="http://sociam.org/wow2017/" data-versionurl='http://web.archive.org/web/20170421141807/http://sociam.org/wow2017/' data-versiondate='2017-04-21T14:18:07Z'>Web Observatories, Social Machines and Decentralisation Workshop</a></cite></li> <li>Tutorials: <cite><a rel='cito:citesAsEvidence' href="https://indico.cern.ch/event/405949/contributions/2486377/" data-versionurl='https://web.archive.org/web/20190407111826/https://indico.cern.ch/event/405949/contributions/2486377/' data-versiondate='2019-04-07T11:18:26Z'>Authoring, annotations, and notifications in a decentralised Web</a></cite> (<a rel='cito:discusses' href="https://indico.cern.ch/event/405949/">Innovations in Scholarly Communication, OAI</a>), <cite><a rel='cito:citesAsEvidence' href="http://swib.org/swib17/" data-versionurl='https://web.archive.org/web/20190407112003/http://swib.org/swib17/' data-versiondate='2019-04-07T11:20:03Z'>Authoring, Annotations, and Notifications in a decentralised Web with Dokieli</a></cite> (<a rel='cito:discusses' href="http://swib.org/">Semantic Web in Libraries</a>)</li> </ul> <section resource='#acid-test' rel='schema:hasPart' inlist='' id='acid-test'> <h4 property='schema:name'>Acid Test</h4> <div property='schema:description' datatype='rdf:HTML'> <p>An <em>acid test</em> based on the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#design-principles">Design Principles</a></cite> can be used to evaluate systems’ openness, accessibility, decentralisation, interoperability in scholarly communication on the Web. Such test does not mandate a specific technology, therefore design challenges can be met by different solutions. The following assumptions can be adopted when addressing technical design problems in scholarly communication.</p> <dl id='acid-test-assumptions'> <dt>Assumptions</dt> <dd> <ul> <li rel='schema:hasPart' id='acid-test-assumptions-open-standards'><span typeof='doco:Sentence' property='schema:description' about='#acid-test-assumptions-open-standards'>All interactions conform with open standards, with 1) no dependency on proprietary APIs, protocols, or formats, and 2) no commercial dependency or priori relationship between the groups using the workflows and tools involved.</span></li> <li rel='schema:hasPart' id='acid-test-assumptions-mechanism-implementations'><span typeof='doco:Sentence' property='schema:description' about='#acid-test-assumptions-mechanism-implementations'>All mechanisms are independently implemented by at least two interoperable tool stacks.</span></li> <li rel='schema:hasPart' id='acid-test-assumptions-accessible'><span typeof='doco:Sentence' property='schema:description' about='#acid-test-assumptions-accessible'>Information and interactions are available for free, accessible, and reusable for any agent; human, machine, or other.</span></li> <li rel='schema:hasPart' id='acid-test-assumptions-interpretable'><span typeof='doco:Sentence' property='schema:description' about='#acid-test-assumptions-interpretable'>Information is discoverable and interpretable for any agent; human, machine, or other.</span></li> <li rel='schema:hasPart' id='acid-test-assumptions-prior-knowledge'><span typeof='doco:Sentence' property='schema:description' about='#acid-test-assumptions-prior-knowledge'>All interactions are possible without prior out-of-band knowledge of the user’s environment or configuration.</span></li> </ul> <span rel='schema:hasPart'><span typeof='doco:Sentence' resource='#acid-test-assumptions-no-spoon' property='schema:description' content='There is no spoon.'></span></span> </dd> </dl> </div> </section> <section resource='#linked-open-research-cloud' rel='schema:hasPart' inlist='' id='linked-open-research-cloud'> <h4 property='schema:name'>Linked Open Research Cloud</h4> <div property='schema:description' datatype='rdf:HTML'> <p>The <cite><a rel='cito:usesConclusionsFrom' href="https://linkedresearch.org/cloud" data-versionurl='https://web.archive.org/web/20190709212313/https://linkedresearch.org/cloud' data-versiondate='2019-07-09T21:23:13Z'>Linked Open Research Cloud</a></cite> (<abbr title='Linked Open Research Cloud'>LORC</abbr>) project aims to increase the awareness, discovery, and reuse of resources about scholarly communication on the Web in the form of publicly accessible Linked Data. It is intended to fulfill the <em>awareness</em> function of scientific communication.</p> <p>It pursues this by accepting notifications <em>about</em> scholarly activities on the Web, making them available for reuse, and generates an interactive visualisation for additional exploration. Consequently, LORC can assist researchers with their applications to discover pertinent scholarly information on the Web, and connect their knowledge with the global knowledge graph. For the wider scientific community, LORC can facilitate scientometrics studies and decision making based on the scholarly commons ecosystem.</p> <p>To this end, LORC, as a unit of communication, advertises its <em>inbox</em> to receive <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/ldn/" data-versionurl='https://web.archive.org/web/20190709211912/https://www.w3.org/TR/ldn/' data-versiondate='2019-07-09T21:19:12Z'>Linked Data Notifications</a></cite> about scholarly activities, eg. publication of scholarly articles, <cite><a rel='cito:citesAsAuthority' href="https://www.w3.org/TR/annotation-model/" data-versionurl='https://web.archive.org/web/20190709212308/https://www.w3.org/TR/annotation-model/' data-versiondate='2019-07-09T21:23:08Z'>Web Annotations</a></cite> (eg. assessments, replies), citations, call for contributions, proceedings, scientific observations and workflows, arguments, funding, decisions, and so forth. The notifications are licensed with <cite><a rel='cito:citesAsAuthority' href="https://creativecommons.org/publicdomain/zero/1.0/" data-versionurl='https://web.archive.org/web/20190709212313/https://creativecommons.org/publicdomain/zero/1.0/' data-versiondate='2019-07-09T21:23:13Z'>Creative Commons CC0 1.0 Universal</a></cite>.</p> <p>The notifications serve as (pre-)registrations of research and scholarly activities, hence play a role in fulfilling the certification function. The inbox and the notifications are archivable. Furthermore, LDN can be used to notify institutional repositories, Web crawling agents, or archives about the existence of or updates to Web resources.</p> <p id='lorc-lodc'>More generally, the LORC model to accepting notifications about Web resources can be used to update <cite><a rel='cito:citesAsPotentialSolution' href="https://lod-cloud.net/" data-versionurl='https://web.archive.org/web/20190608095720/https://lod-cloud.net/' data-versiondate='2019-06-08T09:57:20Z'>Linked Open Data Cloud</a></cite>’s dataset metadata as well as in automating the generation of an accurate diagram; as initially outlined in <cite><a rel='cito:citesAsPotentialSolution' href="https://lists.w3.org/Archives/Public/public-lod/2017Jun/0020.html" data-versionurl='https://web.archive.org/web/20190608083520/https://lists.w3.org/Archives/Public/public-lod/2017Jun/0020.html' data-versiondate='2019-06-08T08:35:20Z'>Re: Please update your resource in the LOD Cloud Diagram</a></cite>, Capadisli, 2017. Based on the idea of the LORC, <cite><a rel='cito:citesAsPotentialSolution' href="http://events.linkeddata.org/ldow-lddl/papers/LDOW-DeBattista-et-al.pdf" data-versionurl='https://web.archive.org/web/20190608102422/http://events.linkeddata.org/ldow-lddl/papers/LDOW-DeBattista-et-al.pdf' data-versiondate='2019-06-08T10:24:22Z'>Is the LOD cloud at risk of becoming a museum for datasets? Looking ahead towards a fully collaborative and sustainable LOD cloud</a></cite>, Debattista, 2019, proposes an architecture for the LOD Cloud service and data pipeline which strives to improve the survival of the LOD Cloud.</p> </div> </section> <section resource='#linked-specifications-reports' rel='schema:hasPart' inlist='' id='linked-specifications-reports'> <h4 property='schema:name'>Linked Specifications, Test Suites, and Implementation Reports</h4> <div property='schema:description' datatype='rdf:HTML'> <p>To demonstrate the extensibility of units of communication within the frame of Linked Research, I extend the LDN <cite><a href="https://csarven.ca/linked-research-decentralised-web/#test-suite-and-implementation-reports">Test Suite and Implementation Reports</a></cite> and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data-notifications-implementations">Implementations</a></cite> and describe the development of an interlinked, human- and machine-readable W3C Recommendation, its test suite, and implementation reports as a whole.</p> <p>The missing connection among existing specifications and test reports is that a uniform resource discovery is not possible between the test reports and the individual conformance criteria in the specifications, where a given information at a particular URL is both human- and machine-processable (see <cite><a rel='cito:citesAsDataSource' href="https://csarven.ca/linked-specifications-reports#related-work" data-versionurl='https://web.archive.org/web/20190709212249/https://csarven.ca/linked-specifications-reports' data-versiondate='2019-07-09T21:22:49Z'>Linked Specifications, Test Suites, and Implementation Reports Related Work</a></cite>.)</p> <p>Having the specifications and implementation reports interlinked and retrievable can facilitate their automated discovery and reuse. One use case is to be able to find applications that match a certain conformance criteria, eg. in order to have fine-grained bundling of software packages. While this would typically include "normative requirements", tests can potentially capture and reveal optional features of specifications. Prospective consumers of the compliance reports can be application developers finding appropriate software for use, as well as automatic software package managers.</p> <p>The following figure <cite><a href="https://csarven.ca/linked-research-decentralised-web/#figure-linked-specifications-reports">Linked Specifications Reports</a></cite> depicts an overview of linking the LDN specification, its test suite, the generated implementation report for the dokieli project, reports summary, and an article citing the specification.</p> <figure resource='#figure-linked-specifications-reports' rel='schema:hasPart' id='figure-linked-specifications-reports'> <object width='640' type='image/svg+xml' rel='schema:image' height='427' data="https://csarven.ca/media/images/articles/linked-specifications-reports.svg"></object> <figcaption property='schema:name'>An overview of linking a specification, test suite, generated implementation report for the project, reports summary, and an article citing the specification</figcaption> </figure> <p>The information patterns in the LDN <a href="https://csarven.ca/linked-research-decentralised-web/#a-decentralised-notifications-protocol">specification</a> and the <a href="https://csarven.ca/linked-research-decentralised-web/#test-suite-and-implementation-reports">implementation reports</a> sections are reusable across other specifications and related components. Sources are available from:</p> <ul> <li>The specification: <a href="https://www.w3.org/TR/ldn/">https://www.w3.org/TR/ldn/</a></li> <li>The test suite: <a href="https://linkedresearch.org/ldn/tests/">https://linkedresearch.org/ldn/tests/</a></li> <li>Implementation reports summary and individual reports: <a href="https://linkedresearch.org/ldn/tests/summary">https://linkedresearch.org/ldn/tests/summary</a></li> </ul> <p>The test suite uses the <cite><a rel='cito:citesAsEvidence' href="https://github.com/csarven/mayktso" data-versionurl='https://web.archive.org/web/20190709212253/https://github.com/csarven/mayktso' data-versiondate='2019-07-09T21:22:53Z'>mayktso</a></cite> server as the LDN receiver, but any conformant receiver implementation will work here.</p> <p>The notifications carrying the reports have an HTML+RDFa representation (alternatively in other RDF serialisations upon content negotiation). The scholarly article on <cite><a rel='cito:citesAsEvidence' href="https://csarven.ca/linked-data-notifications" data-versionurl='https://web.archive.org/web/20190709212249/https://csarven.ca/linked-data-notifications' data-versiondate='2019-07-09T21:22:49Z'>Linked Data Notifications</a></cite> uses the <cite>CiTO</cite> vocabulary to cite the specification with <code>cito:citesAsAuthority</code>. Another peer reviewed article, <cite><a rel='cito:citesAsEvidence' href="https://csarven.ca/dokieli-rww" data-versionurl='https://web.archive.org/web/20190709212314/https://csarven.ca/dokieli-rww' data-versiondate='2019-07-09T21:23:14Z'>Decentralised Authoring, Annotations and Notifications for a Read-Write Web with dokieli</a></cite>, contextually cites the specification with <code>cito:citesAsPotentialSolution</code> from its <a rel='cito:citesAsEvidence' href="https://csarven.ca/dokieli-rww#architectural-overview">architectural overview</a> section, as well as the LDN Test Suite with <code>cito:citesAsAuthority</code> from its <a rel='cito:citesAsEvidence' href="https://csarven.ca/dokieli-rww#adoption">adoption</a> section. This is useful in that we can have articles linked to what is already available with minimal effort. Including this article that you are currently reading and interacting with.</p> <p>The realisation here is that we have everything operating in a way that is interoperable: the specification, test suite, discovery of the reports, and academic articles, all reusing existing vocabularies.</p> </div> </section> </div> </section> <section resource='#linked-research-forces-functions' rel='schema:hasPart' inlist='' id='linked-research-forces-functions'> <h3 property='schema:name'>Forces and Functions of Linked Research</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The forces and functions of scholarly communication in context of the Linked Research <cite><a href="https://csarven.ca/linked-research-decentralised-web/#design-principles">Design Principles</a></cite> are described as follows. The following is also a <em>conceptual</em> response to Van de Sompel’s call to investigate <q cite='https://www.youtube.com/watch?v=o4nUe-6Ln-8&amp;t=2792'>how to fulfill the core functions of scholarly communication using the technical paradigm</q> around self-publishing (<cite><a rel='cito:repliesTo' href="https://www.youtube.com/watch?v=o4nUe-6Ln-8&amp;t=2792" data-versionurl='https://web.archive.org/web/20190709212314/https://www.youtube.com/watch?v=o4nUe-6Ln-8&amp;t=2792' data-versiondate='2019-07-09T21:23:14Z'>Scholarly Communication: Deconstruct &amp; Decentralize?</a></cite>).</p> <p id='linked-research-forces'>The <em>forces</em>:</p> <dl> <dt>Actors</dt> <dd>Any <q cite='https://www.w3.org/TR/webarch/#def-web-agent'>Web agent</q> — person or software — may independently participate using identities they control, manage the accessibility of Web resources, shape content, as well as perform all of the functions in scholarly communication.</dd> <dt>Accessibility</dt> <dd>The retrievability and reusability of Web resources can be managed by actors with access controls.</dd> <dt>Content</dt> <dd>Content can be shaped as Linked Data and offer suitable presentations and interactions on the Open Web Platform.</dd> <dt>Applicability</dt> <dd>The need and relevance for research and their application can be mined from available content.</dd> </dl> <p id='linked-research-functions'>The <em>functions</em>:</p> <dl> <dt>Registration</dt> <dd>The ecosystem permits any actor to register units of communication by associating a URI to new or nonexistent resources.</dd> <dt>Awareness</dt> <dd>Any actor can distribute, discover, and reuse registered units of communication.</dd> <dt>Certification</dt> <dd>Any actor can perform quality-control and participate in a certification process with other actors.</dd> <dt>Archiving</dt> <dd>Any actor may trigger an archiving service to create snapshots of the content of registered Web resources.</dd> </dl> </div> </section> <section resource='#contextualising-linked-research' rel='schema:hasPart' inlist='' id='contextualising-linked-research'> <h3 property='schema:name'>Contextualising Linked Research</h3> <div property='schema:description' datatype='rdf:HTML'> <p>There is an abundance of scientific information on the Web. However, humans and machines have restricted access, are required to pay, or hindered to efficiently discover relations. The knowledge industry can better address societal challenges by embracing the virtues of the Web via decentralisation and interconnectivity of our collective knowledge.</p> <p id='mirroring-the-web'><strong>Mirroring the Web</strong>: LR is an initiative to strive to experience the full effects of the Web by observing and making use of its affordances. LR serves as a conceptual framework that describes how actors can control their interactions and data, make use of human- and machine-readable information through Web-interfaces, as well as how decentralised and socially-aware applications can exchange information on route to fulfilling the core functions of scholarly communication.</p> <p id='traps'><strong>Traps</strong>: Are there ideological and technology traps in LR? The traps can be seen as analogous to McLuhan’s <cite><a href="https://csarven.ca/linked-research-decentralised-web/#effect-reverses-into">Reverses Into</a></cite> effect. When the LR design principles are "pushed to the extreme", highly specialised and fine-grained centralised systems may emerge while still operating within the larger decentralised system on the Web. The degree of interoperability among the autonomous systems will vary. The artifacts may be controlled or managed by a new generation of entities in information spaces, eg. agents delegated to perform certain operations on behalf of an actor. Just as centralised publishing and distribution services currently exist for the dominating print-centric industry, the medium can still accommodate similar control over semantic and granular scientific resources. Individual autonomy without cooperation among the actors can make it difficult to establish and maintain trust.</p> <p id='reconfiguring-forces-and-functions'><strong>Reconfiguring Forces and Functions</strong>: The existing or prior models for information exchange that has been described so far primarily focus on institutional or subject repository driven scholarly communication. They inherently require the involvement of third-party service providers – for- or non-profit – which impose a particular arrangement of the coupling of the scholarly information space per <em>forces and functions</em>. For instance, traditional journals most commonly couple the registration and certification functions, whereas the configuration based on LR allows different actors to activate different functions on demand.</p> <p id='basic-costs'><strong>Basic Costs</strong>: From the perspective of an actor, the costs for a personal domain name along with data storage can be in the range of 100 USD per year with sufficient space for common Web publishing – "unlimited" amount of registration of units of communication and publishing any hypermedia. As for archiving services, it would be typically handled by "external" stakeholders with respect to the actor sharing their registered content.</p> <p id='social-barriers'><strong>Social Barriers</strong>: At this time, promotion and tenure are integral to the academic profession. The incentives in the academic profession predominantly relies on an ecosystem that is largely led by third-party publishers and services. LR can be seen as market driven from the perspective of self-driven actors in the system – similar to proponents of the preprint movement.</p> </div> </section> <section resource='#linked-research-as-a-paradigm' rel='schema:hasPart' inlist='' id='linked-research-as-a-paradigm'> <h3 property='schema:name'>Linked Research as a Paradigm</h3> <div property='schema:description' datatype='rdf:HTML'> <p>With the arrival and the adoption of the Web by the masses, a <q>paradigm shift</q> – from print to electric – had occurred. Sociotechnical advancements in the past three decades in context of the Web serves as an evidence of the shift towards using the Web as a primary environment (medium) for "normal" scholarly communication. Put into historical perspective, we are indeed operating in the early phase of this new paradigm. Thus, I content that all advancements – no matter how radical they appear or claim to be – still operate within the framework of the Web, regardless of content shaped as if for print, being accessible to the privileged, controlled by third-party entities, and so forth.</p> <p>I will use Kuhn’s five characteristics – <q><a href="https://csarven.ca/linked-research-decentralised-web/#paradigm-characteristics">accuracy, consistency, scope, simplicity, and fruitfulness</a></q> from <cite><a href="https://csarven.ca/linked-research-decentralised-web/#objectivity-value-judgment-and-theory-choice">Objectivity, Value Judgment, and Theory Choice</a></cite> – to measure the quality of <cite>Linked Research</cite> as a shared <em>sub-</em>paradigm for scholarly communication on the Web. The criteria is not intended to be exhaustive but, rather, used to cover varied aspects to situate LR. I provide these descriptions for the purpose of assisting <cite><a href="https://csarven.ca/linked-research-decentralised-web/#stakeholders">stakeholders</a></cite> gain a perspective on LR’s values, facilitate determining its adequacy for use, as well as to evaluate LR against other models.</p> <p>LR is based on the notion that the Web is inherently decentralised, social, and for everyone. Its design principles shapes data and systems to be built on open Web standards to carry out scholarly activities.</p> <p id='paradigm-accuracy'><strong>Accuracy</strong>: LR is based on the core mechanisms for identification, interaction, and representation of units of information on the Web. For instance, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#semantic-citations">semantic citations</a></cite> enables actors to build precise and contextual relations between atomic units, preserve author’s intentions at the time of citing, create a snapshot of the target while citing, as well as announce the citation activity. Thus, the creation, dissemination, and discovery of typed citations (as opposed to generic citations), brings forth an accurate representation of a network of shared knowledge. In this respect, LR is empirically adequate within the frame of what Linked Data vocabularies can potentially express irrespective of where the cited entities are located on the Web.</p> <p id='paradigm-consistency'><strong>Consistency</strong>: LR is consistent within itself as per the alignment with the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#architecture-of-the-web">Architecture of the Web</a></cite> and using open Web standards (in contrast to print-centric approaches on the Web). LR adopts the notion of actors having free and unrestricted access to knowledge, and thus consistent with several community principles and initiatives with the same goal, eg. the Open Access movement, self-archiving of literature so that it is readable by anyone for free, Semantic Web publishing. In this respect, LR is a continuation or aligned with the theme to democratise knowledge through the use of the Web. On the other hand, with respect to the common social practices around "publishing", LR is explicit about actors (content creators) ultimately deciding how to make their contributions. Hence, LR is inconsistent with the existing practice or market-driven notion of requiring actors to use particular third-party services in order to participate in scientific and knowledge exchange, as well as the way in which contributions are acknowledged by relevant stakeholders. From this perspective, LR’s notion of an "actor" can be interpreted to be <em>incommensurable</em> with the "actor" in the contemporary scholarly system. Furthermore, LR is currently a technology driven change as opposed to market driven change in that the added value comes from a way to reconfigure the interplay of forces and functions. However, it is not a paradigmatic change in terms of strategic repositioning and development of the forces and functions eg. who can ultimately be an actor and their potential competences.</p> <p id='paradigm-scope'><strong>Scope</strong>: LR has broad scope in that knowledge can be incrementally connected and extended (at any time) by using shared identifiers for units of communication and compatible data models. Through the use of languages like RDF, information discovery mechanism remains uniform.</p> <p id='paradigm-simplicity'><strong>Simplicity</strong>: LR is a "lossless" approach to representing and sharing information on the Web in that the content can be registered independently from its presentation and behaviour, thus making it possible to refer and connect units of communication at any level of abstraction. As machine-readable representation is encoded through the serialisation of the RDF language, the underlying information can be transformed into alternative serialisations without compromising its integrity. The Open Web Platform makes it possible to treat and handle content "as is" without requiring supplemental protocols, proprietary plug-ins, or external tools to create and share content.</p> <p id='paradigm-fruitfulness'><strong>Fruitfulness</strong>: Machine-readable information facilitates discovery and reuse of units of communication. As in the case of semantic citations, LR opens up the possibility to create as well as detect precise relations which were previously unnoted or disclosed through appropriate interoperable standards. Units of communication in the form of a knowledge graph being machine-identifiable and queryable has the affordance to detect or inspect patterns. For instance, open research questions can be found by analysing semantically structured literature, as well as detecting topical trends in research communities. LR’s design principles enables the use of existing and future open Web standards. Its continuous interoperability would permit LR to be evolvable.</p> <p>Whether to use the LR model will depend on the "value judgment" of stakeholders and the research community. LR is merely a reflection of using the Web to its full potential for scholarly communication. LR in and itself is not a new paradigm, but rather a conceptual specification that can be used as an <em>exemplar</em> reflecting the technical advancements.</p> </div> </section> </div> </section> <section typeof='deo:Conclusion' resource='#conclusions' rel='schema:hasPart' inlist='' id='conclusions'> <h2 property='schema:name'>Conclusions</h2> <div property='schema:description' datatype='rdf:HTML'> <p>The <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-goals">Research Goals</a></cite> of this thesis have been to investigate how decentralised, interoperable, and socially-aware Web applications can be designed to fulfill the core functions in scholarly communication while enabling actors with high degree of control in shaping and sharing their content. In this concluding section, I will present the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#research-questions-review">Research Questions Review</a></cite>, provide <cite><a href="https://csarven.ca/linked-research-decentralised-web/#interpretations">Interpretations</a></cite> of the findings, and offer <cite><a href="https://csarven.ca/linked-research-decentralised-web/#perspectives">Perspectives</a></cite> for future research.</p> <section resource='#research-questions-review' rel='schema:hasPart' inlist='' id='research-questions-review'> <h3 property='schema:name'>Research Questions Review</h3> <div property='schema:description' datatype='rdf:HTML'> <p>The sections <cite><a href="https://csarven.ca/linked-research-decentralised-web/#scholarly-communication-on-the-web">Scholarly Communication on the Web</a></cite>, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#structure-of-scholarly-information">Structure of Scholarly Information</a></cite>, and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralising-scholarly-communication">Decentralising Scholarly Communication</a></cite> served to explain the state of sociotechnical affairs in scholarly communication, as well as to identify knowledge gaps by answering the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#knowledge-questions">Knowledge Questions</a></cite> in order to address the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#technical-research-problems">Technical Research Problems</a></cite>. In this section I will review how the technical research problems have been answered.</p> <dl id='technical-research-problems-core-review'> <dt id='technical-research-problems-mechanisms-review'>What technical mechanisms, standards or protocols can be employed for decentralised information exchange on the Web?</dt> <dd>Linked Data Notifications is a communication protocol that describes how applications can perform the roles of <em>senders</em>, <em>receivers</em>, and <em>consumers</em> when exchanging notifications. Such decoupling of application roles in context of a client–server model permits interoperability between two classes of interactions, senders and receivers, or between consumers and receivers. These are atomic interactions in that they facilitate the design of loosely coupled systems that can exchange structured notifications as Linked Data. As such, the LDN protocol affords a high <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control-in-ldn">degree of control</a></cite> to actors in that they can use their preferred applications, store notifications where they prefer, switch between applications without relocating the notifications, and relocate the notifications without having to change applications. LDN’s underlying mechanism triggers <em>registration</em>, fulfills <em>awareness</em>, and can support fulfilling the <em>certification</em> and <em>archiving</em> <cite><a href="https://csarven.ca/linked-research-decentralised-web/#ldn-forces-functions">functions in scientific communication</a></cite> in a decentralised ecosystem.</dd> <dt id='technical-research-problems-artifacts-review'>How can Web technologies be employed to fulfill the core functions of scholarly communication in an open and interoperable way?</dt> <dd>A decentralised client application based on the <cite>Open Web Platform</cite> can be devised to allow independent actors to exchange units of communication with decentralised storage services. <cite>dokieli</cite> demonstrates how an assembly of Web standards can come together in a cohesive way in order to enable actors to reach a high <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control-in-dokieli">degree of control</a></cite> over their creations and social activities. HTTP is used to perform CRUD operations, (HTTP) URIs to identify Web resources, and Linked Data design principles to uniformly represent, link, and discover information. Actors can identify themselves through WebID (HTTP URI) whether tied to a real or fictitious entity, extend their profile descriptions, and authenticate against servers with mechanisms like WebID-TLS and WebID-OIDC. Machine-interpretable profile descriptions also enables the client application to adapt to accommodate actor’s capabilities. It is feasible to create and consume human- <em>and</em> machine-readable units of (scholarly) communication using standards such as RDFa in HTML, and be combined with other RDF serialisations based on technical specifications. A variety of Linked Data vocabularies can be used for semantic content authoring. The Linked Data Notifications protocol is used to exchange structured notifications. The Web Annotation Data Model and Protocol is used to associate resources and exchange annotations. The ActivityPub protocol is used to exchange social activities. The resources that dokieli generates are findable, accessible, interoperable, and reusable by other standards-compliant Linked Data applications. The resulting technical design operates under the notion of a scholarly ecosystem where applications are decoupled to fulfill the registration, awareness, certification, and archiving <cite><a href="https://csarven.ca/linked-research-decentralised-web/#dokieli-forces-functions">functions in scholarly communication</a></cite>.</dd> </dl> <p>In summary, Linked Data Notifications is a building block for diverse decentralised and loosely coupled Web applications to exchange notifications, and fulfills the <em>awareness</em> function in scholarly communication. dokieli demonstrates how <abbr title='Registration, Awareness, Certification, Archiving'>RACA</abbr>-aware Linked Data applications can be designed while fulfilling essential <cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralised-web-publishing">decentralised Web publishing</a></cite> requirements.</p> </div> </section> <section resource='#interpretations' rel='schema:hasPart' inlist='' id='interpretations'> <h3 property='schema:name'>Interpretations</h3> <div property='schema:description' datatype='rdf:HTML'> <p>In this section I reflect on what the findings of this thesis can mean to us and why we should care.</p> <p id='paygo-linked-data'><strong>PAYGO Linked Data</strong>: Publishing units of communication by following the Linked Data principles is similar to the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#paygo">pay as you go</a></cite> approach in dataspace systems in that knowledge on the Web can be extended incrementally without having everything up front or even a commitment to do so. This is particularly evident when disparate collection of units (or graphs) published by different entities can be connected when they share globally identifiable entities, as well as being universally useful when the content they identify is accessible.</p> <p id='fair-linked-data'><strong>FAIR Linked Data</strong>: For openly accessible resources, I note that the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-data">Linked Data</a></cite> approach and technology stack can fulfill the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#fair-guiding-principles">FAIR guiding principles</a></cite>. One generalisation that could be made from this is that Linked Data design principles can be adopted as a base requirement when building interoperable Web applications, which would also fulfill FAIR. After all, the FAIR principles does not prescribe the mechanisms for Web data, and as such, interoperability across applications for independently produced FAIR-conformance is not systematically guaranteed. In contrast, the Linked Data approach specifies the mechanisms within the framework of the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#architecture-of-the-web">Architecture of the Web</a></cite> and guarantees interop.</p> <p id='decentralised-identity-and-authentication'><strong>Decentralised Identity and Authentication</strong>: Applications primarily operate in a read-only information space in the absence of decentralised identities and authentication mechanisms. Client applications can be loosely coupled with servers when the source of authentication is distributed. Actors can use independently built client applications to perform CRUD operations provided that they can authenticate using their preferred WebID, as well as have the possibility to decide on the storage location of their data. Thus, it is possible to distribute scholarly contributions on the Web based on an actor (or contributor) centric model.</p> <p id='interoperable-applications'><strong>Interoperable Applications</strong>: Decoupling of the forces and functions in scholarly communication in context of the Web necessitates interoperable applications through the use of standard data formats and communication protocols. These class of applications need to only reflect user’s intent within the frame of a loosely coupled system design. That is, applications having semantic understanding of the affordances of the system makes it possible to automate information exchange. Consequently enabling users to switch between standards-compliant applications without interfering with existing data. For instance, HTTP, URI, and HTML are widely used standards on the Web enabling us to use any user agent (like a Web browser) on the Open Web Platform. Similarly, one layer up on the interoperability ladder would be to employ communication protocols and data formats that are capable of addressing specific use cases.</p> <p id='sociotechnical-centralisation'><strong>Sociotechnical Centralisation</strong>: We can observe different forms of centralisation within decentralisation. As we adopt mechanisms with the intention of decentralisation and interoperability, are we free of all forms of centralisation and vendor lock-ins? For instance, <cite><a href="https://csarven.ca/linked-research-decentralised-web/#uri-ownership">URI Ownership</a></cite> discussed the inherent social centralisation of DNS in that individuals merely rent domain names from registrars and maintain the mapping to physical servers. <cite><a href="https://csarven.ca/linked-research-decentralised-web/#semantic-organisation-of-notifications">Semantic Organisation of Notifications</a></cite> highlights one form of organic centralisation around the choice of Linked Data vocabularies that the applications make use of. Technical Web specifications for the most part reflect the group’s goals, cultural norms or biases. For instance, LDN was initially incubated in the <cite><a rel='cito:discusses' href="https://solid.mit.edu/" data-versionurl='https://web.archive.org/web/20190628115812/https://solid.mit.edu/' data-versiondate='2019-06-28T11:58:12Z'>Solid project</a></cite> within the understanding of a socially-aware read-write Linked Data paradigm, and then developed to be a technical specification through the W3C <abbr title='Social Web Working Group'>SWWG</abbr> as part of a broader context of decentralisation efforts.</p> <p id='aaa-raca'><strong>AAA in RACA</strong>: <cite><a href="https://csarven.ca/linked-research-decentralised-web/#function-of-peer-review">Function of Peer Review</a></cite> noted the intentions and limits of peer review in context of the Web. It is neither the case that the right, the privilege, or the practice of the notion <q><a href="https://csarven.ca/linked-research-decentralised-web/#aaa">anyone being (technically) allowed to say anything about anything</a></q> is exempt from ethical considerations. As we have seen in modern Web social media, management and distribution of misinformation and disinformation is profitable and poses a danger to civilisation. For instance, as electronic publication has also been blurring the lines between academic work and personal opinions, making the distinction between the two as part of the scientific endeavour has only become more vital. In that respect, the notion of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#self-publishing">self-publishing</a></cite> does not entail quality-controlled and certified units of communication in and itself, but rather focuses on increasing actors’ immediate role and control. Thus, trust and accountability remain as social processes.</p> <p id='school-of-thought'><strong>School of Thought</strong>: Some of dokieli’s design decisions were driven by the need to enable actors to autonomously participate in a decentralised scholarly ecosystem. With respect to the four functions in scientific communication, the expectations are to operate under a <em>deconstructed</em> or <em>decoupled</em> model while providing high <cite><a href="https://csarven.ca/linked-research-decentralised-web/#degree-of-control">Degree of Control</a></cite> to content creators and consumers, as well as generating and reusing interoperable data. This approach shares some conceptual similarities to the <q cite='http://www.cs.cornell.edu/~ginsparg/physics/blurb/pg01unesco.html'>self-archiving</q> approach in that scholars have the right to freely share their Web resources from open repositories. However, a distinction between the <q>self-archiving</q> initiative and <cite><a href="https://csarven.ca/linked-research-decentralised-web/#self-publishing">self-publishing</a></cite> in context of the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-research">Linked Research</a></cite> goal can be made in that while an actor may prefer to share their contributions through third-party controlled components, the baseline for <q>self-publishing</q> is that they are not required to. Thus, the network location and the applications that are used to make the content available are orthogonal to the notion of what constitutes a scholarly contribution. Lastly, parallel characteristics between dokieli’s approach and the <cite><a href="https://csarven.ca/linked-research-decentralised-web/#republic-of-letters">Republic of Letters</a></cite> can be made in that both operate under the idea of scholarly activities to be a researcher-centric model – direct information exchange between authors and readers – without requiring intermediaries.</p> </div> </section> <section resource='#perspectives' rel='schema:hasPart' inlist='' id='perspectives'> <h3 property='schema:name'>Perspectives</h3> <div property='schema:description' datatype='rdf:HTML'> <blockquote cite='http://www.worldcat.org/oclc/981396559'> <p>Radical changes of identity, happening suddenly and in very brief intervals of time, have proved more deadly and destructive of human values than wars fought with hardware weapons.</p> <footer><cite><a rel='cito:includesQuotationFrom' href="http://www.worldcat.org/oclc/981396559" data-versionurl='https://web.archive.org/web/20190709111139/https://www.worldcat.org/title/laws-of-media-the-new-science/oclc/981396559' data-versiondate='2019-07-09T11:11:39Z'>Laws of Media</a></cite>, p. 97, Marshall McLuhan, 1989</footer> </blockquote> <p id='sociotechnical-advancement'><strong>Sociotechnical Advancement</strong>: Given our half a millennia of experience in mass print publishing, and half a century on electronic publishing, we are in a position to situate, examine and question our assumptions as to what constitutes scholarly knowledge exchange and participation in context of the Web. If research communication is predominately and increasingly driven by the Web, how can we approach the integration of scholarly processes with the inherent properties of the Web? One way to look at this is by <cite><a href="https://csarven.ca/linked-research-decentralised-web/#the-printing-press-as-an-agent-of-change">examining history</a></cite>: the printing press played a major role in moving the non-literate public to learn to read and write for themselves. Given the Web, we find ourselves in a similar situation with different modes of communication. For instance, the Web – an environment for simultaneous read and write operations on hypermedia – inherently enables anyone to be a publisher, where each actor can exercise their full creativity and ability to express the shape of their content. In order to use the Web effectively – as far as taking advantage of its built-in characteristics, the research community needs to better position itself to self-publish and disseminate their knowledge, as well as be more attributable and accountable in their social engagement. This kind of ongoing evolution is necessary for the advancement of research communication and consequently the society. Moving towards Web-centric information flow requires the scholarly ecosystem to unchain itself from antiquated practices and inadequate use of the available medium. In context of major communication shifts, we have not scratched the surface – 30 years into the advent of the Web is still a brief period in history.</p> <p id='addressing-social-implications'><strong>Addressing Social Implications</strong>: <cite><a href="https://csarven.ca/linked-research-decentralised-web/#social-implications">Social Implications of LDN</a></cite> looked at a particular area of design considerations for notifications. <cite><a href="https://csarven.ca/linked-research-decentralised-web/#activities">dokieli’s Activities</a></cite> describes how a "friend of a friend" social network can work. An AAA-based ecosystem while can potentially enable everyone to voice themselves, the Web is not immune to the distribution of propaganda, cyberbullying or hate speech. How can we cultivate positive behaviour, and design systems to discover and filter content based on ethical norms or personal preferences? Thus, in context of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralised-web-publishing">decentralised Web publishing</a></cite>, future research can investigate:</p> <ul> <li>How can harassment and abuse be prevented or handled?</li> <li>How would moderation or civil discourse work?</li> <li>How can a resource prohibit or consent to be annotated at fine granularity?</li> <li>How can the conditions to annotate and notify be indicated and monitored?</li> <li>How can a resource’s annotation policy and rules be respected?</li> <li>What may be the conditions to associate different identities?</li> <li>How can domain expertise be factored in?</li> </ul> <p>The W3C TAG Finding, <cite><a typeof='doap:Specification' rel='cito:citesAsAuthority' href="https://www.w3.org/2001/tag/doc/ethical-web-principles/" data-versionurl='https://web.archive.org/web/20190709212314/https://www.w3.org/2001/tag/doc/ethical-web-principles/' data-versiondate='2019-07-09T21:23:14Z'>Ethical Web Principles</a></cite>, 2019, sets out ethical principles which will guide the Technical Architecture Group. These principles can be applied when designing systems in order to provide a net positive social benefit.</p> <p id='extended-profiles'><strong>Extended Profiles</strong>: WebID Profile descriptions can be extended to enable richer decentralised clientside applications in that both the user interface and the content can be a reflection of actor’s preferences and abilities. What kinds of "preference negotiation" can be made?</p> <p id='privacy-aware-information-space'><strong>Privacy Aware Information Spaces</strong>: Actors can be better supported in their decision-making if their applications are privacy-aware and respecting, for example through the use of standards like <abbr title='Open Digital Rights Language'>ODRL</abbr>. This leads to the possibility of observing the interplay of forces and functions in scholarly communication, and in particular, how privacy-aware applications can generate and consume new forms of content and interactions. How can a decentralised ecosystem balance privacy, integrity and availability?</p> <p id='lossless-citations'><strong>Lossless Citations</strong>: Applications supporting semantic content authoring enables fine-grained connections to be created between units of communication. Approaches like in <cite><a href="https://csarven.ca/linked-research-decentralised-web/#contextual-citations">contextual citations</a></cite> (with semantically typed relations) make it possible to preserve authors’ intended connection between units of communication. Further study on creating, annotating, as well as extracting citation Linked Data can provide further insights into (scholarly) content. How can open research questions be systematically discovered by machines?</p> <p typeof='skos:Concept' resource='#raca-aware-applications' rel='schema:hasPart' id='raca-aware-applications'><strong property='skos:prefLabel'>RACA-Aware Applications</strong>: <span property='skos:definition'><cite><a href="https://csarven.ca/linked-research-decentralised-web/#forces-and-functions-in-specifications" rel='cito:extends'>Forces and Functions in Specifications</a></cite> characterised open Web protocols, standards, and models in context of scholarly communication. While this contribution is not intended to be a complete collection of approaches, future work can extend the current <cite><a href="https://csarven.ca/linked-research-decentralised-web/#characteristics-of-specifications">RDF Data Cube dataset</a></cite> and the EARL results including additional subjects with new observations. The availability of such structured dataset can help answering the knowledge questions of future research when designing "<dfn property='skos:altLabel'>RACA-Aware</dfn>" decentralised and interoperable applications. Thus, potentially answering a research question along the lines of <em>How can we systematically remix open Web specifications in order to design RACA-Aware applications?</em> Another area of research would be for applications to systematically and adaptively determine, as well as apply the right abstraction level for content based on actor’s needs.</span></p> <p id='on-demand-archiving'><strong>On-Demand Archiving</strong>: While there are publicly usable on-demand archiving services eg. Internet Archive, there is a need for client applications to be able to both choose from existing archiving services as well as allow users to specify their preferred services when making <em>contextual citations</em> or archiving any unit of communication. To that end, future research can investigate how personal or community-controlled archiving services can be designed in order to enable decentralised client applications.</p> <p id='linked-data-aware-user-agents'><strong>Linked Data-Aware User Agents</strong>: At the moment, common user agents like the Web browser are not natively equipped to parse and re-serialise data expressed with the RDF language, or have the ability to construct SPARQL queries and process query results, yet alone adapt the user interface based on content. Consequently, client applications and Web Extensions are forced to include (JavaScript) code libraries to handle these features until there is built-in support. Such method of inclusions increases the complexity of using as well as maintaining the libraries. Future research can investigate effective ways to natively integrate RDF and SPARQL libraries and support corresponding APIs in the Web browser so that client applications can focus on higher-level user intentions as opposed to lower-level data management.</p> <p id='third-party-control-considered-harmful'><strong>Third-Party Control Considered Harmful</strong>: The current state of scholarly communication on the Web is ravelled with sociotechnical limits and complications. The overarching technical research problem aimed to investigate and design Web-centric artifacts that would enable content creators and consumers to have more control over their activities, as well as to effectively exchange information while respecting actors’ privacy. The Web continues to enable anyone to be a publisher. The findings of thesis reveals that third-party publishers are not required and that <cite><a href="https://csarven.ca/linked-research-decentralised-web/#decentralised-web-publishing">decentralised Web publishing</a></cite> is, and ultimately continues to be, feasible <em>for everyone</em>.</p> </div> </section> <hr/> <p id='to-boldly-go-where-we-have-not-gone-before'><strong>To boldly go where we have not gone before</strong>: I contend that one way to advance research communication on the Web in its totality is that, social policies, funding, research exchange, as well as professional incentives, all need to accurately reflect the affordances of the media. The Linked Research initiative ironically indicates the need for a <em>counter-environment</em> as a means of practising the dominant and unnoticed environment, that is the Web as a socially-aware communication medium. The social conventions that surrounds the notion of a "scholarly contribution" can be anticipated to be revisited in order to improve the accessibility of knowledge, and be more inclusive and equitable for everyone. The evolution of sociotechnical systems require people’s adaptability at the same time. In order for the scholarly ecosystem to be genuinely “open” and inclusive, systems need to be ethically grounded and interoperate with the notion of <q>universal design</q> – actor diversity with variations in needs, capabilities, and aspirations.</p> <p>I propose the notion of <cite><a href="https://csarven.ca/linked-research-decentralised-web/#linked-research">Linked Research</a></cite> as a potentially useful shared paradigm for scholarly activities on the Web. <span id='call-for-activities'>You are cordially invited to <em>self-publish</em> and share your activities related to any unit of significance in this thesis.</span></p> <p>So there we have it. It is all sort of simple.</p> <p>-<a href="https://csarven.ca/#i">Sarven</a></p> </div> </section>