rdf
Rx4RDF 0.6.0
Rx4RDF is a set of technologies designed to make W3Cs RDF more accessible and easier to use. more>>
It includes RxPath, which enables one to use familar XML technologies like XPath, XSLT, and XUpdate to query, transform and update an RDF model, Raccoon, an application server that uses an RDF model for its data store and RxPath to translate arbitrary requests to RDF resources, and ZML and RxML, alternative text formats for XML and RDF that were designed to allow novices to write XML and RDF with (nearly) the same ease as a Wiki entry.
Enhancements:
- The RxPath data engine now uses a simple but optimizing query engine and is much faster.
- It also now supports RDF named graphs (RDF contexts).
- It is now easier to use RxPath in XML contexts, such as an XSLT page.
- Other improvements include better support for 3rd-party RDF libraries and RDF stores.
- Finally, Rhizome-Wiki has many new features based on these changes.
RDF::Notation3 0.90
RDF::Notation3 is a RDF Notation3 parser. more>>
SYNOPSIS
$rdf = RDF::Notation3::Triples->new();
$rdf->parse_file($path);
$triples = $rdf->get_triples;
$rdf = RDF::Notation3::XML->new();
$rdf->parse_file($path);
$string = $rdf->get_string;
$handler = SAXHandler->new();
$rdf = RDF::Notation3::SAX->new(Handler => $handler);
$rdf->parse_file($path);
$rdf = RDF::Notation3::RDFCore->new();
$storage = RDF::Core::Storage::Memory->new();
$rdf->set_storage($storage);
$model = $rdf->parse_file($path);
$n3 = $rdf->get_n3($model);
$rdf = RDF::Notation3::RDFStore->new();
$rdf->set_options({ Name => test, Split => 20 });
$model = $rdf->parse_file($path);
This module is an RDF/N3 parser; it can parse N3 files or strings and provide results in whatever format (as far as there are subclasses supporting your desired format available).
RDF::Notation3 is a base class providing the parsing logic only. This class is never used directly.
Instead, derived classes such as RDF::Notation3::Triples or Notation3::XML are used. The subclasses control how results of parsing are processed and can provide additional methods to access the results then. RDF::Notation3 doesnt tend to create sophisticated in-memory or persistent RDF structures of its own; it should more likely serve as a parser for other Perl RDF modules (such as RDF::Core) focused on how to store and access RDF models.
libgnurdf 0.1.3
libgnurdf is a GNUpdate RDF library that provides quick and easy access to RDF (XML Resource Description Format) files. more>>
Libgnurdf makes it easy to create, modify, and search RDF files from any C/C++ (and soon Perl and Python) programs. GNUpdate uses this to access its database and to generate queries for online package databases running gnups.
Libgnurdf works with both libxml1 (tested with libxml v1.8.10 and up) and libxml2 (tested with libxml 2.3.8). The necessary version is detected during configure.
RDFParser 2.0.0
RDFParser project is a PHP class that loads and parses RDF/RSS files. more>>
The class provides an interface to the loaded file and makes it simple to generate lists/ tables of the source sites headlines.
Enhancements:
- The old PHP3 code has been completely replaced with new a new PHP4/5 compliant parser.
- The new code uses PHPs built-in SAX parser (rather than regular expressions), which means it is much faster than the old code; even a large RSS file like freshmeats is parsed in under two hundredths of a second (2800XP/PHP 4.4.0/ Apache 2.0.55).
- The new code is also more flexible with regard to parsing slightly non-standard RSS/RDF files.
RDF::Simple::Parser 0.3
RDF::Simple::Parser is a simple RDF/XML parser that reads a string containing RDF in XML. more>>
SYNOPSIS
my $uri = http://www.zooleika.org.uk/bio/foaf.rdf;
my $rdf = LWP::Simple::get($uri);
my $parser = RDF::Simple::Parser->new(base => $uri)
my @triples = $parser->parse_rdf($rdf);
# returns an array of array references which are triples
Redland RDF library 1.0.6
Redland RDF library is an RDF (Resource Description Framework) library. more>>
Main features:
- Modular, object based libraries written in C.
- APIs for manipulating the RDF graph, triples, URIs and Literals.
- Triple sequences for efficient streaming.
- Parsers and Serializers for reading and writing RDF as RDF/XML, N-Triples and Turtle Terse RDF Triple Language syntaxes via the Raptor RDF Parser Toolkit.
- Storage for graphs in memory, with Sleepycat/Berkeley DB, MySQL 3/4, AKT Triplestore, SQLite, files or URIs.
- Querying with RDQL and SPARQL using the Rasqal RDF Query Library.
- Redland contexts for managing data aggregation and recording provenance.
- Language Bindings in C#, Java, Obj-C, Perl, PHP, Python, Ruby and Tcl via the Redland Bindings package.
- Command line utility programs rdfproc (RDF), rapper (parsing) and roqet (query).
- Portable, fast and with no known memory leaks.
Enhancements:
- The code was updated to use Rasqal RDF query library 0.9.14 and Raptor RDF parser/serializer library 1.4.15.
- A new transaction API was added, implemented with MySQL for consistent changes to the graph.
- A new query results formatter class was added.
- Many other bugs were fixed.
XML::Generator::vCard::RDF 1.4
XML::Generator::vCard::RDF is a Perl module that can generate RDF/XML SAX2 events for vCard 3.0 more>>
SYNOPSIS
use XML::SAX::Writer;
use XML::Generator::vCard::RDF;
my $writer = XML::SAX::Writer->new();
my $driver = XML::Generator::vCard::RDF->new(Handler=>$writer);
$driver->parse_files("test.vcf");
Generate RDF/XML SAX2 events for vCard 3.0
RDF::Sesame::Repository 0.16
RDF::Sesame::Repository is a repository on a Sesame server. more>>
This class is the workhorse of RDF::Sesame. Adding triples, removing triples and querying the repository are all done through instances of this class. Only SELECT queries are supported at this point, but it should be fairly straightforward to add CONSTRUCT functionality. If you do it, send me a patch.
METHODS
construct ( %opts )
Evaluates a construct query and returns the RDF serialization of the resulting RDF graph. A minimal invocation looks something like:
my $q = qq(
CONSTRUCT {Parent} ex:hasChild {Child}
FROM {Child} ex:hasParent {Parent}
USING NAMESPACE
ex =
);
my $rdf = $repo->construct(
query => $q,
format => turtle,
);
If an error occurs during the construction, an exception is thrown. This is different from some RDF::Sesame methods which return undef.
format
Required: Yes
Indicates the RDF serialization format that the Sesame server should return. Acceptable values are rdfxml, turtle and ntriples.
language
Default: SeRQL
Specifies the language in which the construct query is written. This is only included for forwards-compatibility since the only query language supported by Sesame is SeRQL.
output
Default: undef
Indicates where the RDF serialization should be placed. The default value of undef means that the serialization should simply be returned as the value of the construct method.
If the value is a filehandle, the serialization is written to that filehandle. The filehandle must already be open for writing. Otherwise, the value is taken to be a filename which is opened for writing (clobbering existing contents) and the serialization is written to the file.
query
Required : Yes
The text of the construct query.
extract ( %opts )
Extract an RDF representation of all the triples in the repository. The only required option is "format" which specifies the serialization format of the resulting RDF. The minimal method invocation looks like
my $rdf = $repo->extract( format => turtle )
where $rdf is a reference to a scalar containing the serialization of all the triples in the repository. The streaming results returned by Sesame are handled appropriately so that memory usage in minimized. If the output is sent to a file (see "output"), only one "chunk" is held in memory at a time (subject to caching by your OS). The serialization may also be compressed (or otherwise processed) as its being streamed from the server (see "compress").
Error handling is done differently in this method than in other methods in RDF::Sesame. Namely, if an error occurs, an exception is thrown (rather than returning undef and setting errstr(). Eventually, Id like all methods to behave this way.
Rasqal RDF Query Library 0.9.14
Rasqal is a C library for querying RDF, supporting the RDQL and SPARQL languages. more>>
Rasqal RDF Query Library features pluggable triple-store source and matching interfaces, an engine for executing the queries and an API for manipulating results as bindings.
It uses the Raptor RDF parser to return triples from RDF content and can alternatively work with the Redland RDF librarys persistent triple stores. It is portable across many POSIX systems.
Raptor RDF Parser Toolkit 1.4.19
Open Source C library that provides a set of parsers and serializers for generating Resource Description Framework (RDF) triples more>>
Raptor RDF Parser Toolkit 1.4.19 is a very serviceable software / Open Source C library that provides a set of parsers and serializers generating Resource Description Framework (RDF) triples by parsing syntaxes or serialize the triples into a syntax.
The supported parsing syntaxes are RDF/XML, N-Triples, TRiG, Turtle, RSS tag soup including all versions of RSS, Atom 1.0 and 0.3, GRDDL and microformats for HTML, XHTML and XML and RDFa. The serializing syntaxes are RDF/XML (regular, and abbreviated), Atom 1.0, GraphViz, JSON, N-Triples, RSS 1.0 and XMP.
Raptor was designed to work closely with the Redland RDF library (RDF Parser Toolkit for Redland) but is entirely separate. It is a portable library that works across many POSIX systems (Unix, GNU/Linux, BSDs, OSX, cygwin, win32). Raptor has no memory leaks and is fast.
Major Features:
- Designed to integrate well with Redland
- Parses content on the web if libcurl, libxml2 or BSD libfetch is available.
- Supports all RDF terms including datatyped and XML literals
- Optional features including parsers and serialisers can be selected at configure time.
- Language bindings to Perl, PHP, Python and Ruby when used via Redland
- No memory leaks
- Fast
- Standalone rapper RDF parser utility program
Enhancements:
- Many improvements to RSS tag soup (RSSes and Atom) parser and the RSS 1.0 and Atom serializers
- Several fixes and improvements to the N-Triples, RDFa and RDF/XML parsers and Turtle serializer
- Improved the use and configuration of static libxml functions for better compatibility
- Several Win32 portability fixes - Lou Sakey
- Many internal changes for upcoming Raptor V2 - primarily by Lauri Aalto
- Many other fixes and resilience improvements.
- Fixed:
-
- Fix NFC check for legal combiner sequence
- Error when raptor_new_uri() fails in Turtle parser
- Invalid turtle output syntax on empty integer/double/decimal literals
- Default/atom namespace in atom serializer output
- strstr is called in raptor_parse_chunk() on a buffer string, where it should be called on a null-terminating string.
- RSS serializer fixes for g++
- Fix raptor_sequence_set_at() when setting beyond end
- broken collection abbreviation in turtle serialization
- Fix raptor_sax2_parse_chunk() calling raptor_log_error_to_handlers() with expat raptor_get_feature function does not return feature value
- Fix RDFa parser problem when there is a subject and predicate specified on an element, but no child nodes for the object literal
- Fix performance problems when turtle parsing with lots of namespaces
- Fix RDF/XML Parser problem with legacy ordinal predicates
- Avoid calling xsltSetDefaultSecurityPrefs()
- Fix NFC check for legal combiner sequence
RSSOwl | RSS / RDF / Atom Newsreader 1.2.4
RSSOwl is a free RSS / RDF / Atom Newsreader written in Java using SWT as graphic library. RSS ("Really Simple Syndication" or "Rich Site Summary") is... more>> <<less
RDFStore::Parser::SiRPAC 0.50
RDFStore::Parser::SiRPAC is a Perl module that implements a streaming RDF Parser as a direct implementation of XML::Parser::Expa more>>
SYNOPSIS
use RDFStore::Parser::SiRPAC;
use RDFStore::NodeFactory;
my $p=new RDFStore::Parser::SiRPAC(
ErrorContext => 2,
Handlers => {
Init => sub { print "INITn"; },
Final => sub { print "FINALn"; },
Assert => sub { print "STATEMENT - @_n"; }
},
NodeFactory => new RDFStore::NodeFactory() );
$p->parsefile(http://www.gils.net/bsr-gils.rdfs);
$p->parsefile(http://www.gils.net/rdf/bsr-gils.rdfs);
$p->parsefile(/some/where/my.rdf);
$p->parsefile(file:/some/where/my.rdf);
$p->parse(*STDIN); #parse stream but with *blocking* Expat (see below example for n-blocking parsing using XML::Parse::ExpatNB)
use RDFStore::Parser::SiRPAC;
use RDFStore::NodeFactory;
my $pstore=new RDFStore::Parser::SiRPAC(
ErrorContext => 2,
Style => RDFStore::Parser::Styles::RDFStore::Model,
NodeFactory => new RDFStore::NodeFactory(),
store => {
persistent => 1,
seevalues => 1,
options => { Name => /tmp/test }
}
);
my $rdfstore_model = $pstore->parsefile(http://www.gils.net/bsr-gils.rdfs);
#using the expat no-blocking feature (generally for large XML streams) - see XML::Parse::Expat(3)
my $rdfstore_stream_model = $pstore->parsestream(*STDIN);
This module implements a Resource Description Framework (RDF) streaming parser completely in Perl using the XML::Parser::Expat(3) module. The actual RDF parsing happens using an instance of XML::Parser::Expat with Namespaces option enabled and start/stop and char handlers set. The RDF specific code is based on the modified version of SiRPAC of Sergey Melnik in Java; a lot of changes and adaptations have been done to actually run it under Perl. Expat options may be provided when the RDFStore::Parser::SiRPAC object is created. These options are then passed on to the Expat object on each parse call.
Exactly like XML::Parser(3) the behavior of the parser is controlled either by the Style entry elsewhere in this document and/or the Handlers entry elsewhere in this document options, or by the setHandlers entry elsewhere in this document method. These all provide mechanisms for RDFStore::Parser::SiRPAC to set the handlers needed by Expat. If neither Style nor Handlers are specified, then parsing just checks the RDF document syntax against the W3C RDF Raccomandation . When underlying handlers get called, they receive as their first parameter the Expat object, not the Parser object.
To see some examples about how to use it look at the sections below and in the samples and utils directory coming with this software distribution.
E.g. With RDFStore::Parser::SiRPAC you can easily write an rdfingest.pl script to do something like this:
fetch -o - -q http://dmoz.org/rdf/content.rdf.u8.gz |
gunzip - |
sed -f dmoz.content.sed | rdfingest.pl -
Redland RDF Library Language Bindings 1.0.6.1
Redland RDF Library Language Bindings provides high-level language bindings for the Redland RDF C libraries. more>>
Configuring and building
Redland bindings uses the GNU automake and autoconf to handle system dependency checking. It is developed and built on x86 Linux (Redhat), but is also used extensively locally on various versions of sparc Sun Solaris 2.x. I also test it via SourceForges compile farm and it builds on Debian Linux (x86, Alpha, PPC and Sparc, IA64), FreeBSD (x86) and Apple OSX.
Configure tries very hard to find several programs and libraries that the Redland bindings need. These include the binding binaries: perl, python, etc., headers for the bindings such as the JDK, Python etc. and various others. A summary of the parts found is given at the end of the configure run. Several options to configure given below can be used to point to locations or names of dependencies that cannot be automatically determined.
Enhancements:
- All the bindings were synchronised with the Redland RDF Library release 1.0.6, adding a transactions API.
- Many updates and fixes were made to the Python and Ruby bindings, and other bugs were also fixed.
RDQLPlus 0.9
RDQLPlus provides a Java RDQL tool, featuring zoomable query results. more>>
It can work with existing RDF files, Jena2 RDF databases, and a native Java database called Mckoi.
Main features:
- INSERT and DELETE statements into/from RDF graphs ("Models")
- CREATE and DROP entire models in RDF storage locations ("Stores")
- DUMP and LOAD models in RDF/XML, N-TRIPLES, and N3 format
- Copy RDF graphs (or sub-graphs) from one model to another
- Query and work with inference models (using one of Jenas reasoners) given an ontology and an instance model
- Output query results in text form
Version restrictions:
- Some filesystem store files arent recognized, even though theyre listed with the STORES command. If youre having this problem, just rename the file to something simpler, like "myfile.rdf".
- After creating and DROPping an inference model, models that it depends on may not be DROPpable until re-starting RDQLPlus. When you try to DROP such a model, you will be told it was succesfully dropped. But listing MODELs will reveal it is still there.
- You absolutely need version 1.10 of GraphViz to run RDQLPlus. Older versions can create unexpected output, which causes ZVTM to throw a NullPointerException at times.
- On-line help via the HELP command doesnt provide much detail yet. The RIDIQL Reference does.
scrssfeed 0.1
scrssfeed is a simple filter to use in mail programs to grab URLs from the messages that state that spamcop. more>>
scrssfeed is a very simple script that does one thing: convert the spamcop links in a has accepted X e-mails for processing mail to urls in an RSS feed.
You can then use this feed as a live bookmark in Firefox (and probably in other browsers) using for example the open in tabs option to follow all urls at once.
The scripts expects the mail on stdin and looks for the right urls.
The output is saved to spamcop.rdf, you will probably need to adjust the path to something that fits your web installation.