diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0aaedb9..9a760e1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,7 +22,7 @@ jobs:
ruby:
- 2.6
- 2.7
- - 3.0
+ - "3.0"
- 3.1
- ruby-head
- jruby
diff --git a/.github/workflows/generate-docs.yml b/.github/workflows/generate-docs.yml
new file mode 100644
index 0000000..b8d16ed
--- /dev/null
+++ b/.github/workflows/generate-docs.yml
@@ -0,0 +1,27 @@
+name: Build & deploy documentation
+on:
+ push:
+ branches:
+ - master
+ workflow_dispatch:
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ name: Update gh-pages with docs
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v2
+ - name: Set up Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: "3.1"
+ - name: Install required gem dependencies
+ run: gem install yard --no-document
+ - name: Build YARD Ruby Documentation
+ run: yardoc
+ - name: Deploy
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./doc/yard
+ publish_branch: gh-pages
diff --git a/.yardopts b/.yardopts
new file mode 100644
index 0000000..d2ba358
--- /dev/null
+++ b/.yardopts
@@ -0,0 +1,11 @@
+--title "RDF:Normalize: RDF Dataset Normalization"
+--output-dir doc/yard
+--protected
+--no-private
+--hide-void-return
+--markup markdown
+--readme README.md
+-
+AUTHORS
+LICENSE
+VERSION
diff --git a/README.md b/README.md
index 69fe247..88531fe 100755
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ RDF Graph normalizer for [RDF.rb][RDF.rb].
[![Gitter chat](https://badges.gitter.im/ruby-rdf/rdf.png)](https://gitter.im/ruby-rdf/rdf)
## Description
-This is a [Ruby][] implementation of a [RDF Normalize][] for [RDF.rb][].
+This is a [Ruby][] implementation of a [RDF Dataset Canonicalization][] for [RDF.rb][].
## Features
RDF::Normalize generates normalized [N-Quads][] output for an RDF Dataset using the algorithm
@@ -16,8 +16,8 @@ to serialize normalized statements.
Algorithms implemented:
-* [URGNA2012](https://json-ld.github.io/normalization/spec/index.html#dfn-urgna2012)
-* [URDNA2015](https://json-ld.github.io/normalization/spec/index.html#dfn-urdna2015)
+* [URGNA2012](https://www.w3.org/TR/rdf-canon/#dfn-urgna2012)
+* [URDNA2015](https://www.w3.org/TR/rdf-canon/#dfn-urdna2015)
Install with `gem install rdf-normalize`
@@ -27,7 +27,17 @@ Install with `gem install rdf-normalize`
## Usage
## Documentation
-Full documentation available on [Rubydoc.info][Normalize doc]
+
+Full documentation available on [GitHub][Normalize doc]
+
+## Examples
+
+### Returning normalized N-Quads
+
+ require 'rdf/normalize'
+ require 'rdf/turtle'
+ g = RDF::Graph.load("etc/doap.ttl")
+ puts g.dump(:normalize)
### Principle Classes
* {RDF::Normalize}
@@ -37,7 +47,6 @@ Full documentation available on [Rubydoc.info][Normalize doc]
* {RDF::Normalize::URGNA2012}
* {RDF::Normalize::URDNA2015}
-
## Dependencies
* [Ruby](https://ruby-lang.org/) (>= 2.6)
@@ -80,7 +89,7 @@ see or the accompanying {file:LICENSE} file.
[YARD]: https://yardoc.org/
[YARD-GS]: https://rubydoc.info/docs/yard/file/docs/GettingStarted.md
[PDD]: https://unlicense.org/#unlicensing-contributions
-[RDF.rb]: https://rubydoc.info/github/ruby-rdf/rdf-normalize
+[RDF.rb]: https://ruby-rdf.github.io/rdf-normalize
[N-Triples]: https://www.w3.org/TR/rdf-testcases/#ntriples
-[RDF Normalize]:https://json-ld.github.io/normalization/spec/
-[Normalize doc]:https://rubydoc.info/github/ruby-rdf/rdf-normalize/master
+[RDF Dataset Canonicalization]: https://www.w3.org/TR/rdf-canon/
+[Normalize doc]: https://ruby-rdf.github.io/rdf-normalize/
diff --git a/Rakefile b/Rakefile
old mode 100644
new mode 100755
index abcf5a1..1cf17e1
--- a/Rakefile
+++ b/Rakefile
@@ -1,7 +1,4 @@
#!/usr/bin/env ruby
-$:.unshift(File.expand_path(File.join(File.dirname(__FILE__), 'lib')))
-require 'rubygems'
-
namespace :gem do
desc "Build the rdf-normalize-#{File.read('VERSION').chomp}.gem file"
task :build do
@@ -13,29 +10,3 @@ namespace :gem do
sh "gem push pkg/rdf-normalize-#{File.read('VERSION').chomp}.gem"
end
end
-
-desc 'Default: run specs.'
-task :default => :spec
-task :specs => :spec
-
-require 'rspec/core/rake_task'
-desc 'Run specifications'
-RSpec::Core::RakeTask.new do |spec|
- spec.rspec_opts = %w(--options spec/spec.opts) if File.exists?('spec/spec.opts')
-end
-
-desc "Run specs through RCov"
-RSpec::Core::RakeTask.new("spec:rcov") do |spec|
- spec.rcov = true
- spec.rcov_opts = %q[--exclude "spec"]
-end
-
-desc "Generate HTML report specs"
-RSpec::Core::RakeTask.new("doc:spec") do |spec|
- spec.rspec_opts = ["--format", "html", "-o", "doc/spec.html"]
-end
-
-require 'yard'
-namespace :doc do
- YARD::Rake::YardocTask.new
-end
diff --git a/VERSION b/VERSION
index 8f0916f..4b9fcbe 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.5.0
+0.5.1
diff --git a/etc/doap.ttl b/etc/doap.ttl
index a9b2271..502ea85 100644
--- a/etc/doap.ttl
+++ b/etc/doap.ttl
@@ -1,4 +1,3 @@
-@base .
@prefix rdf: .
@prefix rdfs: .
@prefix dc: .
@@ -7,18 +6,18 @@
@prefix ex: .
@prefix xsd: .
-<> a doap:Project ;
+ a doap:Project ;
doap:name "RDF::Normalize" ;
doap:homepage ;
doap:license ;
doap:shortdesc "RDF Dataset Normalization for RDF.rb."@en ;
- doap:description "RDF::Normalize is a Dataset normalizer for the RDF.rb library suite."@en ;
+ doap:description "RDF::Normalize performs Dataset Canonicalization for RDF.rb."@en ;
doap:created "2015-05-20"^^xsd:date;
doap:programming-language "Ruby" ;
- doap:implements ;
+ doap:implements ;
doap:category ,
;
- doap:download-page <> ;
+ doap:download-page ;
doap:mailing-list ;
doap:bug-database ;
doap:blog ;
diff --git a/etc/earl.ttl b/etc/earl.ttl
index 36d3109..b87a4a9 100644
--- a/etc/earl.ttl
+++ b/etc/earl.ttl
@@ -1,4 +1,3 @@
-@base .
@prefix rdf: .
@prefix rdfs: .
@prefix dc: .
@@ -7,1162 +6,1247 @@
@prefix ex: .
@prefix xsd: .
-<> a doap:Project ;
+ a doap:Project ;
doap:name "RDF::Normalize" ;
doap:homepage ;
doap:license ;
- doap:shortdesc "Turtle reader/writer for Ruby."@en ;
- doap:description "RDF::Normalize is a Graph normalizer for the RDF.rb library suite."@en ;
+ doap:shortdesc "RDF Dataset Normalization for RDF.rb."@en ;
+ doap:description "RDF::Normalize is a Dataset normalizer for the RDF.rb library suite."@en ;
doap:created "2015-05-20"^^xsd:date;
doap:programming-language "Ruby" ;
- doap:implements ;
+ doap:implements ;
doap:category ,
;
- doap:download-page ;
- doap:mailing-list ;
+ doap:download-page ;
+ doap:mailing-list ;
doap:bug-database ;
- doap:blog ;
- doap:developer ;
- doap:maintainer ;
- doap:documenter ;
- foaf:maker ;
- dc:creator .
-
-<> foaf:primaryTopic ;
- dc:issued "2015-05-20T12:08:28-07:00"^^xsd:dateTime ;
- foaf:maker .
-
- a foaf:Person, earl:Assertor;
+ doap:blog ;
+ doap:developer ;
+ doap:maintainer ;
+ doap:documenter ;
+ foaf:maker ;
+ dc:creator .
+
+ doap:release [
+ doap:name "rdf-normalize-0.5.0";
+ doap:revision "0.5.0";
+ doap:created "2021-12-29"^^xsd:date;
+] .
+<> foaf:primaryTopic ;
+ dc:issued "2022-10-31T15:10:51-07:00"^^xsd:dateTime ;
+ foaf:maker .
+
+ a foaf:Person, earl:Assertor;
foaf:name "Gregg Kellogg";
foaf:title "Implementor";
- foaf:homepage .
+ foaf:homepage .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject ;
+ earl:assertedBy ;
+ earl:subject ;
earl:test ;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
- dc:date "2015-05-20T12:08:28-07:00"^^xsd:dateTime];
+ dc:date "2022-10-31T15:10:51-07:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
[ a earl:Assertion;
- earl:assertedBy ;
- earl:subject