use Test::More tests => 11; BEGIN { use_ok('RDF::TriN3') }; my $model = RDF::Trine::Model->temporary_model; my $n3 = <<'NOTATION3'; @keywords is, of, a. @namepattern "\d{1,2}[A-Z][a-z]{2}\d{4}" . @dtpattern "\d{1,2}[a-z]{3}\d{4}" . @term lit :as_literal . 1Apr2003 lit 1apr2003 . NOTATION3 my $parser = RDF::Trine::Parser::ShorthandRDF->new(); ok($parser, "Created parser"); $parser->parse_into_model('http://example.org/', $n3, $model); is($model->count_statements, 1, "Got exactly one statement."); my $iter = $model->get_statements; my $f; while (my $st = $iter->next) { ok($st, "Retrieved the statement."); ok($st->subject->is_resource, 'Subject is resource.'); is($st->subject->uri, 'http://example.com/days/1Apr2003', 'Subject URI is correct.'); ok($st->predicate->is_resource, 'Predicate is resource.'); is($st->predicate->uri, 'http://example.org/#as_literal', 'Predicate URI is correct.'); ok($st->object->is_literal && $st->object->has_datatype, 'Object is typed literal.'); is($st->object->literal_value, '1apr2003', 'Object literal value is correct.'); is($st->object->literal_datatype, 'http://example.com/day', 'Object literal datatype is correct.'); }