Skip to content

Commit feab21c

Browse files
committedApr 1, 2021
resolve rdf:HTML in RDFa
1 parent 1ac11d7 commit feab21c

11 files changed

+6860
-45
lines changed
 

‎package-lock.json

+121-34
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
"test": "npm run test:unit && npm run test:serialize && npm run test:types",
9999
"test:clean": "rimraf tests/serialize/,*",
100100
"test:serialize": "npm run build && npm run test:serialize:all && npm run test:clean",
101-
"test:serialize:all": "npm run test:serialize:1 && npm run test:serialize:2 && npm run test:serialize:3 && npm run test:serialize:4 && npm run test:serialize:5 && npm run test:serialize:6 && npm run test:serialize:7 && npm run test:serialize:10 && npm run test:serialize:11 && npm run test:serialize:12 && npm run test:serialize:13",
101+
"test:serialize:all": "npm run test:serialize:1 && npm run test:serialize:2 && npm run test:serialize:3 && npm run test:serialize:4 && npm run test:serialize:5 && npm run test:serialize:6 && npm run test:serialize:7 && npm run test:serialize:10 && npm run test:serialize:11 && npm run test:serialize:12 && npm run test:serialize:13 && npm run test:serialize:14 && npm run test:serialize:15",
102102
"test:serialize:1": "cd ./tests/serialize && node ./data.js -in=t1.ttl -format=application/rdf+xml -out=,t1.xml && fs-grep http://www.w3.org/2001/XMLSchema#integer ,t1.xml",
103103
"test:serialize:2": "cd ./tests/serialize && node ./data.js -in=t2.ttl -format=application/rdf+xml -out=,t2.xml && node diff ,t2.xml t2-ref.xml",
104104
"test:serialize:3": "cd ./tests/serialize && node ./data.js -in=t3.ttl -format=application/rdf+xml -out=,t3.xml && node diff ,t3.xml t3-ref.xml",
@@ -112,6 +112,8 @@
112112
"test:serialize:11": "cd ./tests/serialize && node ./data.js -in=structures.n3 -format=application/rdf+xml -out=,structures.xml && node diff ,structures.xml t11-ref.xml",
113113
"test:serialize:12": "cd ./tests/serialize && node ./data.js -in=structures.n3 -format=text/turtle -out=,structures.ttl && node diff ,structures.ttl t12-ref.ttl",
114114
"test:serialize:13": "cd ./tests/serialize && node ./data.js -in=structures.n3 -format=application/n-triples -out=,structures.nt && node ./data.js -format=application/n-triples -in=,structures.nt -format=text/turtle -out=,structures.nt.ttl && node diff ,structures.nt.ttl t13-ref.ttl",
115+
"test:serialize:14": "cd ./tests/serialize && node ./data.js -in=t14.html -format=text/turtle -out=,t14.ttl && node diff ,t14.ttl t14-ref.ttl",
116+
"test:serialize:15": "cd ./tests/serialize && node ./data.js -in=t15.html -format=text/turtle -out=,t15.ttl && node diff ,t15.ttl t15-ref.ttl",
115117
"test:types": "tsc --noEmit --target es2019 --moduleResolution node tests/types/*.ts",
116118
"test:unit": "mocha --growl --require ./tests/babel-register.js tests/unit/**-test.*",
117119
"test:unit:egp": "mocha --require ./tests/babel-register.js tests/unit/fetcher-egp-test.js",

‎src/rdfaparser.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -895,7 +895,7 @@ export default class RDFaProcessor {
895895
case RDFaProcessor.XMLLiteralURI:
896896
case RDFaProcessor.HTMLLiteralURI:
897897
var string = ''
898-
Object.keys(x.value).forEach(function (i) {
898+
Object.keys(x.value).forEach(i => {
899899
string += Util.domToString(x.value[i], this.htmlOptions)
900900
})
901901
return new Literal(string, '', new NamedNode(x.type))

‎src/utils-js.js

+9-9
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,13 @@ export function DOMParserFactory () {
103103
export function domToString (node, options) {
104104
options = options || {}
105105
var selfClosing = []
106-
if ('selfClosing' in options) {
106+
if (options && options.selfClosing) {
107107
options.selfClosing.split(' ').forEach(function (n) {
108108
selfClosing[n] = true
109109
})
110110
}
111111
var skipAttributes = []
112-
if ('skipAttributes' in options) {
112+
if (options && options.skipAttributes) {
113113
options.skipAttributes.split(' ').forEach(function (n) {
114114
skipAttributes[n] = true
115115
})
@@ -123,34 +123,34 @@ export function dumpNode (node, options, selfClosing, skipAttributes) {
123123
var noEsc = [ false ]
124124
if (typeof node.nodeType === 'undefined') return out
125125
if (node.nodeType === 1) {
126-
if (node.hasAttribute('class') && 'classWithChildText' in options && node.matches(options.classWithChildText.class)) {
126+
if (node.hasAttribute('class') && (options && options.classWithChildText) && node.matches(options.classWithChildText.class)) {
127127
out += node.querySelector(options.classWithChildText.element).textContent
128-
} else if (!('skipNodeWithClass' in options && node.matches('.' + options.skipNodeWithClass))) {
128+
} else if (!((options && options.skipNodeWithClass) && node.matches('.' + options.skipNodeWithClass))) {
129129
var ename = node.nodeName.toLowerCase()
130130
out += '<' + ename
131131

132132
var attrList = []
133133
for (i = node.attributes.length - 1; i >= 0; i--) {
134134
var atn = node.attributes[i]
135-
if (skipAttributes.length > 0 && skipAttributes[atn.name]) continue
135+
if (skipAttributes && skipAttributes.length > 0 && skipAttributes[atn.name]) continue
136136
if (/^\d+$/.test(atn.name)) continue
137-
if (atn.name === 'class' && 'replaceClassItemWith' in options && (atn.value.split(' ').indexOf(options.replaceClassItemWith.source) > -1)) {
137+
if (atn.name === 'class' && (options && options.replaceClassItemWith) && (atn.value.split(' ').indexOf(options.replaceClassItemWith.source) > -1)) {
138138
var re = new RegExp(options.replaceClassItemWith.source, 'g')
139139
atn.value = atn.value.replace(re, options.replaceClassItemWith.target).trim()
140140
}
141-
if (!(atn.name === 'class' && 'skipClassWithValue' in options && options.skipClassWithValue === atn.value)) {
141+
if (!(atn.name === 'class' && (options && options.skipClassWithValue) && options.skipClassWithValue === atn.value)) {
142142
attrList.push(atn.name + '=\'' + atn.value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/'/g, '&quot;') + '\'')
143143
}
144144
}
145145
if (attrList.length > 0) {
146-
if ('sortAttributes' in options && options.sortAttributes) {
146+
if (options && options.sortAttributes) {
147147
attrList.sort(function (a, b) {
148148
return a.toLowerCase().localeCompare(b.toLowerCase())
149149
})
150150
}
151151
out += ' ' + attrList.join(' ')
152152
}
153-
if (selfClosing[ename]) {
153+
if (selfClosing && selfClosing.ename) {
154154
out += ' />'
155155
} else {
156156
out += '>'

‎tests/rdfa/run-rdfa-tests.js

100644100755
File mode changed.

‎tests/serialize/csarven-ori.html

+6,333
Large diffs are not rendered by default.

‎tests/serialize/example.html

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN"
3+
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
4+
<html version="XHTML+RDFa 1.1" xmlns="http://www.w3.org/1999/xhtml"
5+
xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#"
6+
xmlns:foaf="http://xmlns.com/foaf/0.1/"
7+
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
8+
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
9+
xml:lang="en"
10+
lang="en">
11+
<head>
12+
<title>XHTML+RDFa example</title>
13+
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
14+
<meta http-equiv="Content-Style-Type" content="text/css" />
15+
<meta name="content-language" content="en" />
16+
<meta name="robots" content="index, follow" />
17+
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
18+
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
19+
<link rel="alternate" type="application/rss+xml" title="Feed channel of XHTML+RDFa example page" href="http://www.example.com/rss.xml" />
20+
<meta name="DC.title" content="XHTML+RDFa example" />
21+
<meta name="DC.subject" content="XHTML+RDFa, semantic web" />
22+
<meta name="DC.description" content="Example for Extensible Hypertext Markup Language + Resource Description Framework – in – attributes." />
23+
<meta name="DC.format" content="application/xhtml+xml" />
24+
<meta name="DC.language" content="en" />
25+
<link rel="shortcut icon" href="favicon.ico" />
26+
<link rel="stylesheet" type="text/css" href="main.css" title="main styles" />
27+
<link rel="foaf:primaryTopic" type="application/rdf+xml" title="FOAF" href="http://www.example.com/metadata/foaf.rdf" />
28+
<script type="text/javascript" src="js/click.js"></script>
29+
</head>
30+
<body>
31+
<div class="content">
32+
<p>
33+
<span property="foaf:name">Jerry Smith</span><br />
34+
<i>Senior developer, QA</i><br />
35+
<a title="More about me" rel="rdfs:seeAlso" href="about.htm">More...</a>
36+
</p>
37+
<p rel="contact:address">
38+
93 Rose Ave <br />
39+
<a property="contact:city" rel="rdfs:seeAlso" title="Adelaide on Wikipedia" resource="http://dbpedia.org/resource/Adelaide"
40+
href="http://en.wikipedia.org/wiki/Adelaide">Adelaide</a>
41+
</p>
42+
<p>
43+
<span rel="foaf:phone" resource="tel:+6112345678">+61 12/345-678</span>
44+
</p>
45+
</div>
46+
</body>
47+
</html>

‎tests/serialize/t14-ref.ttl

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
@prefix : </t14.html#>.
2+
@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>.
3+
@prefix dc: <http://purl.org/dc/elements/1.1/>.
4+
@prefix dct: <http://purl.org/dc/terms/>.
5+
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
6+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
7+
@prefix lin: <http://www.iana.org/assignments/link-relations/>.
8+
@prefix voc: <http://www.w3.org/1999/xhtml/vocab#>.
9+
@prefix res: <http://dbpedia.org/resource/>.
10+
11+
<>
12+
dc:title "XHTML+RDFa example";
13+
<http://www.iana.org/assignments/link-relations/foaf%3AprimaryTopic>
14+
<http://www.example.com/metadata/foaf.rdf>;
15+
<http://www.iana.org/assignments/link-relations/schema.DC> dc:;
16+
<http://www.iana.org/assignments/link-relations/schema.DCTERMS> dct:;
17+
<http://www.iana.org/assignments/link-relations/shortcut%20icon>
18+
</favicon.ico>;
19+
lin:stylesheet </main.css>;
20+
voc:alternate <http://www.example.com/rss.xml>;
21+
voc:icon </favicon.ico>;
22+
voc:stylesheet </main.css>;
23+
rdfs:seeAlso </about.htm>, <http://www.example.com/rss.xml>;
24+
contact:address [ rdfs:seeAlso res:Adelaide; contact:city "Adelaide"@en ];
25+
foaf:name "Jerry Smith"@en;
26+
foaf:phone <tel:+6112345678>;
27+
foaf:primaryTopic <http://www.example.com/metadata/foaf.rdf>.

‎tests/serialize/t14.html

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN"
3+
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
4+
<html version="XHTML+RDFa 1.1" xmlns="http://www.w3.org/1999/xhtml"
5+
xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#"
6+
xmlns:foaf="http://xmlns.com/foaf/0.1/"
7+
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
8+
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
9+
xml:lang="en"
10+
lang="en">
11+
<head>
12+
<title>XHTML+RDFa example</title>
13+
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
14+
<meta http-equiv="Content-Style-Type" content="text/css" />
15+
<meta name="content-language" content="en" />
16+
<meta name="robots" content="index, follow" />
17+
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
18+
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
19+
<link rel="alternate" type="application/rss+xml" title="Feed channel of XHTML+RDFa example page" href="http://www.example.com/rss.xml" />
20+
<meta name="DC.title" content="XHTML+RDFa example" />
21+
<meta name="DC.subject" content="XHTML+RDFa, semantic web" />
22+
<meta name="DC.description" content="Example for Extensible Hypertext Markup Language + Resource Description Framework – in – attributes." />
23+
<meta name="DC.format" content="application/xhtml+xml" />
24+
<meta name="DC.language" content="en" />
25+
<link rel="shortcut icon" href="favicon.ico" />
26+
<link rel="stylesheet" type="text/css" href="main.css" title="main styles" />
27+
<link rel="foaf:primaryTopic" type="application/rdf+xml" title="FOAF" href="http://www.example.com/metadata/foaf.rdf" />
28+
<script type="text/javascript" src="js/click.js"></script>
29+
</head>
30+
<body>
31+
<div class="content">
32+
<p>
33+
<span property="foaf:name">Jerry Smith</span><br />
34+
<i>Senior developer, QA</i><br />
35+
<a title="More about me" rel="rdfs:seeAlso" href="about.htm">More...</a>
36+
</p>
37+
<p rel="contact:address">
38+
93 Rose Ave <br />
39+
<a property="contact:city" rel="rdfs:seeAlso" title="Adelaide on Wikipedia" resource="http://dbpedia.org/resource/Adelaide"
40+
href="http://en.wikipedia.org/wiki/Adelaide">Adelaide</a>
41+
</p>
42+
<p>
43+
<span rel="foaf:phone" resource="tel:+6112345678">+61 12/345-678</span>
44+
</p>
45+
</div>
46+
</body>
47+
</html>

‎tests/serialize/t15-ref.ttl

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
@prefix : </t15.html#>.
2+
@prefix as: <https://www.w3.org/ns/activitystreams#>.
3+
@prefix dc: <http://purl.org/dc/elements/1.1/>.
4+
@prefix dct: <http://purl.org/dc/terms/>.
5+
@prefix ldp: <http://www.w3.org/ns/ldp#>.
6+
@prefix owl: <http://www.w3.org/2002/07/owl#>.
7+
@prefix prov: <http://www.w3.org/ns/prov#>.
8+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
9+
@prefix schema: <http://schema.org/>.
10+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
11+
@prefix n: <http://mementoweb.org/ns#>.
12+
@prefix lin: <https://csarven.ca/archives/linked-research-decentralised-web/>.
13+
@prefix bibo: <http://purl.org/ontology/bibo/>.
14+
@prefix n0: <https://csarven.ca/#>.
15+
@prefix cito: <http://purl.org/spar/cito/>.
16+
@prefix isbn: <http://worldcat.org/isbn/>.
17+
@prefix pso: <http://purl.org/spar/pso/>.
18+
@prefix n1: <https://creativecommons.org/licenses/by/4.0/>.
19+
@prefix li: <http://www.iana.org/assignments/link-relations/>.
20+
@prefix cs: <https://csarven.ca/>.
21+
@prefix inbox: <https://csarven.ca/archives/linked-research-decentralised-web/inbox/>.
22+
@prefix n2: <http://www.w3.org/ns/odrl/2/>.
23+
@prefix dok: <https://dokie.li/>.
24+
@prefix tests: <https://linkedresearch.org/ldn/tests/>.
25+
@prefix TR: <https://www.w3.org/TR/>.
26+
@prefix l: <https://linkedresearch.org/>.
27+
@prefix rel: <https://www.w3.org/ns/iana/link-relations/relation#>.
28+
@prefix ns0: <http://creativecommons.org/ns#>.
29+
@prefix linke: <https://csarven.ca/linked-research-decentralised-web#>.
30+
31+
<>
32+
a schema:CreativeWork, schema:ScholarlyArticle, prov:Entity;
33+
n:memento lin:ce36de40-64a7-4d57-a189-f47c364daa74;
34+
n:timemap <https://csarven.ca/linked-research-decentralised-web.timemap>;
35+
dc:title "Linked Research on the Decentralised Web";
36+
dct:language "en";
37+
bibo:authorList [ rdf:first n0:i; rdf:rest rdf:nil ];
38+
cito:includesQuotationFrom isbn:9781584230700;
39+
pso:holdsStatusInTime :31943b7f-b646-4ebd-8787-ec2341e862c1;
40+
schema:abstract
41+
"\n <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>\n\n <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>\n\n <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='#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>\n\n <p>Another core contribution of this work is a Web standards-based implementation of a clientside tool, <cite><a href='#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>\n\n <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>\n\n <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='#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>\n\n <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>\n "^^rdf:HTML;
42+
schema:author n0:i;
43+
schema:creator n0:i;
44+
schema:dateCreated "2016-04-13T18:31:21Z"^^xsd:dateTime;
45+
schema:dateModified "2019-07-29T00:00:00Z"^^xsd:dateTime;
46+
schema:datePublished "2019-07-29T00:00:00Z"^^xsd:dateTime;
47+
schema:description
48+
"\n <blockquote id='the-past-went-that-a-way' cite='http://worldcat.org/isbn/9781584230700'>\n <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>\n\n <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>\n </blockquote>\n\n <section id='abstract'>\n <h2>Abstract</h2>\n <div property='schema:abstract' datatype='rdf:HTML'>\n <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>\n\n <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>\n\n <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='#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>\n\n <p>Another core contribution of this work is a Web standards-based implementation of a clientside tool, <cite><a href='#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>\n\n <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>\n\n <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='#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>\n\n <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>\n </div>\n </section>"^^rdf:HTML;
49+
schema:license n1:;
50+
schema:name "Linked Research on the Decentralised Web"@en;
51+
schema:publisher n0:i;
52+
li:stylesheet
53+
<https://dokie.li/media/css/basic.css>,
54+
<https://dokie.li/media/css/dokieli.css>;
55+
owl:sameAs cs:linked-research-decentralised-web;
56+
ldp:inbox inbox:;
57+
n2:hasPolicy :document-policy-offer;
58+
prov:wasDerivedFrom
59+
cs:call-for-linked-research, cs:cooling-down-web-science,
60+
cs:dokieli-rww, cs:enabling-accessible-knowledge, cs:faipdaaf,
61+
cs:linked-research, cs:linked-research-scholarly-communication,
62+
cs:linked-sdmx-data, cs:linked-specifications-reports,
63+
cs:linked-statistical-data-analysis, cs:sense-of-lsd-analysis,
64+
cs:sparqlines-sparql-to-sparkline, cs:this-paper-is-a-demo,
65+
cs:web-science-from-404-to-200, dok:, tests:summary, TR:annotation-html;
66+
as:inReplyTo l:calls;
67+
rel:latest-version lin:ce36de40-64a7-4d57-a189-f47c364daa74.
68+
:31943b7f-b646-4ebd-8787-ec2341e862c1 pso:withStatus pso:published.
69+
70+
:document-permission
71+
a n2:Permission;
72+
n2:action
73+
ns0:Attribution, ns0:DerivativeWorks, ns0:Distribution, ns0:Notice,
74+
ns0:Reproduction, n2:aggregate, n2:archive, n2:concurrentUse, n2:derive,
75+
n2:digitize, n2:display, n2:index, n2:inform, n2:install, n2:present,
76+
n2:print, n2:read, n2:reproduce, n2:stream, n2:synchronize,
77+
n2:textToSpeech, n2:transform, n2:translate;
78+
n2:assigner n0:i.
79+
:document-policy-offer
80+
a n2:Offer, n2:Policy;
81+
n2:permission :document-permission;
82+
n2:target cs:linked-research-decentralised-web;
83+
n2:uid linke:document-policy-offer.
84+
pso:published a pso:PublicationStatus.
85+
86+
n0:i
87+
a schema:Person;
88+
schema:familyName "Capadisli"@en;
89+
schema:givenName "Sarven"@en;
90+
schema:name "Sarven Capadisli"@en;
91+
schema:url cs:.

‎tests/serialize/t15.html

+181
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)
Please sign in to comment.