[libcatmandu-rdf-perl] 11/20: Fixing method names to reflect parsing type
Jonas Smedegaard
dr at jones.dk
Sat Oct 28 03:10:21 UTC 2017
This is an automated email from the git hooks/post-receive script.
js pushed a commit to annotated tag upstream/0.32
in repository libcatmandu-rdf-perl.
commit adf63e796771afe52b242ff01a4d83e54dae0004
Author: Patrick Hochstenbach <patrick.hochstenbach at ugent.be>
Date: Sat Jul 29 11:11:00 2017 +0200
Fixing method names to reflect parsing type
---
lib/Catmandu/Importer/RDF.pm | 42 +++++++++++-------------------------------
1 file changed, 11 insertions(+), 31 deletions(-)
diff --git a/lib/Catmandu/Importer/RDF.pm b/lib/Catmandu/Importer/RDF.pm
index b71b06d..39a3517 100644
--- a/lib/Catmandu/Importer/RDF.pm
+++ b/lib/Catmandu/Importer/RDF.pm
@@ -148,7 +148,7 @@ sub sparql_generator {
sub rdf_generator {
my ($self) = @_;
sub {
- state $stream = $self->_aref_stream;
+ state $stream = $self->_hashref_stream;
return unless $stream;
my $aref = { };
@@ -247,36 +247,9 @@ sub _sparql_stream {
}
}
-# sub _rdf_stream {
-# my ($self) = @_;
-#
-# my $model = RDF::Trine::Model->new;
-# my $parser = $self->type
-# ? RDF::Trine::Parser->new( $self->type ) : 'RDF::Trine::Parser';
-#
-# if ($self->url) {
-# $parser->parse_url_into_model( $self->url, $model );
-# } else {
-# my $from_scalar = (ref $self->file // '') eq 'SCALAR';
-# if (!$self->type and $self->file and !$from_scalar) {
-# $parser = $parser->guess_parser_by_filename($self->file);
-# }
-# if ($from_scalar) {
-# $parser->parse_into_model( $self->base, ${$self->file}, $model );
-# } else {
-# $parser->parse_file_into_model( $self->base, $self->file // $self->fh, $model );
-# }
-# }
-#
-# return $model->as_stream;
-# }
-
-sub _aref_stream {
+sub _hashref_stream {
my ($self) = @_;
- my $parser = $self->type
- ? RDF::Trine::Parser->new( $self->type ) : 'RDF::Trine::Parser';
-
my $pipe = IO::Pipe->new();
if (my $pid = fork()) {
@@ -301,12 +274,19 @@ sub _aref_stream {
binmode($pipe,':encoding(UTF-8)');
+ my $parser = $self->type
+ ? RDF::Trine::Parser->new( $self->type ) : 'RDF::Trine::Parser';
+
my $handler = sub {
my $triple = shift;
my $subject = $triple->subject->value;
my $predicate = $triple->predicate->value;
- my $value = $triple->object->is_literal ? $triple->object->literal_value : $triple->object->uri_value;
+ my $value = $triple->object->is_literal ?
+ $triple->object->literal_value :
+ $triple->object->is_blank ?
+ $triple->object->blank_identifier :
+ $triple->object->uri_value;
my $type = lc $triple->object->type;
my $lang = $triple->object->is_literal ? $triple->object->literal_value_language : undef;
my $datatype = $triple->object->is_literal ? $triple->object->literal_datatype : undef;
@@ -328,7 +308,7 @@ sub _aref_stream {
my $from_scalar = (ref $self->file // '') eq 'SCALAR';
if (!$self->type and $self->file and !$from_scalar) {
- $parser = $parser->guess_parser_by_filename($self->file);
+ $parser = $parser->guess_parser_by_filename($self->file)->new;
}
if ($from_scalar) {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libcatmandu-rdf-perl.git
More information about the Pkg-perl-cvs-commits
mailing list