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 <[email protected]> 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 _______________________________________________ Pkg-perl-cvs-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits
