NAME

RDF::DOAP::ChangeSets - create pretty ChangeLogs from RDF

SYNOPSIS

use RDF::DOAP::ChangeSets;
use URI::file;

my $file     = 'path/to/changelog.rdf';
my $file_uri = URI::file->new_abs($file);

my $dcs = RDF::DOAP::ChangeSets->new(
            $file_uri, undef, undef, 'RDFXML');
print $dcs->to_string;

DESCRIPTION

This module takes software changelogs written in the RDF DOAP Change Sets vocabulary and produces human-readable changelogs.

RDF::DOAP::ChangeSets->new($uri, $data, $type, $fmt)

Creates and initialises an object.

$uri is a URL for the input data. The URL is used to query the RDF data for the heading of the output changelog. It may be passed as either a string, or a URI object.

$data is the RDF data to use as input. It may be passed as a string, or as an RDF::Trine::Model object. If undefined, this module will attempt to read data from the URL using LWP::Simple.

$type gives the constructor a hint as to the RDF vocabulary you are using. For DOAP Change Sets, use 'current'; for Aaron Cope's Changefile vocab, use 'legacy'; to autodetect, use 'auto'. By default, performs autodetection. This module may crash and burn if you try to mix both vocabs!!

$fmt provides a hint as to what RDF format you're using. By default, Turtle is assumed. Valid values are whatever RDF::Trine::Parser->new accepts.

$changeset->is_legacy

Boolean, indicating if a legacy vocab is being used.

$changeset->is_current

Boolean, indicating if the current vocab is being used.

$changeset->model

RDF::Trine::Model object representing the changelog data.

$changeset->uri

String representing the changelog URI.

$changeset->to_string

Creates a human-readable representation of the changelog.

$changeset->to_file($filename)

Same as to_string, but outputs to a file.

BUGS

Please report any bugs to http://rt.cpan.org/.

SEE ALSO

RDF::Trine, CPAN::Changes::Spec, Module::Install::DOAPChangeSets.

http://www.perlrdf.org/.

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT

Copyright 2010-2012 Toby Inkster

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.