earl-report 0.5.2 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -5
- data/VERSION +1 -1
- data/lib/earl_report.rb +125 -60
- data/lib/earl_report/views/earl_report.html.haml +6 -6
- data/spec/earl_report_spec.rb +7 -7
- data/spec/test-files/doap.ttl +6 -6
- data/spec/test-files/foaf.ttl +2 -2
- data/spec/test-files/report-complete.ttl +9 -9
- data/spec/test-files/report-no-doap.ttl +3 -3
- data/spec/test-files/report-no-foaf.ttl +8 -8
- data/spec/test-files/results.html +24 -24
- data/spec/test-files/results.jsonld +68 -68
- data/spec/test-files/results.ttl +62 -75
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47de1e3c1d07adb1a2ae440c1c53f72ceeb2c7b4e33d947739474225c802ed50
|
4
|
+
data.tar.gz: 611468fcef85b3a812ae184759d3c9806106ac2d15611f63cdbbe08fe194202b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e023c3c5a1c42da0dbfc976149e50e590b3c9b770e0e66372794f68b2e881de064a515d0c6d8f73ac7a2acf1920cc95e0b35735a3a4897742ac6cb9d3385d8fa
|
7
|
+
data.tar.gz: e1c6bc8836bc9629fd36c0bc67e2f5dd30694a28f64da9ee06d864e29b0ce3d1636a83e755f878cb756d424f93b739f01246e08156085d73e8ccc48867c8bc09
|
data/README.md
CHANGED
@@ -17,7 +17,7 @@ may be specified in an any compatible RDF serialization. The report is composed
|
|
17
17
|
in the following form:
|
18
18
|
|
19
19
|
[ a earl:Assertion;
|
20
|
-
earl:assertedBy <
|
20
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
21
21
|
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
22
22
|
earl:test <http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/tests-ttl/manifest.ttl#turtle-syntax-file-01>;
|
23
23
|
earl:result [
|
@@ -31,7 +31,7 @@ of the reported software, in the following form:
|
|
31
31
|
|
32
32
|
<https://rubygems.org/gems/rdf-turtle> a doap:Project, earl:TestSubject, earl:Software ;
|
33
33
|
doap:name "RDF::Turtle" ;
|
34
|
-
doap:developer <
|
34
|
+
doap:developer <https://greggkellogg.net/foaf#me> ;
|
35
35
|
doap:homepage <http://ruby-rdf.github.com/rdf-turtle> ;
|
36
36
|
doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
37
37
|
doap:release [
|
@@ -49,7 +49,7 @@ The `doap:developer` is expected to reference a [FOAF]() profile for the agent
|
|
49
49
|
(user or organization) responsible for the test subject. It is expected to be
|
50
50
|
of the following form:
|
51
51
|
|
52
|
-
<
|
52
|
+
<https://greggkellogg.net/foaf#me> foaf:name "Gregg Kellogg" .
|
53
53
|
|
54
54
|
If not found, the IRI identified by `doap:developer`
|
55
55
|
will be dereferenced and is presumed to provide a [FOAF]() profile of the developer.
|
@@ -96,7 +96,7 @@ Version 0.3 and prior re-constructed the test manifest used to create the body o
|
|
96
96
|
mf:result <http://example/test-00.out>;
|
97
97
|
earl:assertions ([
|
98
98
|
a earl:Assertion;
|
99
|
-
earl:assertedBy <
|
99
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
100
100
|
earl:mode earl:automatic;
|
101
101
|
earl:result [
|
102
102
|
a earl:TestResult;
|
@@ -132,7 +132,7 @@ Generally, creating a `json` format first is more efficient. Subsequent invocati
|
|
132
132
|
When run, `earl-report` attempts to open the file `.earl` in the current directory. This file is in [YAML][] format with entries for each option. Use the `--rc` option to automatically generate it.
|
133
133
|
|
134
134
|
## Author
|
135
|
-
* [Gregg Kellogg](https://github.com/gkellogg) - <
|
135
|
+
* [Gregg Kellogg](https://github.com/gkellogg) - <https://greggkellogg.net/>
|
136
136
|
|
137
137
|
## License
|
138
138
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.3
|
data/lib/earl_report.rb
CHANGED
@@ -152,6 +152,34 @@ class EarlReport
|
|
152
152
|
}]
|
153
153
|
}.freeze
|
154
154
|
|
155
|
+
TURTLE_PREFIXES = %(@prefix dc: <http://purl.org/dc/terms/> .
|
156
|
+
@prefix doap: <http://usefulinc.com/ns/doap#> .
|
157
|
+
@prefix earl: <http://www.w3.org/ns/earl#> .
|
158
|
+
@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
|
159
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
160
|
+
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
161
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
162
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
163
|
+
).gsub(/^ /, '')
|
164
|
+
|
165
|
+
TURTLE_SOFTWARE = %(
|
166
|
+
# Report Generation Software
|
167
|
+
<https://rubygems.org/gems/earl-report> a earl:Software, doap:Project;
|
168
|
+
doap:name "earl-report";
|
169
|
+
doap:shortdesc "Earl Report summary generator"@en;
|
170
|
+
doap:description "EarlReport generates HTML+RDFa rollups of multiple EARL reports"@en;
|
171
|
+
doap:homepage <https://github.com/gkellogg/earl-report>;
|
172
|
+
doap:programming-language "Ruby";
|
173
|
+
doap:license <http://unlicense.org>;
|
174
|
+
doap:release <https://github.com/gkellogg/earl-report/tree/#{VERSION}>;
|
175
|
+
doap:developer <https://greggkellogg.net/foaf#me> .
|
176
|
+
|
177
|
+
<https://github.com/gkellogg/earl-report/tree/#{VERSION}> a doap:Version;
|
178
|
+
doap:name "earl-report-#{VERSION}";
|
179
|
+
doap:created "#{File.mtime(File.expand_path('../../VERSION', __FILE__)).strftime('%Y-%m-%d')}"^^xsd:date;
|
180
|
+
doap:revision "#{VERSION}" .
|
181
|
+
).gsub(/^ /, '')
|
182
|
+
|
155
183
|
# Convenience vocabularies
|
156
184
|
class EARL < RDF::Vocabulary("http://www.w3.org/ns/earl#"); end
|
157
185
|
class MF < RDF::Vocabulary("http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#"); end
|
@@ -228,7 +256,6 @@ class EarlReport
|
|
228
256
|
end
|
229
257
|
|
230
258
|
assertion_stats = {}
|
231
|
-
release_node_mapper = {}
|
232
259
|
|
233
260
|
# Read test assertion files into assertion graph
|
234
261
|
files.flatten.each do |file|
|
@@ -380,36 +407,16 @@ class EarlReport
|
|
380
407
|
assertion_stats.each {|stat, count| status("Assertions #{stat}: #{count}")}
|
381
408
|
|
382
409
|
# Add report wrapper to graph
|
383
|
-
ttl = %(
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
earl:generatedBy <https://rubygems.org/gems/earl-report>;
|
394
|
-
earl:assertions #{subjects.values.map {|f| f.to_ntriples}.join(",\n ")};
|
395
|
-
earl:testSubjects #{subjects.keys.map {|f| f.to_ntriples}.join(",\n ")};
|
396
|
-
mf:entries (#{man_uris.map {|f| f.to_ntriples}.join("\n ")}) .
|
397
|
-
|
398
|
-
<https://rubygems.org/gems/earl-report> a earl:Software, doap:Project;
|
399
|
-
doap:name "earl-report";
|
400
|
-
doap:shortdesc "Earl Report summary generator"@en;
|
401
|
-
doap:description "EarlReport generates HTML+RDFa rollups of multiple EARL reports"@en;
|
402
|
-
doap:homepage <https://github.com/gkellogg/earl-report>;
|
403
|
-
doap:programming-language "Ruby";
|
404
|
-
doap:license <http://unlicense.org>;
|
405
|
-
doap:release <https://github.com/gkellogg/earl-report/tree/#{VERSION}>;
|
406
|
-
doap:developer <http://greggkellogg.net/foaf#me> .
|
407
|
-
|
408
|
-
<https://github.com/gkellogg/earl-report/tree/#{VERSION}> a doap:Version;
|
409
|
-
doap:name "earl-report-#{VERSION}";
|
410
|
-
doap:created "#{File.mtime(File.expand_path('../../VERSION', __FILE__)).strftime('%Y-%m-%d')}"^^xsd:date;
|
411
|
-
doap:revision "#{VERSION}" .
|
412
|
-
).gsub(/^ /, '')
|
410
|
+
ttl = TURTLE_PREFIXES + %(
|
411
|
+
<> a earl:Software, doap:Project;
|
412
|
+
doap:name #{quoted(@options.fetch(:name, 'Unknown'))};
|
413
|
+
dc:bibliographicCitation "#{@options.fetch(:bibRef, 'Unknown reference')}";
|
414
|
+
earl:generatedBy <https://rubygems.org/gems/earl-report>;
|
415
|
+
earl:assertions #{subjects.values.map {|f| f.to_ntriples}.join(",\n ")};
|
416
|
+
earl:testSubjects #{subjects.keys.map {|f| f.to_ntriples}.join(",\n ")};
|
417
|
+
mf:entries (#{man_uris.map {|f| f.to_ntriples}.join("\n ")}) .
|
418
|
+
).gsub(/^ /, '') +
|
419
|
+
TURTLE_SOFTWARE
|
413
420
|
RDF::Turtle::Reader.new(ttl) {|r| graph << r}
|
414
421
|
|
415
422
|
# Each manifest is an earl:Report
|
@@ -516,50 +523,108 @@ class EarlReport
|
|
516
523
|
# @option options [IO, StringIO] :io
|
517
524
|
# @return [String]
|
518
525
|
def earl_turtle(options)
|
526
|
+
context = JSON::LD::Context.parse(json_hash['@context'])
|
519
527
|
io = options[:io]
|
528
|
+
io.write(TURTLE_PREFIXES + "\n")
|
520
529
|
|
521
|
-
|
522
|
-
|
523
|
-
# Write starting with the entire graph to get preamble
|
524
|
-
writer = RDF::Turtle::Writer.new(io, standard_prefixes: true)
|
525
|
-
writer << graph
|
530
|
+
# Write project header
|
531
|
+
ttl_entity(io, json_hash, context)
|
526
532
|
|
527
|
-
|
528
|
-
|
533
|
+
# Write out each manifest entry
|
534
|
+
io.puts("# Manifests")
|
535
|
+
json_hash['entries'].each do |man|
|
536
|
+
ttl_entity(io, man, context)
|
529
537
|
|
530
|
-
|
531
|
-
|
538
|
+
# Output each test entry with assertions
|
539
|
+
man['entries'].each do |entry|
|
540
|
+
ttl_entity(io, entry, context)
|
541
|
+
end
|
542
|
+
end
|
532
543
|
|
533
|
-
#
|
534
|
-
|
535
|
-
|
536
|
-
writer.send(:statement, manifest)
|
544
|
+
# Output each DOAP
|
545
|
+
json_hash['testSubjects'].each do |doap|
|
546
|
+
ttl_entity(io, doap, context)
|
537
547
|
|
538
|
-
#
|
539
|
-
|
540
|
-
|
548
|
+
# FOAF
|
549
|
+
dev = doap['developer']
|
550
|
+
dev = [dev] unless dev.is_a?(Array)
|
551
|
+
dev.each do |foaf|
|
552
|
+
ttl_entity(io, foaf, context)
|
541
553
|
end
|
542
554
|
end
|
555
|
+
|
556
|
+
io.write(TURTLE_SOFTWARE)
|
557
|
+
end
|
543
558
|
|
544
|
-
|
545
|
-
io.
|
546
|
-
|
547
|
-
|
559
|
+
def ttl_entity(io, entity, context)
|
560
|
+
io.write(ttl_value(entity) + " " + entity.map do |dk, dv|
|
561
|
+
case dk
|
562
|
+
when '@context', '@id'
|
563
|
+
nil
|
564
|
+
when '@type'
|
565
|
+
"a " + ttl_value(dv)
|
566
|
+
when 'assertions'
|
567
|
+
"earl:assertions #{dv.map {|a| ttl_assertion(a)}.join(", ")}"
|
568
|
+
when 'entries'
|
569
|
+
"mf:entries #{ttl_value({'@list' => dv}, whitespace: "\n ")}"
|
570
|
+
when 'release'
|
571
|
+
"doap:release [doap:revision #{quoted(dv['revision'])}]"
|
572
|
+
else
|
573
|
+
dv = [dv] unless dv.is_a?(Array)
|
574
|
+
dv = dv.map {|v| v.is_a?(Hash) ? v : context.expand_value(dk, v)}
|
575
|
+
"#{ttl_value(dk)} #{ttl_value(dv, whitespace: "\n ")}"
|
576
|
+
end
|
577
|
+
end.compact.join(" ;\n ") + " .\n\n")
|
578
|
+
end
|
548
579
|
|
549
|
-
|
550
|
-
|
551
|
-
|
580
|
+
def ttl_value(value, whitespace: " ")
|
581
|
+
if value.is_a?(Array)
|
582
|
+
value.map {|v| ttl_value(v)}.join(",#{whitespace}")
|
583
|
+
elsif value.is_a?(Hash)
|
584
|
+
if value.key?('@list')
|
585
|
+
"(#{value['@list'].map {|vv| ttl_value(vv)}.join(whitespace)})"
|
586
|
+
elsif value.key?('@value')
|
587
|
+
quoted(value['@value'], language: value['@language'], datatype: value['@type'])
|
588
|
+
elsif value.key?('@id')
|
589
|
+
ttl_value(value['@id'])
|
590
|
+
else
|
591
|
+
"[]"
|
552
592
|
end
|
593
|
+
elsif value.start_with?(/https?/) || value.start_with?('/')
|
594
|
+
"<#{value}>"
|
595
|
+
elsif value.include?(':')
|
596
|
+
value
|
597
|
+
elsif json_hash['@context'][value].is_a?(Hash)
|
598
|
+
json_hash['@context'][value].fetch('@id', "earl:#{value}")
|
599
|
+
elsif value.empty?
|
600
|
+
"<>"
|
601
|
+
else
|
602
|
+
"earl:#{value}"
|
553
603
|
end
|
604
|
+
end
|
554
605
|
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
606
|
+
def ttl_assertion(value)
|
607
|
+
return ttl_value(value) if value.is_a?(String)
|
608
|
+
block = [
|
609
|
+
"[",
|
610
|
+
" a earl:Assertion ;",
|
611
|
+
" earl:test #{ttl_value(value['test'])} ;",
|
612
|
+
" earl:subject #{ttl_value(value['subject'])} ;",
|
613
|
+
" earl:result [",
|
614
|
+
" a earl:TestResult ;",
|
615
|
+
" earl:outcome #{ttl_value(value['result']['outcome'])}",
|
616
|
+
" ] ;",
|
617
|
+
]
|
618
|
+
block << " earl:assertedBy #{ttl_value(value['assertedBy'])} ;" if value['assertedBy']
|
619
|
+
|
620
|
+
block.join("\n") + "\n ]"
|
559
621
|
end
|
560
622
|
|
561
|
-
def quoted(string)
|
562
|
-
(@turtle_writer ||= RDF::Turtle::Writer.new).send(:quoted, string)
|
623
|
+
def quoted(string, language: nil, datatype: nil)
|
624
|
+
str = (@turtle_writer ||= RDF::Turtle::Writer.new).send(:quoted, string)
|
625
|
+
str += "@#{language}" if language
|
626
|
+
str += "^^#{ttl_value(datatype)}" if datatype
|
627
|
+
str
|
563
628
|
end
|
564
629
|
|
565
630
|
def warn(message)
|
@@ -27,7 +27,7 @@
|
|
27
27
|
-# "assertions": [
|
28
28
|
-# {
|
29
29
|
-# "@type": "earl:Assertion",
|
30
|
-
-# "assertedBy": "
|
30
|
+
-# "assertedBy": "https://greggkellogg.net/foaf#me",
|
31
31
|
-# "test": "http://svn.apache.org/repos/asf/jena/Experimental/riot-reader/testing/RIOT/Lang/TurtleSubm/manifest.ttl#testeval00",
|
32
32
|
-# "subject": "https://rubygems.org/gems/rdf-turtle",
|
33
33
|
-# "result": {
|
@@ -40,8 +40,8 @@
|
|
40
40
|
-# }
|
41
41
|
- require 'cgi'
|
42
42
|
- require 'digest'
|
43
|
-
- editors = [{ name: "Gregg Kellogg", url: "
|
44
|
-
- foaf = {name: "Gregg Kellogg", url: "
|
43
|
+
- editors = [{ name: "Gregg Kellogg", url: "https://greggkellogg.net/"}]
|
44
|
+
- foaf = {name: "Gregg Kellogg", url: "https://greggkellogg.net/foaf#me" }
|
45
45
|
|
46
46
|
!!! 5
|
47
47
|
%html
|
@@ -474,9 +474,9 @@
|
|
474
474
|
application. More information is available at
|
475
475
|
%a{property: "doap:homepage", href: doap['homepage']}<=doap['homepage']
|
476
476
|
= "."
|
477
|
-
%p{property: "doap:developer", resource: "
|
477
|
+
%p{property: "doap:developer", resource: "https://greggkellogg.net/foaf#me", typeof: "foaf:Person"}
|
478
478
|
This software is provided by
|
479
|
-
%a{property: "foaf:homepage", href: "
|
480
|
-
%span{about: "
|
479
|
+
%a{property: "foaf:homepage", href: "https://greggkellogg.net/"}<
|
480
|
+
%span{about: "https://greggkellogg.net/foaf#me", property: "foaf:name"}<
|
481
481
|
Gregg Kellogg
|
482
482
|
in hopes that it might make the lives of conformance testers easier.
|
data/spec/earl_report_spec.rb
CHANGED
@@ -133,7 +133,7 @@ describe EarlReport do
|
|
133
133
|
.with(File.expand_path("../test-files/report-no-foaf.ttl", __FILE__))
|
134
134
|
.and_return(reportNoFoaf)
|
135
135
|
expect(RDF::Graph).to receive(:load)
|
136
|
-
.with("
|
136
|
+
.with("https://greggkellogg.net/foaf#me")
|
137
137
|
.and_return(foaf)
|
138
138
|
end
|
139
139
|
|
@@ -240,7 +240,7 @@ describe EarlReport do
|
|
240
240
|
|
241
241
|
context "prefixes" do
|
242
242
|
%w(dc doap earl foaf mf rdf rdfs xsd).each do |pfx|
|
243
|
-
specify {is_expected.to match(/@prefix #{pfx}
|
243
|
+
specify {is_expected.to match(/@prefix #{pfx}:\s+</)}
|
244
244
|
end
|
245
245
|
end
|
246
246
|
|
@@ -264,7 +264,7 @@ describe EarlReport do
|
|
264
264
|
end
|
265
265
|
|
266
266
|
context "Assertion" do
|
267
|
-
specify {is_expected.to match(/\sa earl:Assertion
|
267
|
+
specify {is_expected.to match(/\sa earl:Assertion\s*;$/)}
|
268
268
|
end
|
269
269
|
|
270
270
|
context "parsing to RDF" do
|
@@ -405,7 +405,7 @@ describe EarlReport do
|
|
405
405
|
doap:name "RDF::Turtle";
|
406
406
|
doap:description """RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."""@en;
|
407
407
|
doap:programming-language "Ruby";
|
408
|
-
doap:developer <
|
408
|
+
doap:developer <https://greggkellogg.net/foaf#me> .
|
409
409
|
}
|
410
410
|
)
|
411
411
|
|
@@ -413,9 +413,9 @@ describe EarlReport do
|
|
413
413
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
414
414
|
|
415
415
|
ASK WHERE {
|
416
|
-
<
|
416
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person;
|
417
417
|
foaf:name "Gregg Kellogg";
|
418
|
-
foaf:homepage <
|
418
|
+
foaf:homepage <https://greggkellogg.net/> .
|
419
419
|
}
|
420
420
|
)
|
421
421
|
|
@@ -438,7 +438,7 @@ describe EarlReport do
|
|
438
438
|
|
439
439
|
ASK WHERE {
|
440
440
|
[ a earl:Assertion;
|
441
|
-
earl:assertedBy <
|
441
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
442
442
|
earl:test <http://example/manifest.ttl#testeval00>;
|
443
443
|
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
444
444
|
earl:mode earl:automatic;
|
data/spec/test-files/doap.ttl
CHANGED
@@ -21,13 +21,13 @@
|
|
21
21
|
doap:download-page <https://rubygems.org/gems/rdf-turtle> ;
|
22
22
|
doap:mailing-list <http://lists.w3.org/Archives/Public/public-rdf-ruby/> ;
|
23
23
|
doap:bug-database <https://github.com/ruby-rdf/rdf-turtle/issues> ;
|
24
|
-
doap:blog <
|
25
|
-
doap:developer <
|
26
|
-
doap:maintainer <
|
27
|
-
doap:documenter <
|
28
|
-
foaf:maker <
|
24
|
+
doap:blog <https://greggkellogg.net/> ;
|
25
|
+
doap:developer <https://greggkellogg.net/foaf#me> ;
|
26
|
+
doap:maintainer <https://greggkellogg.net/foaf#me> ;
|
27
|
+
doap:documenter <https://greggkellogg.net/foaf#me> ;
|
28
|
+
foaf:maker <https://greggkellogg.net/foaf#me> ;
|
29
29
|
dc:title "RDF::Turtle" ;
|
30
30
|
dc:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
31
31
|
dc:date "2011-08-29"^^xsd:date;
|
32
|
-
dc:creator <
|
32
|
+
dc:creator <https://greggkellogg.net/foaf#me>;
|
33
33
|
dc:isPartOf <https://rubygems.org/gems/rdf> .
|
data/spec/test-files/foaf.ttl
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
@prefix earl: <http://www.w3.org/ns/earl#> .
|
2
2
|
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
3
3
|
|
4
|
-
<
|
4
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
|
5
5
|
foaf:name "Gregg Kellogg";
|
6
6
|
foaf:title "Implementor";
|
7
|
-
foaf:homepage <
|
7
|
+
foaf:homepage <https://greggkellogg.net/> .
|
@@ -21,24 +21,24 @@
|
|
21
21
|
doap:download-page <https://rubygems.org/gems/rdf-turtle> ;
|
22
22
|
doap:mailing-list <http://lists.w3.org/Archives/Public/public-rdf-ruby/> ;
|
23
23
|
doap:bug-database <https://github.com/ruby-rdf/rdf-turtle/issues> ;
|
24
|
-
doap:blog <
|
25
|
-
doap:developer <
|
26
|
-
doap:maintainer <
|
27
|
-
doap:documenter <
|
28
|
-
foaf:maker <
|
24
|
+
doap:blog <https://greggkellogg.net/> ;
|
25
|
+
doap:developer <https://greggkellogg.net/foaf#me> ;
|
26
|
+
doap:maintainer <https://greggkellogg.net/foaf#me> ;
|
27
|
+
doap:documenter <https://greggkellogg.net/foaf#me> ;
|
28
|
+
foaf:maker <https://greggkellogg.net/foaf#me> ;
|
29
29
|
dc:title "RDF::Turtle" ;
|
30
30
|
dc:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
31
31
|
dc:date "2011-08-29"^^xsd:date;
|
32
|
-
dc:creator <
|
32
|
+
dc:creator <https://greggkellogg.net/foaf#me>;
|
33
33
|
dc:isPartOf <https://rubygems.org/gems/rdf> .
|
34
34
|
|
35
|
-
<
|
35
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
|
36
36
|
foaf:name "Gregg Kellogg";
|
37
37
|
foaf:title "Implementor";
|
38
|
-
foaf:homepage <
|
38
|
+
foaf:homepage <https://greggkellogg.net/> .
|
39
39
|
|
40
40
|
[ a earl:Assertion;
|
41
|
-
earl:assertedBy <
|
41
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
42
42
|
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
43
43
|
earl:test <http://example/manifest.ttl#testeval00>;
|
44
44
|
earl:result [
|
@@ -7,13 +7,13 @@
|
|
7
7
|
@prefix ex: <http://example.org/> .
|
8
8
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
9
9
|
|
10
|
-
<
|
10
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
|
11
11
|
foaf:name "Gregg Kellogg";
|
12
12
|
foaf:title "Implementor";
|
13
|
-
foaf:homepage <
|
13
|
+
foaf:homepage <https://greggkellogg.net/> .
|
14
14
|
|
15
15
|
[ a earl:Assertion;
|
16
|
-
earl:assertedBy <
|
16
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
17
17
|
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
18
18
|
earl:test <http://example/manifest.ttl#testeval00>;
|
19
19
|
earl:result [
|
@@ -21,21 +21,21 @@
|
|
21
21
|
doap:download-page <https://rubygems.org/gems/rdf-turtle> ;
|
22
22
|
doap:mailing-list <http://lists.w3.org/Archives/Public/public-rdf-ruby/> ;
|
23
23
|
doap:bug-database <https://github.com/ruby-rdf/rdf-turtle/issues> ;
|
24
|
-
doap:blog <
|
25
|
-
doap:developer <
|
26
|
-
doap:maintainer <
|
27
|
-
doap:documenter <
|
28
|
-
foaf:maker <
|
24
|
+
doap:blog <https://greggkellogg.net/> ;
|
25
|
+
doap:developer <https://greggkellogg.net/foaf#me> ;
|
26
|
+
doap:maintainer <https://greggkellogg.net/foaf#me> ;
|
27
|
+
doap:documenter <https://greggkellogg.net/foaf#me> ;
|
28
|
+
foaf:maker <https://greggkellogg.net/foaf#me> ;
|
29
29
|
dc:title "RDF::Turtle" ;
|
30
30
|
dc:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
31
31
|
dc:date "2011-08-29"^^xsd:date;
|
32
|
-
dc:creator <
|
32
|
+
dc:creator <https://greggkellogg.net/foaf#me>;
|
33
33
|
dc:isPartOf <https://rubygems.org/gems/rdf> .
|
34
34
|
|
35
|
-
<
|
35
|
+
<https://greggkellogg.net/foaf#me> a earl:Assertor .
|
36
36
|
|
37
37
|
[ a earl:Assertion;
|
38
|
-
earl:assertedBy <
|
38
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
39
39
|
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
40
40
|
earl:test <http://example/manifest.ttl#testeval00>;
|
41
41
|
earl:result [
|
@@ -73,12 +73,12 @@ Implementation Report
|
|
73
73
|
<h2 id='w3c-document-28-october-2015'>
|
74
74
|
<abbr title='World Wide Web Consortium'>W3C</abbr>
|
75
75
|
Document
|
76
|
-
<time class='dt-published' datetime='2021-
|
77
|
-
|
76
|
+
<time class='dt-published' datetime='2021-03-18' property='dc:issued'>
|
77
|
+
18 March 2021
|
78
78
|
</time>
|
79
79
|
</h2>
|
80
80
|
<dl>
|
81
|
-
<dt>Editor:</dt><dd class='p-author h-card vcard' inlist='inlist' property='bibo:editor'><span property='rdf:first' typeof='foaf:Person'><meta content='Gregg Kellogg' property='foaf:name' /><a class='url fn u-url p-name' href='
|
81
|
+
<dt>Editor:</dt><dd class='p-author h-card vcard' inlist='inlist' property='bibo:editor'><span property='rdf:first' typeof='foaf:Person'><meta content='Gregg Kellogg' property='foaf:name' /><a class='url fn u-url p-name' href='https://greggkellogg.net/' property='foaf:homepage'>Gregg Kellogg</a></span></dd></dl>
|
82
82
|
<p>
|
83
83
|
This document is also available in these non-normative formats:
|
84
84
|
<a href='earl.ttl' re='alternate'></a>
|
@@ -105,7 +105,7 @@ rules apply.
|
|
105
105
|
</p>
|
106
106
|
<hr />
|
107
107
|
</div>
|
108
|
-
<section about='' id='abstract' typeof='
|
108
|
+
<section about='' id='abstract' typeof='doap:Project Software'>
|
109
109
|
<h2>Abstract</h2>
|
110
110
|
<p>
|
111
111
|
This document report test subject conformance for and related specifications for
|
@@ -212,18 +212,18 @@ Report Generation Software
|
|
212
212
|
for each test, referencing the test resource from the associated manifest
|
213
213
|
and the test subject being reported upon. An example test entry is be the following:</p>
|
214
214
|
|
215
|
-
<pre><code> [ a earl:Assertion;
 earl:assertedBy <
|
215
|
+
<pre><code> [ a earl:Assertion;
 earl:assertedBy <https://greggkellogg.net/foaf#me>;
 earl:subject <--your-software-identifier-->;
 earl:test <--uri-of-test-from-manifest>;
 earl:result [
 a earl:TestResult;
 earl:outcome earl:passed;
 dc:date "2016-12-26T10:18:04-08:00"^^xsd:dateTime];
 earl:mode earl:automatic ] .
</code></pre>
|
216
216
|
|
217
217
|
<p>The Test Subject should be defined as a <code>doap:Project</code>, including the name,
|
218
218
|
homepage and developer(s) of the software (see <a href="https://github.com/edumbill/doap/wiki">DOAP</a>). Optionally, including the
|
219
219
|
project description and programming language. An example test subject description is the following:</p>
|
220
220
|
|
221
|
-
<pre><code> <> foaf:primaryTopic <--your-software-identifier--> ;
 dc:issued "2016-12-26T10:18:04-08:00"^^xsd:dateTime ;
 foaf:maker <
|
221
|
+
<pre><code> <> foaf:primaryTopic <--your-software-identifier--> ;
 dc:issued "2016-12-26T10:18:04-08:00"^^xsd:dateTime ;
 foaf:maker <https://greggkellogg.net/foaf#me> .

 <--your-software-identifier--> a doap:Project, earl:TestSubject, earl:Software ;
 doap:name "Gregg Kellogg" ;
 doap:homepage <--your-software-homepace--> ;
 doap:license <--license-for-your-software--> ;
 doap:shortdesc "--your-short-project-description--"@en ;
 doap:description "--your-project-description--"@en ;
 doap:created "2016-12-09"^^xsd:date ;
 doap:programming-language "--your-implementation-language--" ;
 doap:implements <--specification-uri--> ;
 doap:category <--category-uris-for-specification-framework-and-implementation-language--> ;
 doap:download-page <--your-project-repository--> ;
 doap:mailing-list <--specification-public-mailing-list--@w3.org> ;
 doap:bug-database <--your-project-repository--/issues> ;
 doap:blog <--your-blog--> ;
 doap:developer <https://greggkellogg.net/foaf#me> ;
 foaf:maker <https://greggkellogg.net/foaf#me> ;
 dc:title "--your-project-name--" ;
 dc:description "--your-project-description--"@en ;
 dc:date "2016-12-09"^^xsd:date ;
 dc:creator <https://greggkellogg.net/foaf#me> ;
 dc:isPartOf <--your-implementation-framework--> .
</code></pre>
|
222
222
|
|
223
223
|
<p>The software developer, either an organization or one or more individuals SHOULD be
|
224
224
|
referenced from <code>doap:developer</code> using <a href="http://xmlns.com/foaf/spec">FOAF</a>. For example:</p>
|
225
225
|
|
226
|
-
<pre><code> <--your-software-identifier--> a foaf:Person, earl:Assertor;
 foaf:name "Gregg Kellogg";
 foaf:title "Implementor";
 foaf:homepage <
|
226
|
+
<pre><code> <--your-software-identifier--> a foaf:Person, earl:Assertor;
 foaf:name "Gregg Kellogg";
 foaf:title "Implementor";
 foaf:homepage <https://greggkellogg.net/foaf#me> .
</code></pre>
|
227
227
|
|
228
228
|
</section>
|
229
229
|
<section id='test-manifests'>
|
@@ -245,12 +245,12 @@ Test
|
|
245
245
|
<a href='#subj_0'>RDF::Turtle</a>
|
246
246
|
</th>
|
247
247
|
</tr>
|
248
|
-
<tr inlist='inlist' rel='mf:entries' resource='http://example/manifest.ttl#testeval00' typeof='http://www.w3.org/ns/rdftest#TestTurtleEval TestCase
|
248
|
+
<tr inlist='inlist' rel='mf:entries' resource='http://example/manifest.ttl#testeval00' typeof='http://www.w3.org/ns/rdftest#TestTurtleEval TestCriterion TestCase'>
|
249
249
|
<td>
|
250
250
|
<a href='#test_1fdd82ac4caf30510cabfdb0a5987ddd'>subm-test-00</a>
|
251
251
|
</td>
|
252
252
|
<td class='PASS' property='earl:assertions' typeof='Assertion'>
|
253
|
-
<link href='
|
253
|
+
<link href='https://greggkellogg.net/foaf#me' property='earl:assertedBy' />
|
254
254
|
<link href='http://example/manifest.ttl#testeval00' property='earl:test' />
|
255
255
|
<link href='https://rubygems.org/gems/rdf-turtle' property='earl:subject' />
|
256
256
|
<link href='earl:automatic' property='earl:mode' />
|
@@ -261,9 +261,9 @@ PASS
|
|
261
261
|
</span>
|
262
262
|
</td>
|
263
263
|
</tr>
|
264
|
-
<tr inlist='inlist' rel='mf:entries' resource='_:
|
264
|
+
<tr inlist='inlist' rel='mf:entries' resource='_:b0' typeof='http://www.w3.org/ns/rdftest#TestTurtleEval TestCriterion TestCase'>
|
265
265
|
<td>
|
266
|
-
<a href='#
|
266
|
+
<a href='#test_9616fad74c7bf0cfba5d70f087ed0a96'>subm-test-01</a>
|
267
267
|
</td>
|
268
268
|
<td class='UNTESTED' property='earl:assertions' typeof='Assertion'>
|
269
269
|
<link href='https://rubygems.org/gems/rdf-turtle' property='earl:subject' />
|
@@ -300,7 +300,7 @@ This report was tested using the following test subjects:
|
|
300
300
|
<span about='https://rubygems.org/gems/rdf-turtle' property='doap:name'>RDF::Turtle</span>
|
301
301
|
</a>
|
302
302
|
</dt>
|
303
|
-
<dd property='earl:testSubjects' resource='https://rubygems.org/gems/rdf-turtle' typeof='Software TestSubject
|
303
|
+
<dd property='earl:testSubjects' resource='https://rubygems.org/gems/rdf-turtle' typeof='doap:Project Software TestSubject'>
|
304
304
|
<dl>
|
305
305
|
<dt>Description</dt>
|
306
306
|
<dd lang='en' property='doap:description'>RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.</dd>
|
@@ -316,12 +316,12 @@ http://ruby-rdf.github.com/rdf-turtle
|
|
316
316
|
</dd>
|
317
317
|
<dt>Developer</dt>
|
318
318
|
<dd rel='doap:developer'>
|
319
|
-
<div resource='
|
320
|
-
<a href='
|
319
|
+
<div resource='https://greggkellogg.net/foaf#me' typeof='foaf:Person Assertor'>
|
320
|
+
<a href='https://greggkellogg.net/foaf#me'>
|
321
321
|
<span property='foaf:name'>Gregg Kellogg</span>
|
322
322
|
</a>
|
323
|
-
<a href='
|
324
|
-
|
323
|
+
<a href='https://greggkellogg.net/' property='foaf:homepage'>
|
324
|
+
https://greggkellogg.net/
|
325
325
|
</a>
|
326
326
|
</div>
|
327
327
|
</dd>
|
@@ -376,11 +376,11 @@ Test
|
|
376
376
|
<pre class='example actionDoc' property='mf:action' resource='http://example/test-00.ttl' title='subm-test-00 Input'>http://example/test-00.ttl not loaded</pre>
|
377
377
|
<pre class='example resultDoc' property='mf:result' resource='http://example/test-00.out' title='subm-test-00 Result'>http://example/test-00.out not loaded</pre>
|
378
378
|
</dd>
|
379
|
-
<dt id='
|
379
|
+
<dt id='test_9616fad74c7bf0cfba5d70f087ed0a96' resource='_:b0'>
|
380
380
|
Test
|
381
381
|
<span property='dc:title mf:name'>subm-test-01</span>
|
382
382
|
</dt>
|
383
|
-
<dd resource='_:
|
383
|
+
<dd resource='_:b0'>
|
384
384
|
<p property='dc:description rdfs:comment'></p>
|
385
385
|
<pre class='example actionDoc' property='mf:action' resource='http://example/test-01.ttl' title='subm-test-01 Input'>http://example/test-01.ttl not loaded</pre>
|
386
386
|
<pre class='example resultDoc' property='mf:result' resource='http://example/test-01.out' title='subm-test-01 Result'>http://example/test-01.out not loaded</pre>
|
@@ -388,7 +388,7 @@ Test
|
|
388
388
|
</div>
|
389
389
|
</dl>
|
390
390
|
</section>
|
391
|
-
<section class='appendix' id='report-generation-software' property='earl:generatedBy' resource='https://rubygems.org/gems/earl-report' typeof='
|
391
|
+
<section class='appendix' id='report-generation-software' property='earl:generatedBy' resource='https://rubygems.org/gems/earl-report' typeof='doap:Project Software'>
|
392
392
|
<h2>
|
393
393
|
<span class='secno'>D.</span>
|
394
394
|
Report Generation Software
|
@@ -399,9 +399,9 @@ This report generated by
|
|
399
399
|
<meta content='Earl Report summary generator' property='doap:shortdesc' />
|
400
400
|
<meta content='EarlReport generates HTML+RDFa rollups of multiple EARL reports' property='doap:description' />
|
401
401
|
version
|
402
|
-
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.5.
|
403
|
-
<span property='doap:revision'>0.5.
|
404
|
-
<meta content='earl-report-0.5.
|
402
|
+
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.5.2' typeof='doap:Version'>
|
403
|
+
<span property='doap:revision'>0.5.2</span>
|
404
|
+
<meta content='earl-report-0.5.2' property='doap:name' />
|
405
405
|
</span>
|
406
406
|
an
|
407
407
|
<a href='http://unlicense.org' property='doap:license'>Unlicensed</a>
|
@@ -410,9 +410,9 @@ application. More information is available at
|
|
410
410
|
<a href='https://github.com/gkellogg/earl-report' property='doap:homepage'>https://github.com/gkellogg/earl-report</a>
|
411
411
|
.
|
412
412
|
</p>
|
413
|
-
<p property='doap:developer' resource='
|
413
|
+
<p property='doap:developer' resource='https://greggkellogg.net/foaf#me' typeof='foaf:Person'>
|
414
414
|
This software is provided by
|
415
|
-
<a href='
|
415
|
+
<a href='https://greggkellogg.net/' property='foaf:homepage'><span about='https://greggkellogg.net/foaf#me' property='foaf:name'>Gregg Kellogg</span></a>
|
416
416
|
in hopes that it might make the lives of conformance testers easier.
|
417
417
|
</p>
|
418
418
|
</section>
|
@@ -104,77 +104,77 @@
|
|
104
104
|
},
|
105
105
|
"@id": "",
|
106
106
|
"@type": [
|
107
|
-
"
|
108
|
-
"
|
107
|
+
"doap:Project",
|
108
|
+
"Software"
|
109
109
|
],
|
110
|
-
"name": "Turtle Test Results",
|
111
|
-
"generatedBy": {
|
112
|
-
"@id": "https://rubygems.org/gems/earl-report",
|
113
|
-
"@type": [
|
114
|
-
"Software",
|
115
|
-
"doap:Project"
|
116
|
-
],
|
117
|
-
"name": "earl-report",
|
118
|
-
"shortdesc": "Earl Report summary generator",
|
119
|
-
"doapDesc": "EarlReport generates HTML+RDFa rollups of multiple EARL reports",
|
120
|
-
"license": "http://unlicense.org",
|
121
|
-
"language": "Ruby",
|
122
|
-
"developer": [
|
123
|
-
{
|
124
|
-
"@id": "http://greggkellogg.net/foaf#me",
|
125
|
-
"@type": [
|
126
|
-
"foaf:Person",
|
127
|
-
"Assertor"
|
128
|
-
],
|
129
|
-
"foaf:name": "Gregg Kellogg",
|
130
|
-
"foaf:homepage": "http://greggkellogg.net/"
|
131
|
-
}
|
132
|
-
],
|
133
|
-
"homepage": "https://github.com/gkellogg/earl-report",
|
134
|
-
"release": {
|
135
|
-
"@id": "https://github.com/gkellogg/earl-report/tree/0.5.1",
|
136
|
-
"@type": "doap:Version",
|
137
|
-
"name": "earl-report-0.5.1",
|
138
|
-
"doap:created": {
|
139
|
-
"@type": "http://www.w3.org/2001/XMLSchema#date",
|
140
|
-
"@value": "2020-04-11"
|
141
|
-
},
|
142
|
-
"revision": "0.5.1"
|
143
|
-
}
|
144
|
-
},
|
145
|
-
"bibRef": "[[TURTLE]]",
|
146
110
|
"testSubjects": [
|
147
111
|
{
|
148
112
|
"@id": "https://rubygems.org/gems/rdf-turtle",
|
149
113
|
"@type": [
|
114
|
+
"doap:Project",
|
150
115
|
"Software",
|
151
|
-
"TestSubject"
|
152
|
-
"doap:Project"
|
116
|
+
"TestSubject"
|
153
117
|
],
|
154
|
-
"name": "RDF::Turtle",
|
155
|
-
"doapDesc": "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.",
|
156
118
|
"language": "Ruby",
|
119
|
+
"doapDesc": "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.",
|
120
|
+
"release": {
|
121
|
+
"@id": "_:b3",
|
122
|
+
"revision": "unknown"
|
123
|
+
},
|
124
|
+
"name": "RDF::Turtle",
|
157
125
|
"developer": [
|
158
126
|
{
|
159
|
-
"@id": "
|
127
|
+
"@id": "https://greggkellogg.net/foaf#me",
|
160
128
|
"@type": [
|
161
129
|
"foaf:Person",
|
162
130
|
"Assertor"
|
163
131
|
],
|
164
132
|
"foaf:name": "Gregg Kellogg",
|
165
|
-
"foaf:homepage": "
|
133
|
+
"foaf:homepage": "https://greggkellogg.net/"
|
166
134
|
}
|
167
135
|
],
|
168
|
-
"homepage": "http://ruby-rdf.github.com/rdf-turtle"
|
169
|
-
"release": {
|
170
|
-
"@id": "_:b2",
|
171
|
-
"revision": "unknown"
|
172
|
-
}
|
136
|
+
"homepage": "http://ruby-rdf.github.com/rdf-turtle"
|
173
137
|
}
|
174
138
|
],
|
139
|
+
"bibRef": "[[TURTLE]]",
|
175
140
|
"assertions": [
|
176
141
|
"/Users/gregg/Projects/earl-report/spec/test-files/report-complete.ttl"
|
177
142
|
],
|
143
|
+
"generatedBy": {
|
144
|
+
"@id": "https://rubygems.org/gems/earl-report",
|
145
|
+
"@type": [
|
146
|
+
"doap:Project",
|
147
|
+
"Software"
|
148
|
+
],
|
149
|
+
"language": "Ruby",
|
150
|
+
"license": "http://unlicense.org",
|
151
|
+
"doapDesc": "EarlReport generates HTML+RDFa rollups of multiple EARL reports",
|
152
|
+
"shortdesc": "Earl Report summary generator",
|
153
|
+
"release": {
|
154
|
+
"@id": "https://github.com/gkellogg/earl-report/tree/0.5.2",
|
155
|
+
"@type": "doap:Version",
|
156
|
+
"name": "earl-report-0.5.2",
|
157
|
+
"doap:created": {
|
158
|
+
"@type": "http://www.w3.org/2001/XMLSchema#date",
|
159
|
+
"@value": "2021-01-19"
|
160
|
+
},
|
161
|
+
"revision": "0.5.2"
|
162
|
+
},
|
163
|
+
"name": "earl-report",
|
164
|
+
"developer": [
|
165
|
+
{
|
166
|
+
"@id": "https://greggkellogg.net/foaf#me",
|
167
|
+
"@type": [
|
168
|
+
"foaf:Person",
|
169
|
+
"Assertor"
|
170
|
+
],
|
171
|
+
"foaf:name": "Gregg Kellogg",
|
172
|
+
"foaf:homepage": "https://greggkellogg.net/"
|
173
|
+
}
|
174
|
+
],
|
175
|
+
"homepage": "https://github.com/gkellogg/earl-report"
|
176
|
+
},
|
177
|
+
"name": "Turtle Test Results",
|
178
178
|
"entries": [
|
179
179
|
{
|
180
180
|
"@id": "http://example/manifest.ttl",
|
@@ -189,54 +189,54 @@
|
|
189
189
|
"@id": "http://example/manifest.ttl#testeval00",
|
190
190
|
"@type": [
|
191
191
|
"http://www.w3.org/ns/rdftest#TestTurtleEval",
|
192
|
-
"
|
193
|
-
"
|
192
|
+
"TestCriterion",
|
193
|
+
"TestCase"
|
194
194
|
],
|
195
|
-
"testResult": "http://example/test-00.out",
|
196
195
|
"rdfs:comment": "Blank subject",
|
197
196
|
"assertions": [
|
198
197
|
{
|
199
|
-
"@id": "_:
|
198
|
+
"@id": "_:b1",
|
200
199
|
"@type": "Assertion",
|
201
|
-
"
|
202
|
-
"assertedBy": "http://greggkellogg.net/foaf#me",
|
200
|
+
"mode": "earl:automatic",
|
203
201
|
"subject": "https://rubygems.org/gems/rdf-turtle",
|
202
|
+
"assertedBy": "https://greggkellogg.net/foaf#me",
|
203
|
+
"test": "http://example/manifest.ttl#testeval00",
|
204
204
|
"result": {
|
205
|
-
"@id": "_:
|
205
|
+
"@id": "_:b2",
|
206
206
|
"@type": "TestResult",
|
207
207
|
"outcome": "earl:passed"
|
208
|
-
}
|
209
|
-
"mode": "earl:automatic"
|
208
|
+
}
|
210
209
|
}
|
211
210
|
],
|
212
|
-
"
|
213
|
-
"
|
211
|
+
"testAction": "http://example/test-00.ttl",
|
212
|
+
"testResult": "http://example/test-00.out",
|
213
|
+
"title": "subm-test-00"
|
214
214
|
},
|
215
215
|
{
|
216
216
|
"@id": "_:b0",
|
217
217
|
"@type": [
|
218
218
|
"http://www.w3.org/ns/rdftest#TestTurtleEval",
|
219
|
-
"
|
220
|
-
"
|
219
|
+
"TestCriterion",
|
220
|
+
"TestCase"
|
221
221
|
],
|
222
|
-
"testResult": "http://example/test-01.out",
|
223
222
|
"rdfs:comment": "@prefix and qnames",
|
224
223
|
"assertions": [
|
225
224
|
{
|
226
|
-
"@id": "_:
|
225
|
+
"@id": "_:b4",
|
227
226
|
"@type": "Assertion",
|
228
|
-
"test": "_:b0",
|
229
227
|
"subject": "https://rubygems.org/gems/rdf-turtle",
|
228
|
+
"test": "_:b0",
|
230
229
|
"result": {
|
231
|
-
"@id": "_:
|
230
|
+
"@id": "_:b5",
|
232
231
|
"@type": "TestResult",
|
233
232
|
"outcome": "earl:untested"
|
234
233
|
},
|
235
234
|
"assertedBy": null
|
236
235
|
}
|
237
236
|
],
|
238
|
-
"
|
239
|
-
"
|
237
|
+
"testAction": "http://example/test-01.ttl",
|
238
|
+
"testResult": "http://example/test-01.out",
|
239
|
+
"title": "subm-test-01"
|
240
240
|
}
|
241
241
|
]
|
242
242
|
}
|
data/spec/test-files/results.ttl
CHANGED
@@ -1,96 +1,83 @@
|
|
1
|
-
@prefix dc:
|
1
|
+
@prefix dc: <http://purl.org/dc/terms/> .
|
2
2
|
@prefix doap: <http://usefulinc.com/ns/doap#> .
|
3
3
|
@prefix earl: <http://www.w3.org/ns/earl#> .
|
4
|
+
@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
|
5
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
4
6
|
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
5
|
-
@prefix
|
6
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
7
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
7
8
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
8
|
-
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
9
9
|
|
10
|
-
<> a earl:Software
|
11
|
-
|
12
|
-
dc:bibliographicCitation "[[TURTLE]]";
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
earl:testSubjects <https://rubygems.org/gems/rdf-turtle> .
|
10
|
+
<> a doap:Project, earl:Software ;
|
11
|
+
earl:testSubjects <https://rubygems.org/gems/rdf-turtle> ;
|
12
|
+
dc:bibliographicCitation "[[TURTLE]]" ;
|
13
|
+
earl:assertions </Users/gregg/Projects/earl-report/spec/test-files/report-complete.ttl> ;
|
14
|
+
earl:generatedBy <https://rubygems.org/gems/earl-report> ;
|
15
|
+
doap:name "Turtle Test Results" ;
|
16
|
+
mf:entries (<http://example/manifest.ttl>) .
|
18
17
|
|
19
18
|
# Manifests
|
19
|
+
<http://example/manifest.ttl> a mf:Manifest, earl:Report ;
|
20
|
+
rdfs:comment "Description for Example Test Cases" ;
|
21
|
+
mf:name "Example Test Cases" ;
|
22
|
+
mf:entries (<http://example/manifest.ttl#testeval00>
|
23
|
+
_:b0) .
|
20
24
|
|
21
|
-
<http://example/manifest.ttl> a
|
22
|
-
|
23
|
-
rdfs:comment "Description for Example Test Cases";
|
24
|
-
mf:entries (<http://example/manifest.ttl#testeval00> _:g487980);
|
25
|
-
mf:name "Example Test Cases" .
|
26
|
-
|
27
|
-
<http://example/manifest.ttl#testeval00> a <http://www.w3.org/ns/rdftest#TestTurtleEval>,
|
28
|
-
earl:TestCase,
|
29
|
-
earl:TestCriterion;
|
30
|
-
rdfs:comment "Blank subject";
|
31
|
-
mf:action <http://example/test-00.ttl>;
|
32
|
-
mf:name "subm-test-00";
|
33
|
-
mf:result <http://example/test-00.out>;
|
25
|
+
<http://example/manifest.ttl#testeval00> a <http://www.w3.org/ns/rdftest#TestTurtleEval>, earl:TestCriterion, earl:TestCase ;
|
26
|
+
rdfs:comment "Blank subject" ;
|
34
27
|
earl:assertions [
|
35
|
-
a earl:Assertion;
|
36
|
-
earl:
|
37
|
-
earl:
|
28
|
+
a earl:Assertion ;
|
29
|
+
earl:test <http://example/manifest.ttl#testeval00> ;
|
30
|
+
earl:subject <https://rubygems.org/gems/rdf-turtle> ;
|
38
31
|
earl:result [
|
39
|
-
a earl:TestResult;
|
32
|
+
a earl:TestResult ;
|
40
33
|
earl:outcome earl:passed
|
41
|
-
];
|
42
|
-
earl:
|
43
|
-
|
44
|
-
|
34
|
+
] ;
|
35
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me> ;
|
36
|
+
] ;
|
37
|
+
mf:action <http://example/test-00.ttl> ;
|
38
|
+
mf:result <http://example/test-00.out> ;
|
39
|
+
mf:name "subm-test-00" .
|
45
40
|
|
46
|
-
_:
|
47
|
-
|
48
|
-
earl:TestCriterion;
|
49
|
-
rdfs:comment "@prefix and qnames";
|
50
|
-
mf:action <http://example/test-01.ttl>;
|
51
|
-
mf:name "subm-test-01";
|
52
|
-
mf:result <http://example/test-01.out>;
|
41
|
+
_:b0 a <http://www.w3.org/ns/rdftest#TestTurtleEval>, earl:TestCriterion, earl:TestCase ;
|
42
|
+
rdfs:comment "@prefix and qnames" ;
|
53
43
|
earl:assertions [
|
54
|
-
a earl:Assertion;
|
44
|
+
a earl:Assertion ;
|
45
|
+
earl:test _:b0 ;
|
46
|
+
earl:subject <https://rubygems.org/gems/rdf-turtle> ;
|
55
47
|
earl:result [
|
56
|
-
a earl:TestResult;
|
48
|
+
a earl:TestResult ;
|
57
49
|
earl:outcome earl:untested
|
58
|
-
];
|
59
|
-
|
60
|
-
|
61
|
-
|
50
|
+
] ;
|
51
|
+
] ;
|
52
|
+
mf:action <http://example/test-01.ttl> ;
|
53
|
+
mf:result <http://example/test-01.out> ;
|
54
|
+
mf:name "subm-test-01" .
|
62
55
|
|
63
|
-
|
56
|
+
<https://rubygems.org/gems/rdf-turtle> a doap:Project, earl:Software, earl:TestSubject ;
|
57
|
+
doap:programming-language "Ruby" ;
|
58
|
+
doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
59
|
+
doap:release [doap:revision "unknown"] ;
|
60
|
+
doap:name "RDF::Turtle" ;
|
61
|
+
doap:developer <https://greggkellogg.net/foaf#me> ;
|
62
|
+
doap:homepage <http://ruby-rdf.github.com/rdf-turtle> .
|
64
63
|
|
65
|
-
<https://
|
66
|
-
|
67
|
-
|
68
|
-
doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en;
|
69
|
-
doap:developer <http://greggkellogg.net/foaf#me>;
|
70
|
-
doap:homepage <http://ruby-rdf.github.com/rdf-turtle>;
|
71
|
-
doap:name "RDF::Turtle";
|
72
|
-
doap:programming-language "Ruby";
|
73
|
-
doap:release [doap:revision "unknown"] .
|
64
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor ;
|
65
|
+
foaf:name "Gregg Kellogg" ;
|
66
|
+
foaf:homepage <https://greggkellogg.net/> .
|
74
67
|
|
75
|
-
<http://greggkellogg.net/foaf#me> a foaf:Person,
|
76
|
-
earl:Assertor;
|
77
|
-
foaf:homepage <http://greggkellogg.net/>;
|
78
|
-
foaf:name "Gregg Kellogg" .
|
79
68
|
|
80
69
|
# Report Generation Software
|
70
|
+
<https://rubygems.org/gems/earl-report> a earl:Software, doap:Project;
|
71
|
+
doap:name "earl-report";
|
72
|
+
doap:shortdesc "Earl Report summary generator"@en;
|
73
|
+
doap:description "EarlReport generates HTML+RDFa rollups of multiple EARL reports"@en;
|
74
|
+
doap:homepage <https://github.com/gkellogg/earl-report>;
|
75
|
+
doap:programming-language "Ruby";
|
76
|
+
doap:license <http://unlicense.org>;
|
77
|
+
doap:release <https://github.com/gkellogg/earl-report/tree/0.5.2>;
|
78
|
+
doap:developer <https://greggkellogg.net/foaf#me> .
|
81
79
|
|
82
|
-
<https://
|
83
|
-
|
84
|
-
doap:
|
85
|
-
doap:
|
86
|
-
doap:homepage <https://github.com/gkellogg/earl-report>;
|
87
|
-
doap:license <http://unlicense.org>;
|
88
|
-
doap:name "earl-report";
|
89
|
-
doap:programming-language "Ruby";
|
90
|
-
doap:release <https://github.com/gkellogg/earl-report/tree/0.5.1>;
|
91
|
-
doap:shortdesc "Earl Report summary generator"@en .
|
92
|
-
|
93
|
-
<https://github.com/gkellogg/earl-report/tree/0.5.1> a doap:Version;
|
94
|
-
doap:created "2020-04-11"^^xsd:date;
|
95
|
-
doap:name "earl-report-0.5.1";
|
96
|
-
doap:revision "0.5.1" .
|
80
|
+
<https://github.com/gkellogg/earl-report/tree/0.5.2> a doap:Version;
|
81
|
+
doap:name "earl-report-0.5.2";
|
82
|
+
doap:created "2021-01-19"^^xsd:date;
|
83
|
+
doap:revision "0.5.2" .
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: earl-report
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg Kellogg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: linkeddata
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
89
|
+
version: '3.10'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '3.
|
96
|
+
version: '3.10'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec-its
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|