From 470f260afe92f9fd2ff62335943dbf638675910c Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Wed, 13 May 2020 10:08:33 -0700 Subject: [PATCH 1/8] Update documentation URIs. --- Gemfile | 1 + etc/doap-ntriples.ttl | 25 ++++++++++--------------- etc/doap.ttl | 7 ++++--- rdf-turtle.gemspec | 2 +- script/parse | 2 +- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/Gemfile b/Gemfile index a6ae8aa..1b97860 100644 --- a/Gemfile +++ b/Gemfile @@ -15,6 +15,7 @@ group :development, :test do gem 'rdf-spec', git: "https://github.com/ruby-rdf/rdf-spec", branch: "develop" gem 'rdf-isomorphic', git: "https://github.com/ruby-rdf/rdf-isomorphic", branch: "develop" gem 'rdf-vocab', git: "https://github.com/ruby-rdf/rdf-vocab", branch: "develop" + gem 'rdf-xsd', git: "https://github.com/ruby-rdf/rdf-xsd", branch: "develop" gem 'sxp', git: "https://github.com/dryruby/sxp.rb", branch: "develop" gem "redcarpet", platforms: :ruby gem 'simplecov', platforms: :mri diff --git a/etc/doap-ntriples.ttl b/etc/doap-ntriples.ttl index 9e2c558..0d62c5f 100644 --- a/etc/doap-ntriples.ttl +++ b/etc/doap-ntriples.ttl @@ -1,31 +1,28 @@ +@base . @prefix rdf: . @prefix rdfs: . @prefix dc: . -@prefix earl: . @prefix foaf: . @prefix doap: . -@prefix ex: . -@prefix xsd: . - a doap:Project ; +<> a doap:Project ; doap:name "RDF.rb" ; doap:homepage ; doap:license ; doap:shortdesc "A Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:description "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:created "2007-10-23" ; - doap:platform "Ruby" ; + doap:programming-language "Ruby" ; doap:category , ; - doap:implements , - , - ; + doap:implements , + , + ; doap:download-page ; doap:bug-database ; doap:blog , ; - doap:vendor ; doap:developer , , ; - doap:maintainer , , ; + doap:maintainer ; doap:documenter , , ; doap:helper [a foaf:Person ; foaf:name "Călin Ardelean" ; @@ -63,19 +60,17 @@ foaf:mbox_sha1sum "a033f652c84a4d73b8c26d318c2395699dd2bdfb", "d0737cceb55eb7d740578d2db1bc0727e3ed49ce" ; foaf:homepage ; - foaf:made <> ; - rdfs:isDefinedBy . + foaf:made <> . a foaf:Person ; foaf:name "Ben Lavender" ; foaf:mbox ; foaf:mbox_sha1sum "dbf45f4ffbd27b67aa84f02a6a31c144727d10af" ; - foaf:homepage ; - rdfs:isDefinedBy . + foaf:homepage . a foaf:Person ; foaf:name "Gregg Kellogg" ; foaf:mbox ; foaf:mbox_sha1sum "35bc44e6d0070e5ad50ccbe0d24403c96af2b9bd" ; foaf:homepage ; - rdfs:isDefinedBy . + rdfs:isDefinedBy . \ No newline at end of file diff --git a/etc/doap.ttl b/etc/doap.ttl index abfb80b..55dc410 100644 --- a/etc/doap.ttl +++ b/etc/doap.ttl @@ -1,3 +1,4 @@ +@base . @prefix rdf: . @prefix rdfs: . @prefix dc: . @@ -7,10 +8,10 @@ @prefix ex: . @prefix xsd: . - a doap:Project, earl:TestSubject, earl:Software ; +<> a doap:Project, earl:TestSubject, earl:Software ; doap:name "RDF::Turtle" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "Turtle reader/writer for Ruby."@en ; doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ; doap:created "2011-08-29"^^xsd:date ; @@ -18,7 +19,7 @@ doap:implements ; doap:category , ; - doap:download-page ; + doap:download-page <> ; doap:mailing-list ; doap:bug-database ; doap:blog ; diff --git a/rdf-turtle.gemspec b/rdf-turtle.gemspec index c8901e2..a4d494c 100755 --- a/rdf-turtle.gemspec +++ b/rdf-turtle.gemspec @@ -6,7 +6,7 @@ Gem::Specification.new do |gem| gem.date = File.mtime('VERSION').strftime('%Y-%m-%d') gem.name = "rdf-turtle" - gem.homepage = "https://ruby-rdf.github.com/rdf-turtle" + gem.homepage = "https://github.com/ruby-rdf/rdf-turtle" gem.license = 'Unlicense' gem.summary = "Turtle reader/writer for Ruby." gem.description = %q{RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.} diff --git a/script/parse b/script/parse index 2ccd523..95c009c 100755 --- a/script/parse +++ b/script/parse @@ -8,7 +8,7 @@ require 'rdf/turtle' begin require 'linkeddata' rescue LoadError - %w(rdf-rdfa rdf-rdfxml).each do |gem| + %w(rdf/rdfa rdf/rdfxml rdf/vocab rdf/xsd).each do |gem| begin require gem rescue LoadError => e From 6b82bfbf08425b0c2d2a0ed6f6af876aa81d03c4 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Wed, 13 May 2020 12:47:02 -0700 Subject: [PATCH 2/8] Provisional support for Turtle* (TurtleStar). Requires the `rdfstar` option be set on the reader, either to `:PG` or `:SA` for "Property Graph" or "Separate Assertions" mode. --- README.md | 44 +++++++++++++++++++++++ etc/turtle.bnf | 5 +-- examples/rdfstar-bob.ttl | 7 ++++ lib/rdf/turtle/reader.rb | 61 +++++++++++++++++++++---------- lib/rdf/turtle/writer.rb | 13 ++++++- script/parse | 6 ++-- spec/reader_spec.rb | 78 +++++++++++++++++++++++++++++++++++++++- spec/writer_spec.rb | 64 +++++++++++++++++++++++++++++++++ 8 files changed, 254 insertions(+), 24 deletions(-) create mode 100644 examples/rdfstar-bob.ttl diff --git a/README.md b/README.md index cf99018..7e92d1a 100755 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ Install with `gem install rdf-turtle` * Implements a complete parser for [Turtle][]. * Compatible with Ruby >= 2.2.2. * Optional streaming writer, to serialize large graphs +* Provisional support for [Turtle*][RDF*]. ## Usage Instantiate a reader from a local file: @@ -35,6 +36,48 @@ Write a graph to a file: writer << graph end +## Turtle* (RDFStar) + +Both reader and writer include provisional support for [Turtle*][RDF*]. + +Internally, an `RDF::Statement` is treated as another resource, along with `RDF::URI` and `RDF::Node`, which allows an `RDF::Statement` to have a `#subject` or `#object` which is also an `RDF::Statement`. (Currently no prohibition for recursive statements any deeper, but no prohibition, either). + +### Serializing a Graph containing embedded statements + + require 'rdf/turtle' + statement = RDF::Statement(RDF::URI('bob'), RDF::Vocab::FOAF.age, RDF::Literal(23)) + graph = RDF::Graph.new << [statement, RDF::URI("ex:certainty"), RDF::Literal(0.9)] + graph.dump(:ttl, validate: false, standard_prefixes: true) + # => '<< foaf:age 23>> 9.0e-1 .' + +### Reading a Graph containing embedded statements + +By default, the N-Triples reader will reject a document containing a subject resource. + + ttl = %( + @prefix foaf: <> . + @prefix ex: . + << foaf:age 23>> ex:certainty 9.0e-1 . + ) + graph = RDF::Graph.new do |graph| + RDF::Turtle::Reader.new(ttl) {|reader| graph << reader} + end + # => RDF::ReaderError + +Readers support a `rdfstar` option with either `:PG` (Property Graph) or `:SA` (Separate Assertions) modes. In `:PG` mode, statements that are used in the subject or object positions are also implicitly added to the graph: + + graph = RDF::Graph.new do |graph| + RDF::Turtle::Reader.new(ttl, rdfstar: :PG) {|reader| graph << reader} + end + graph.count #=> 2 + +When using the `:SA` mode, only one statement is asserted, although the reified statement is contained within the graph. + + graph = RDF::Graph.new do |graph| + RDF::Turtle::Reader.new(ttl, rdfstar: :SA) {|reader| graph << reader} + end + graph.count #=> 1 + ## Documentation Full documentation available on [Rubydoc.info][Turtle doc] @@ -133,6 +176,7 @@ A copy of the [Turtle EBNF][] and derived parser files are included in the repos [Backports]: https://rubygems.org/gems/backports [N-Triples]: https://www.w3.org/TR/rdf-testcases/#ntriples [Turtle]: https://www.w3.org/TR/2012/WD-turtle-20120710/ +[RDF*][]: https://lists.w3.org/Archives/Public/public-rdf-star/ [Turtle doc]: https://rubydoc.info/github/ruby-rdf/rdf-turtle/master/file/README.md [Turtle EBNF]: https://dvcs.w3.org/hg/rdf/file/default/rdf-turtle/turtle.bnf [Freebase Dumps]: https://developers.google.com/freebase/data \ No newline at end of file diff --git a/etc/turtle.bnf b/etc/turtle.bnf index b16b7cc..6e5fb0a 100644 --- a/etc/turtle.bnf +++ b/etc/turtle.bnf @@ -7,12 +7,13 @@ [7] predicateObjectList ::= verb objectList ( ";" ( verb objectList)? )* [8] objectList ::= object ( "," object )* [9] verb ::= predicate | "a" -[10] subject ::= iri | BlankNode | collection +[10] subject ::= iri | BlankNode | collection | embTriple [11] predicate ::= iri -[12] object ::= iri | BlankNode | collection | blankNodePropertyList| literal +[12] object ::= iri | BlankNode | collection | blankNodePropertyList| literal | embTriple [13] literal ::= RDFLiteral | NumericLiteral | BooleanLiteral [14] blankNodePropertyList ::= "[" predicateObjectList "]" [15] collection ::= "(" object* ")" +[xx] embTriple ::= "<<" subject predicate object ">>" [16] NumericLiteral ::= INTEGER | DECIMAL | DOUBLE [128s] RDFLiteral ::= String ( LANGTAG | ( "^^" iri ) )? [133s] BooleanLiteral ::= "true" | "false" diff --git a/examples/rdfstar-bob.ttl b/examples/rdfstar-bob.ttl new file mode 100644 index 0000000..debefc2 --- /dev/null +++ b/examples/rdfstar-bob.ttl @@ -0,0 +1,7 @@ +@prefix : . +@prefix foaf: . +@prefix dct: . + +:bob foaf:name "Bob" . +<<:bob foaf:age 23>> dct:creator ; + dct:source . diff --git a/lib/rdf/turtle/reader.rb b/lib/rdf/turtle/reader.rb index 22c6011..701315b 100644 --- a/lib/rdf/turtle/reader.rb +++ b/lib/rdf/turtle/reader.rb @@ -25,7 +25,7 @@ class Reader < RDF::Reader terminal(:STRING_LITERAL_SINGLE_QUOTE, STRING_LITERAL_SINGLE_QUOTE, unescape: true) # String terminals - terminal(nil, %r([\(\),.;\[\]Aa]|\^\^|true|false)) + terminal(nil, %r([\(\),.;\[\]Aa]|\^\^|true|false|<<|>>)) terminal(:PREFIX, PREFIX) terminal(:BASE, BASE) @@ -87,7 +87,7 @@ def initialize(input = nil, **options, &block) @options = { anon_base: "b0", whitespace: WS, - log_depth: 0, + depth: 0, }.merge(@options) @prod_stack = [] @@ -185,7 +185,7 @@ def process_iri(iri) # Create a literal def literal(value, **options) - log_debug("literal") do + log_debug("literal", depth: @options[:depth]) do "value: #{value.inspect}, " + "options: #{options.inspect}, " + "validate: #{validate?.inspect}, " + @@ -221,7 +221,7 @@ def pname(prefix, suffix) '' end suffix = suffix.to_s.sub(/^\#/, "") if base.index("#") - log_debug("pname") {"base: '#{base}', suffix: '#{suffix}'"} + log_debug("pname", depth: options[:depth]) {"base: '#{base}', suffix: '#{suffix}'"} process_iri(base + suffix.to_s) end @@ -283,7 +283,7 @@ def read_directive terminated = token.value == '@prefix' error("Expected PNAME_NS", production: :prefix, token: pfx) unless pfx === :PNAME_NS error("Expected IRIREF", production: :prefix, token: iri) unless iri === :IRIREF - log_debug("prefixID") {"Defined prefix #{pfx.inspect} mapping to #{iri.inspect}"} + log_debug("prefixID", depth: options[:depth]) {"Defined prefix #{pfx.inspect} mapping to #{iri.inspect}"} prefix(pfx.value[0..-2], process_iri(iri)) error("prefixId", "#{token} should be downcased") if token.value.start_with?('@') && token.value != '@prefix' @@ -362,6 +362,7 @@ def read_subject read_iri || read_BlankNode || read_collection || + read_rdfstar || error( "Expected subject", production: :subject, token: @lexer.first) end end @@ -373,7 +374,8 @@ def read_object(subject = nil, predicate = nil) read_BlankNode || read_collection || read_blankNodePropertyList || - read_literal + read_literal || + read_rdfstar add_statement(:object, RDF::Statement(subject, predicate, object)) if subject && predicate object @@ -381,6 +383,28 @@ def read_object(subject = nil, predicate = nil) end end + # Read an RDF* reified statement + # @return [RDF::Statement] + def read_rdfstar + return unless @options[:rdfstar] + if @lexer.first.value == '<<' + prod(:rdfstar) do + @lexer.shift # eat << + subject = read_subject || error("Failed to parse subject", production: :rdfstar, token: @lexer.first) + predicate = read_verb || error("Failed to parse predicate", production: :rdfstar, token: @lexer.first) + object = read_object || error("Failed to parse object", production: :rdfstar, token: @lexer.first) + unless @lexer.first.value == '>>' + error("Failed to end of embedded triple", production: :rdfstar, token: @lexer.first) + end + @lexer.shift + statement = RDF::Statement(subject, predicate, object) + # Emit the statement if in Property Graph mode + add_statement(:rdfstar, statement) if @options[:rdfstar] == :PG + statement + end + end + end + # @return [RDF::Literal] def read_literal error("Unexpected end of file", production: :literal) unless token = @lexer.first @@ -431,7 +455,7 @@ def read_blankNodePropertyList if token === '[' prod(:blankNodePropertyList, %{]}) do @lexer.shift - log_info("blankNodePropertyList") {"token: #{token.inspect}"} + log_info("blankNodePropertyList", depth: options[:depth]) {"token: #{token.inspect}"} node = bnode read_predicateObjectList(node) error("blankNodePropertyList", "Expected closing ']'") unless @lexer.first === ']' @@ -447,7 +471,7 @@ def read_collection prod(:collection, %{)}) do @lexer.shift token = @lexer.first - log_info("collection") {"token: #{token.inspect}"} + log_info("collection", depth: options[:depth]) {"token: #{token.inspect}"} objects = [] while object = read_object objects << object @@ -483,8 +507,8 @@ def read_BlankNode def prod(production, recover_to = []) @prod_stack << {prod: production, recover_to: recover_to} - @options[:log_depth] += 1 - log_recover("#{production}(start)") {"token: #{@lexer.first.inspect}"} + @options[:depth] += 1 + log_recover("#{production}(start)", depth: options[:depth]) {"token: #{@lexer.first.inspect}"} yield rescue EBNF::LL1::Lexer::Error, SyntaxError, Recovery => e # Lexer encountered an illegal token or the parser encountered @@ -504,13 +528,13 @@ def prod(production, recover_to = []) end end raise EOFError, "End of input found when recovering" if @lexer.first.nil? - log_debug("recovery", "current token: #{@lexer.first.inspect}") + log_debug("recovery", "current token: #{@lexer.first.inspect}", depth: options[:depth]) unless e.is_a?(Recovery) # Get the list of follows for this sequence, this production and the stacked productions. - log_debug("recovery", "stack follows:") + log_debug("recovery", "stack follows:", depth: options[:depth]) @prod_stack.reverse.each do |prod| - log_debug("recovery", level: 4) {" #{prod[:prod]}: #{prod[:recover_to].inspect}"} + log_debug("recovery", level: 4, depth: options[:depth]) {" #{prod[:prod]}: #{prod[:recover_to].inspect}"} end end @@ -520,9 +544,9 @@ def prod(production, recover_to = []) # Skip tokens until one is found in follows while (token = (@lexer.first rescue @lexer.recover)) && follows.none? {|t| token === t} skipped = @lexer.shift - log_debug("recovery") {"skip #{skipped.inspect}"} + log_debug("recovery", depth: options[:depth]) {"skip #{skipped.inspect}"} end - log_debug("recovery") {"found #{token.inspect} in follows"} + log_debug("recovery", depth: options[:depth]) {"found #{token.inspect} in follows"} # Re-raise the error unless token is a follows of this production raise Recovery unless Array(recover_to).any? {|t| token === t} @@ -530,8 +554,8 @@ def prod(production, recover_to = []) # Skip that token to get something reasonable to start the next production with @lexer.shift ensure - log_info("#{production}(finish)") - @options[:log_depth] -= 1 + log_info("#{production}(finish)", depth: options[:depth]) + @options[:depth] -= 1 @prod_stack.pop end @@ -554,7 +578,8 @@ def error(*args) lineno: lineno, token: options[:token], production: options[:production], - exception: SyntaxError) + depth: options[:depth], + exception: SyntaxError,) end # Used for internal error recovery diff --git a/lib/rdf/turtle/writer.rb b/lib/rdf/turtle/writer.rb index b18e23f..00b027c 100644 --- a/lib/rdf/turtle/writer.rb +++ b/lib/rdf/turtle/writer.rb @@ -313,6 +313,17 @@ def format_node(node, **options) options[:unique_bnodes] ? node.to_unique_base : node.to_base end + ## + # Returns an embedded triples + # + # @param [RDF::Statement] statement + # @param [Hash{Symbol => Object}] options + # @return [String] + def format_rdfstar(statement, **options) + log_debug("rdfstar") {"#{statement.to_ntriples}"} + "<<%s %s %s>>" % statement.to_a.map { |value| format_term(value, **options) } + end + protected # Output @base and @prefix definitions def start_document @@ -457,7 +468,7 @@ def quoted(string) # Can subject be represented as a blankNodePropertyList? def blankNodePropertyList?(resource, position) - resource.node? && + !resource.statement? && resource.node? && !is_valid_list?(resource) && (!is_done?(resource) || position == :subject) && ref_count(resource) == (position == :object ? 1 : 0) diff --git a/script/parse b/script/parse index 95c009c..a5b698f 100755 --- a/script/parse +++ b/script/parse @@ -95,7 +95,7 @@ options = { input = nil opts = GetoptLong.new( - ["--dbg", GetoptLong::NO_ARGUMENT], + ["--debug", GetoptLong::NO_ARGUMENT], ["--base", GetoptLong::REQUIRED_ARGUMENT], ["--benchmark", GetoptLong::NO_ARGUMENT], ["--errors", GetoptLong::NO_ARGUMENT], @@ -108,13 +108,14 @@ opts = GetoptLong.new( ["--profile", GetoptLong::NO_ARGUMENT], ["--progress", GetoptLong::NO_ARGUMENT], ["--quiet", GetoptLong::NO_ARGUMENT], + ["--rdfstar", GetoptLong::OPTIONAL_ARGUMENT], ["--stream", GetoptLong::NO_ARGUMENT], ["--validate", GetoptLong::NO_ARGUMENT], ["--verbose", GetoptLong::NO_ARGUMENT] ) opts.each do |opt, arg| case opt - when '--dbg' then logger.level = Logger::DEBUG + when '--debug' then logger.level = Logger::DEBUG when '--base' then parser_options[:base_uri] = writer_options[:base_uri] = arg when '--benchmark' then options[:benchmark] = true when '--canonicalize' then parser_options[:canonicalize] = true @@ -126,6 +127,7 @@ opts.each do |opt, arg| when '--output' then options[:output] = File.open(arg, "w") when '--profile' then options[:profile] = true when '--progress' then logger.level = Logger::INFO + when '--rdfstar' then parser_options[:rdfstar] = (arg || :PG).to_sym when '--quiet' options[:quiet] = options[:quiet].to_i + 1 logger.level = Logger::FATAL diff --git a/spec/reader_spec.rb b/spec/reader_spec.rb index 3cddde1..39d75da 100644 --- a/spec/reader_spec.rb +++ b/spec/reader_spec.rb @@ -7,6 +7,7 @@ let!(:doap) {File.expand_path("../../etc/doap.ttl", __FILE__)} let!(:doap_nt) {File.expand_path("../../etc/doap.nt", __FILE__)} let!(:doap_count) {File.open(doap_nt).each_line.to_a.length} + after(:each) {|example| puts @logger.to_s if example.exception} it_behaves_like 'an RDF::Reader' do let(:reader) {RDF::Turtle::Reader.new} @@ -816,7 +817,82 @@ ) expect(parse(ttl, validate: false, prefixes: {nil => ''})).to be_equivalent_graph(nt, logger: @logger) end - + end + end + + context "RDF*" do + { + "subject-iii" => [ + %( + @prefix ex: . + <> ex:p ex:o . + ), + %( + << >> . + . + ) + ], + "subject-iib": [ + %( + @prefix ex: . + <> ex:p ex:o . + ), + '<< _:o1>> .' + ], + "subject-iil": [ + %( + @prefix ex: . + <> ex:p ex:o . + ), + '<< "o1">> .' + ], + "subject-bii": [ + %( + @prefix ex: . + <<_:s1 ex:p1 ex:o1>> ex:p ex:o . + ), + '<<_:s1 >> .' + ], + "subject-bib": [ + %( + @prefix ex: . + <<_:s1 ex:p1 _:o1>> ex:p ex:o . + ), + '<<_:s1 _:o1>> .' + ], + "subject-bil": [ + %( + @prefix ex: . + <<_:s1 ex:p1 "o1">> ex:p ex:o . + ), + '<<_:s1 "o1">> .' + ], + "object-iii": [ + %( + @prefix ex: . + ex:s ex:p <> . + ), + ' << >> .' + ], + "object-iib": [ + %( + @prefix ex: . + ex:s ex:p <> . + ), + ' << _:o1>> .' + ], + "object-iil": [ + %( + @prefix ex: . + ex:s ex:p <> . + ), + ' << "o1">> .' + ], + }.each do |name, (ttl, nt)| + it name do + expect_graph = RDF::Graph.new {|g| g << RDF::NTriples::Reader.new(nt, rdfstar: :PG)} + expect(parse(ttl, rdfstar: :PG, validate: true)).to be_equivalent_graph(expect_graph, logger: @logger) + end end end diff --git a/spec/writer_spec.rb b/spec/writer_spec.rb index f6d6587..c900881 100644 --- a/spec/writer_spec.rb +++ b/spec/writer_spec.rb @@ -595,6 +595,70 @@ end end + context "RDF*" do + { + "subject-iii": { + input: RDF::Statement( + RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::URI('http://example/o1')), + RDF::URI('http://example/p'), RDF::URI('http://example/o')), + regexp: [%r(<> ex:p ex:o \.)] + }, + "subject-iib": { + input: RDF::Statement( + RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::Node.new('o1')), + RDF::URI('http://example/p'), RDF::URI('http://example/o')), + regexp: [%r(<> ex:p ex:o \.)] + }, + "subject-iil": { + input: RDF::Statement( + RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::Literal('o1')), + RDF::URI('http://example/p'), RDF::URI('http://example/o')), + regexp: [%r(<> ex:p ex:o \.)] + }, + "subject-bii": { + input: RDF::Statement( + RDF::Statement(RDF::Node('s1'), RDF::URI('http://example/p1'), RDF::URI('http://example/o1')), + RDF::URI('http://example/p'), RDF::URI('http://example/o')), + regexp: [%r(<<_:s1 ex:p1 ex:o1>> ex:p ex:o \.)] + }, + "subject-bib": { + input: RDF::Statement( + RDF::Statement(RDF::Node('s1'), RDF::URI('http://example/p1'), RDF::Node.new('o1')), + RDF::URI('http://example/p'), RDF::URI('http://example/o')), + regexp: [%r(<<_:s1 ex:p1 _:o1>> ex:p ex:o \.)] + }, + "subject-bil": { + input: RDF::Statement( + RDF::Statement(RDF::Node('s1'), RDF::URI('http://example/p1'), RDF::Literal('o1')), + RDF::URI('http://example/p'), RDF::URI('http://example/o')), + regexp: [%r(<<_:s1 ex:p1 "o1">> ex:p ex:o \.)] + }, + "object-iii": { + input: RDF::Statement( + RDF::URI('http://example/s'), RDF::URI('http://example/p'), + RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::URI('http://example/o1'))), + regexp: [%r(ex:s ex:p <> .)] + }, + "object-iib": { + input: RDF::Statement( + RDF::URI('http://example/s'), RDF::URI('http://example/p'), + RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::Node.new('o1'))), + regexp: [%r(ex:s ex:p <> .)] + }, + "object-iil": { + input: RDF::Statement( + RDF::URI('http://example/s'), RDF::URI('http://example/p'), + RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::Literal('o1'))), + regexp: [%r(ex:s ex:p <> .)], + }, + }.each do |name, params| + it name do + graph = RDF::Graph.new {|g| g << params[:input]} + serialize(graph, params.fetch(:regexp, []), prefixes: {ex: 'http://example/'}, **params) + end + end + end + # W3C Turtle Test suite from https://www.w3.org/TR/turtle/tests/ describe "w3c turtle tests" do require 'suite_helper' From f4268f0657c55da464e26d2d8fd3c2ecfff903f6 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Wed, 20 May 2020 17:03:19 -0700 Subject: [PATCH 3/8] Update URLs to use HTTPS, where possible. --- examples/turtle/README.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/turtle/README.txt b/examples/turtle/README.txt index 37460e6..0c22eb7 100644 --- a/examples/turtle/README.txt +++ b/examples/turtle/README.txt @@ -1,6 +1,6 @@ These are the tests for the Turtle Terse RDF Triple Language that must be passed by conformant systems. See - http://www.dajobe.org/2004/01/turtle/ + https://www.dajobe.org/2004/01/turtle/ for the full conformance information. The format is a set of good tests and bad tests. @@ -15,6 +15,6 @@ bad tests are of the form which must fail. The tests should be performed with an assumed base URI -of http://www.w3.org/2001/sw/DataAccess/df1/tests/ +of https://www.w3.org/2001/sw/DataAccess/df1/tests/ Dave From a9c7105d5e9b6df9895057a769771f04b22ba659 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Sun, 24 May 2020 18:02:49 -0700 Subject: [PATCH 4/8] More RDF* reader/writer tests for recursive embedding. --- spec/reader_spec.rb | 54 ++++++++++++++++++++++++----- spec/writer_spec.rb | 84 ++++++++++++++++++++++++++++++++++++--------- 2 files changed, 113 insertions(+), 25 deletions(-) diff --git a/spec/reader_spec.rb b/spec/reader_spec.rb index 39d75da..791a114 100644 --- a/spec/reader_spec.rb +++ b/spec/reader_spec.rb @@ -837,56 +837,94 @@ @prefix ex: . <> ex:p ex:o . ), - '<< _:o1>> .' + %( + << _:o1>> . + _:o1 . + ) ], "subject-iil": [ %( @prefix ex: . <> ex:p ex:o . ), - '<< "o1">> .' + %( + << "o1">> . + "o1" + ) ], "subject-bii": [ %( @prefix ex: . <<_:s1 ex:p1 ex:o1>> ex:p ex:o . ), - '<<_:s1 >> .' + %( + <<_:s1 >> . + _:s1 . + ) ], "subject-bib": [ %( @prefix ex: . <<_:s1 ex:p1 _:o1>> ex:p ex:o . ), - '<<_:s1 _:o1>> .' + %( + <<_:s1 _:o1>> . + _:s1 _:o1 . + ) ], "subject-bil": [ %( @prefix ex: . <<_:s1 ex:p1 "o1">> ex:p ex:o . ), - '<<_:s1 "o1">> .' + %( + <<_:s1 "o1">> . + _:s1 "o1" . + ) ], "object-iii": [ %( @prefix ex: . ex:s ex:p <> . ), - ' << >> .' + %( + << >> . + . + ) ], "object-iib": [ %( @prefix ex: . ex:s ex:p <> . ), - ' << _:o1>> .' + %( + << _:o1>> . + _:o1 + ) ], "object-iil": [ %( @prefix ex: . ex:s ex:p <> . ), - ' << "o1">> .' + %( + << "o1">> . + "o1" . + ) + ], + "recursive-subject": [ + %( + @prefix ex: . + << + <> + ex:p1 ex:o1 >> + ex:p ex:o . + ), + %( + <<<< >> >> . + << >> . + . + ) ], }.each do |name, (ttl, nt)| it name do diff --git a/spec/writer_spec.rb b/spec/writer_spec.rb index c900881..1e4ec36 100644 --- a/spec/writer_spec.rb +++ b/spec/writer_spec.rb @@ -599,58 +599,108 @@ { "subject-iii": { input: RDF::Statement( - RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::URI('http://example/o1')), - RDF::URI('http://example/p'), RDF::URI('http://example/o')), + RDF::Statement( + RDF::URI('http://example/s1'), + RDF::URI('http://example/p1'), + RDF::URI('http://example/o1')), + RDF::URI('http://example/p'), + RDF::URI('http://example/o')), regexp: [%r(<> ex:p ex:o \.)] }, "subject-iib": { input: RDF::Statement( - RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::Node.new('o1')), - RDF::URI('http://example/p'), RDF::URI('http://example/o')), + RDF::Statement( + RDF::URI('http://example/s1'), + RDF::URI('http://example/p1'), + RDF::Node.new('o1')), + RDF::URI('http://example/p'), + RDF::URI('http://example/o')), regexp: [%r(<> ex:p ex:o \.)] }, "subject-iil": { input: RDF::Statement( - RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::Literal('o1')), - RDF::URI('http://example/p'), RDF::URI('http://example/o')), + RDF::Statement( + RDF::URI('http://example/s1'), + RDF::URI('http://example/p1'), + RDF::Literal('o1')), + RDF::URI('http://example/p'), + RDF::URI('http://example/o')), regexp: [%r(<> ex:p ex:o \.)] }, "subject-bii": { input: RDF::Statement( - RDF::Statement(RDF::Node('s1'), RDF::URI('http://example/p1'), RDF::URI('http://example/o1')), - RDF::URI('http://example/p'), RDF::URI('http://example/o')), + RDF::Statement( + RDF::Node('s1'), + RDF::URI('http://example/p1'), + RDF::URI('http://example/o1')), + RDF::URI('http://example/p'), + RDF::URI('http://example/o')), regexp: [%r(<<_:s1 ex:p1 ex:o1>> ex:p ex:o \.)] }, "subject-bib": { input: RDF::Statement( - RDF::Statement(RDF::Node('s1'), RDF::URI('http://example/p1'), RDF::Node.new('o1')), + RDF::Statement( + RDF::Node('s1'), + RDF::URI('http://example/p1'), + RDF::Node.new('o1')), RDF::URI('http://example/p'), RDF::URI('http://example/o')), regexp: [%r(<<_:s1 ex:p1 _:o1>> ex:p ex:o \.)] }, "subject-bil": { input: RDF::Statement( - RDF::Statement(RDF::Node('s1'), RDF::URI('http://example/p1'), RDF::Literal('o1')), - RDF::URI('http://example/p'), RDF::URI('http://example/o')), + RDF::Statement( + RDF::Node('s1'), + RDF::URI('http://example/p1'), + RDF::Literal('o1')), + RDF::URI('http://example/p'), + RDF::URI('http://example/o')), regexp: [%r(<<_:s1 ex:p1 "o1">> ex:p ex:o \.)] }, "object-iii": { input: RDF::Statement( - RDF::URI('http://example/s'), RDF::URI('http://example/p'), - RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::URI('http://example/o1'))), + RDF::URI('http://example/s'), + RDF::URI('http://example/p'), + RDF::Statement( + RDF::URI('http://example/s1'), + RDF::URI('http://example/p1'), + RDF::URI('http://example/o1'))), regexp: [%r(ex:s ex:p <> .)] }, "object-iib": { input: RDF::Statement( - RDF::URI('http://example/s'), RDF::URI('http://example/p'), - RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::Node.new('o1'))), + RDF::URI('http://example/s'), + RDF::URI('http://example/p'), + RDF::Statement( + RDF::URI('http://example/s1'), + RDF::URI('http://example/p1'), + RDF::Node.new('o1'))), regexp: [%r(ex:s ex:p <> .)] }, "object-iil": { input: RDF::Statement( - RDF::URI('http://example/s'), RDF::URI('http://example/p'), - RDF::Statement(RDF::URI('http://example/s1'), RDF::URI('http://example/p1'), RDF::Literal('o1'))), + RDF::URI('http://example/s'), + RDF::URI('http://example/p'), + RDF::Statement( + RDF::URI('http://example/s1'), + RDF::URI('http://example/p1'), + RDF::Literal('o1'))), regexp: [%r(ex:s ex:p <> .)], }, + "recursive-subject": { + input: RDF::Statement( + RDF::Statement( + RDF::Statement( + RDF::URI('http://example/s2'), + RDF::URI('http://example/p2'), + RDF::URI('http://example/o2')), + RDF::URI('http://example/p1'), + RDF::URI('http://example/o1')), + RDF::URI('http://example/p'), + RDF::URI('http://example/o')), + regexp: [ + %r(<<\s*<<\s*ex:s2 ex:p2 ex:o2\s*>>\s*ex:p1 ex:o1\s*>> ex:p ex:o \.) + ] + }, }.each do |name, params| it name do graph = RDF::Graph.new {|g| g << params[:input]} From c526f1305e2c84a55e0c8ee23e629be51a802f20 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Mon, 25 May 2020 17:03:20 -0700 Subject: [PATCH 5/8] Update documentation on RDF*. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e92d1a..1c1d6a3 100755 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Write a graph to a file: Both reader and writer include provisional support for [Turtle*][RDF*]. -Internally, an `RDF::Statement` is treated as another resource, along with `RDF::URI` and `RDF::Node`, which allows an `RDF::Statement` to have a `#subject` or `#object` which is also an `RDF::Statement`. (Currently no prohibition for recursive statements any deeper, but no prohibition, either). +Internally, an `RDF::Statement` is treated as another resource, along with `RDF::URI` and `RDF::Node`, which allows an `RDF::Statement` to have a `#subject` or `#object` which is also an `RDF::Statement`. ### Serializing a Graph containing embedded statements @@ -176,7 +176,7 @@ A copy of the [Turtle EBNF][] and derived parser files are included in the repos [Backports]: https://rubygems.org/gems/backports [N-Triples]: https://www.w3.org/TR/rdf-testcases/#ntriples [Turtle]: https://www.w3.org/TR/2012/WD-turtle-20120710/ -[RDF*][]: https://lists.w3.org/Archives/Public/public-rdf-star/ +[RDF*]: https://lists.w3.org/Archives/Public/public-rdf-star/ [Turtle doc]: https://rubydoc.info/github/ruby-rdf/rdf-turtle/master/file/README.md [Turtle EBNF]: https://dvcs.w3.org/hg/rdf/file/default/rdf-turtle/turtle.bnf [Freebase Dumps]: https://developers.google.com/freebase/data \ No newline at end of file From 28f1cd8756a96105d63680a6cf59dbb5b9d35ec2 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Thu, 28 May 2020 16:25:45 -0700 Subject: [PATCH 6/8] Update doap:license to https://unlicense.org/. --- README.md | 6 +- etc/doap-ntriples.ttl | 4 +- etc/doap.nt | 2 +- etc/doap.ttl | 2 +- etc/earl-ntriples.ttl | 310 +++++----- etc/earl.ttl | 1253 ++++++++++++++++++++++------------------- 6 files changed, 822 insertions(+), 755 deletions(-) diff --git a/README.md b/README.md index 1c1d6a3..13da1d0 100755 --- a/README.md +++ b/README.md @@ -42,6 +42,8 @@ Both reader and writer include provisional support for [Turtle*][RDF*]. Internally, an `RDF::Statement` is treated as another resource, along with `RDF::URI` and `RDF::Node`, which allows an `RDF::Statement` to have a `#subject` or `#object` which is also an `RDF::Statement`. +**Note: This feature is subject to change or elimination as the standards process progresses.** + ### Serializing a Graph containing embedded statements require 'rdf/turtle' @@ -52,10 +54,10 @@ Internally, an `RDF::Statement` is treated as another resource, along with `RDF: ### Reading a Graph containing embedded statements -By default, the N-Triples reader will reject a document containing a subject resource. +By default, the Turtle reader will reject a document containing a subject resource. ttl = %( - @prefix foaf: <> . + @prefix foaf: . @prefix ex: . << foaf:age 23>> ex:certainty 9.0e-1 . ) diff --git a/etc/doap-ntriples.ttl b/etc/doap-ntriples.ttl index 0d62c5f..dda6678 100644 --- a/etc/doap-ntriples.ttl +++ b/etc/doap-ntriples.ttl @@ -8,7 +8,7 @@ <> a doap:Project ; doap:name "RDF.rb" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "A Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:description "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:created "2007-10-23" ; @@ -20,7 +20,7 @@ ; doap:download-page ; doap:bug-database ; - doap:blog , ; + doap:blog , ; doap:developer , , ; doap:maintainer ; doap:documenter , , ; diff --git a/etc/doap.nt b/etc/doap.nt index 5c419b9..acc0f21 100644 --- a/etc/doap.nt +++ b/etc/doap.nt @@ -3,7 +3,7 @@ . "RDF::Turtle" . . - . + . "Turtle reader/writer for Ruby."@en . "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en . "2011-08-29"^^ . diff --git a/etc/doap.ttl b/etc/doap.ttl index 55dc410..385facd 100644 --- a/etc/doap.ttl +++ b/etc/doap.ttl @@ -11,7 +11,7 @@ <> a doap:Project, earl:TestSubject, earl:Software ; doap:name "RDF::Turtle" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "Turtle reader/writer for Ruby."@en ; doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ; doap:created "2011-08-29"^^xsd:date ; diff --git a/etc/earl-ntriples.ttl b/etc/earl-ntriples.ttl index 94a8f99..a471ad9 100644 --- a/etc/earl-ntriples.ttl +++ b/etc/earl-ntriples.ttl @@ -1,31 +1,28 @@ +@base . @prefix rdf: . @prefix rdfs: . @prefix dc: . -@prefix earl: . @prefix foaf: . @prefix doap: . -@prefix ex: . -@prefix xsd: . - a doap:Project ; +<> a doap:Project ; doap:name "RDF.rb" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "A Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:description "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:created "2007-10-23" ; - doap:platform "Ruby" ; + doap:programming-language "Ruby" ; doap:category , ; - doap:implements , - , - ; + doap:implements , + , + ; doap:download-page ; doap:bug-database ; - doap:blog , ; - doap:vendor ; + doap:blog , ; doap:developer , , ; - doap:maintainer , , ; + doap:maintainer ; doap:documenter , , ; doap:helper [a foaf:Person ; foaf:name "Călin Ardelean" ; @@ -63,15 +60,13 @@ foaf:mbox_sha1sum "a033f652c84a4d73b8c26d318c2395699dd2bdfb", "d0737cceb55eb7d740578d2db1bc0727e3ed49ce" ; foaf:homepage ; - foaf:made <> ; - rdfs:isDefinedBy . + foaf:made <> . a foaf:Person ; foaf:name "Ben Lavender" ; foaf:mbox ; foaf:mbox_sha1sum "dbf45f4ffbd27b67aa84f02a6a31c144727d10af" ; - foaf:homepage ; - rdfs:isDefinedBy . + foaf:homepage . a foaf:Person ; foaf:name "Gregg Kellogg" ; @@ -79,9 +74,8 @@ foaf:mbox_sha1sum "35bc44e6d0070e5ad50ccbe0d24403c96af2b9bd" ; foaf:homepage ; rdfs:isDefinedBy . - <> foaf:primaryTopic ; - dc:issued "2015-09-27T13:31:58-07:00"^^xsd:dateTime ; + dc:issued "2020-05-20T17:02:56-07:00"^^xsd:dateTime ; foaf:maker . a foaf:Person, earl:Assertor; @@ -90,688 +84,688 @@ foaf:homepage . - doap:release . + doap:release . - a doap:Version; - doap:name "RDF.rb-1.1.16.1"; - doap:revision "1.1.16.1" . + a doap:Version; + doap:name "RDF.rb-3.1.1"; + doap:revision "3.1.1" . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:58-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:56-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . diff --git a/etc/earl.ttl b/etc/earl.ttl index ebc0d10..acd1e2f 100644 --- a/etc/earl.ttl +++ b/etc/earl.ttl @@ -1,3 +1,4 @@ +@base . @prefix rdf: . @prefix rdfs: . @prefix dc: . @@ -7,10 +8,10 @@ @prefix ex: . @prefix xsd: . - a doap:Project, earl:TestSubject, earl:Software ; +<> a doap:Project, earl:TestSubject, earl:Software ; doap:name "RDF::Turtle" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "Turtle reader/writer for Ruby."@en ; doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ; doap:created "2011-08-29"^^xsd:date ; @@ -18,7 +19,7 @@ doap:implements ; doap:category , ; - doap:download-page ; + doap:download-page <> ; doap:mailing-list ; doap:bug-database ; doap:blog ; @@ -33,7 +34,7 @@ dc:isPartOf . <> foaf:primaryTopic ; - dc:issued "2015-09-27T13:31:47-07:00"^^xsd:dateTime ; + dc:issued "2020-05-20T17:02:36-07:00"^^xsd:dateTime ; foaf:maker . a foaf:Person, earl:Assertor; @@ -42,2919 +43,2989 @@ foaf:homepage . - doap:release . + doap:release . - a doap:Version; - doap:name "rdf-turtle-1.1.8"; - doap:created "2015-09-27"^^xsd:date; - doap:revision "1.1.8" . + a doap:Version; + doap:name "rdf-turtle-3.1.0"; + doap:created "2019-12-16"^^xsd:date; + doap:revision "3.1.0" . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . [ a earl:Assertion; earl:assertedBy ; earl:subject ; - earl:test ; + earl:test ; earl:result [ a earl:TestResult; earl:outcome earl:passed; - dc:date "2015-09-27T13:31:47-07:00"^^xsd:dateTime]; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; + earl:mode earl:automatic ] . + +[ a earl:Assertion; + earl:assertedBy ; + earl:subject ; + earl:test ; + earl:result [ + a earl:TestResult; + earl:outcome earl:passed; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; + earl:mode earl:automatic ] . + +[ a earl:Assertion; + earl:assertedBy ; + earl:subject ; + earl:test ; + earl:result [ + a earl:TestResult; + earl:outcome earl:passed; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; + earl:mode earl:automatic ] . + +[ a earl:Assertion; + earl:assertedBy ; + earl:subject ; + earl:test ; + earl:result [ + a earl:TestResult; + earl:outcome earl:passed; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; + earl:mode earl:automatic ] . + +[ a earl:Assertion; + earl:assertedBy ; + earl:subject ; + earl:test ; + earl:result [ + a earl:TestResult; + earl:outcome earl:passed; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; + earl:mode earl:automatic ] . + +[ a earl:Assertion; + earl:assertedBy ; + earl:subject ; + earl:test ; + earl:result [ + a earl:TestResult; + earl:outcome earl:passed; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; + earl:mode earl:automatic ] . + +[ a earl:Assertion; + earl:assertedBy ; + earl:subject ; + earl:test ; + earl:result [ + a earl:TestResult; + earl:outcome earl:passed; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; + earl:mode earl:automatic ] . + +[ a earl:Assertion; + earl:assertedBy ; + earl:subject ; + earl:test ; + earl:result [ + a earl:TestResult; + earl:outcome earl:passed; + dc:date "2020-05-20T17:02:36-07:00"^^xsd:dateTime]; earl:mode earl:automatic ] . From d9ce65f8e941d1b21e501d0545b0fd5025c64200 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Sat, 30 May 2020 13:11:49 -0700 Subject: [PATCH 7/8] Update doap:license (again) to https://unlicense.org/1.0/. --- etc/doap-ntriples.ttl | 2 +- etc/doap.nt | 2 +- etc/doap.ttl | 2 +- etc/earl-ntriples.ttl | 2 +- etc/earl.ttl | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/etc/doap-ntriples.ttl b/etc/doap-ntriples.ttl index dda6678..c0ae961 100644 --- a/etc/doap-ntriples.ttl +++ b/etc/doap-ntriples.ttl @@ -8,7 +8,7 @@ <> a doap:Project ; doap:name "RDF.rb" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "A Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:description "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:created "2007-10-23" ; diff --git a/etc/doap.nt b/etc/doap.nt index acc0f21..80a5f24 100644 --- a/etc/doap.nt +++ b/etc/doap.nt @@ -3,7 +3,7 @@ . "RDF::Turtle" . . - . + . "Turtle reader/writer for Ruby."@en . "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en . "2011-08-29"^^ . diff --git a/etc/doap.ttl b/etc/doap.ttl index 385facd..03c1b4c 100644 --- a/etc/doap.ttl +++ b/etc/doap.ttl @@ -11,7 +11,7 @@ <> a doap:Project, earl:TestSubject, earl:Software ; doap:name "RDF::Turtle" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "Turtle reader/writer for Ruby."@en ; doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ; doap:created "2011-08-29"^^xsd:date ; diff --git a/etc/earl-ntriples.ttl b/etc/earl-ntriples.ttl index a471ad9..64e90ab 100644 --- a/etc/earl-ntriples.ttl +++ b/etc/earl-ntriples.ttl @@ -8,7 +8,7 @@ <> a doap:Project ; doap:name "RDF.rb" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "A Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:description "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data."@en ; doap:created "2007-10-23" ; diff --git a/etc/earl.ttl b/etc/earl.ttl index acd1e2f..f4b8765 100644 --- a/etc/earl.ttl +++ b/etc/earl.ttl @@ -11,7 +11,7 @@ <> a doap:Project, earl:TestSubject, earl:Software ; doap:name "RDF::Turtle" ; doap:homepage ; - doap:license ; + doap:license ; doap:shortdesc "Turtle reader/writer for Ruby."@en ; doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ; doap:created "2011-08-29"^^xsd:date ; From 03545a80844b78750f12890a000009fcee091a32 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Sat, 30 May 2020 14:52:01 -0700 Subject: [PATCH 8/8] Version 3.1.1, Update 'rdf' dependency to >= 3.1.2. --- VERSION | 2 +- rdf-turtle.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index fd2a018..94ff29c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.1.0 +3.1.1 diff --git a/rdf-turtle.gemspec b/rdf-turtle.gemspec index a4d494c..a24f9ab 100755 --- a/rdf-turtle.gemspec +++ b/rdf-turtle.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |gem| gem.required_ruby_version = '>= 2.4' gem.requirements = [] - gem.add_runtime_dependency 'rdf', '~> 3.1' + gem.add_runtime_dependency 'rdf', '~> 3.1', '>= 3.1.2' gem.add_runtime_dependency 'ebnf', '~> 1.2' gem.add_development_dependency 'rspec', '~> 3.9' gem.add_development_dependency 'rspec-its', '~> 1.3'