From W3C Wiki
Tools and applications that can convert from other data and file formats to RDF.
To adapt SQL Relational Databases RDBMS, please refer to:
- Aperture : Aperture is a Java framework for extracting and querying full-text content and metadata from various information systems (file systems, web sites, mail boxes, ...) and the file formats (documents, images, ...) occurring in these systems. It is a joint project by DFKI and Aduna and others who join.
- gnowsis: The gnowsis adapter framework (www.gnowsis.org) provided a standard architecture for building adapters from existing data sources to RDF. This framework was separated with gnowsis 0.9 and moved to Aperture (see above) in 2006. With it you can use adapters to extract information from your IMAP server, the file system, Outlook, or any other data source for which you write an adapter (ie Relational Databases). Gnowsis is based on either a CBD implementation or a simplified find(spo) implementation. Gnowsis is written in Java and released under BSD.
- Jena Framework: Jena's Graph interface could be used to implement adapters. Existing Graph implementations mostly deal with different ways of storing the graph (in-memory, database etc.) or inference. D2RQ is an example of an adapter implemented as a Jena graph.
- RDFLib Store API: RDFLib's Store interface (init.py stub) could also be used to implement adapters. Existing Graph implementations cover various ways of storing the graph (in-memory, database etc.).
- Kowari or now called Mulgara has an open "Content Handler" interface which exposes contents of some file as RDF. Content handlers must implement canParse (based on e.g. MIME type or file extension), parse() and serialize(). The parsed form of a file is a Statements instance, which basically is a simple cursor over a set of triples.
- Sesame has an API called SAIL (Storage And Inference Layer) which exposes an underlying storage format as RDF to the Sesame tools (access APIs and query engines). This can be used to 'wrap' existing data formats to RDF.
- kSpaces uses "Auto-Tagging plugins" (as opposed to Metadata Editor plugins) to extract metadata from files. The plugins get passed a filename and UUID, and return a model with a description of the resource. (See section 4.6 of [http://kspaces.net/downloads/kSpaces_Report.pdf kSpaces: A Distributed Knowledge Management Platform)
- FREGE - a Semantic Desktop architecture, result of a bachelor's thesis. Open Source framework, python based. Adapters seem to be called reflectors, otherwise the system conforms to our adapter definition.
- What about SIMILE RDFizers? The page lists lots of Foo -> RDF converters, but is there a common interface?
- OpenLink Virtuoso - is equipped with a SPARQL Query Processor that includes an in-built RDF middleware (RDFizer) component called the "Sponger" that transforms a plethora of non RDF Data Sources into RDF "on the fly". Supported non RDF data sources include: Microformats, Web Services for Googlebase, Amazon, eBay, Flickr, Del.icio.us, Atom, RSS 2.0, Ningh, Office Docs (Open Office and Microsoft Office), Image, Audio, Video, PDFs and others. Virtuoso also includes an in-built SQL-RDF mapping layer that enables declarative creation of RDF Views (SQL mapped to RDF) over ODBC or JDBC accessible SQL Data Sources alongside its own Native SQL Data.
- ... others?
If you know how the perfeact adapter may look like, write it here: AdapterArchitecture