FoxHive Git
Library and tools for storing and retrieving arbitrary metadata
Status: Pre-Alpha
Brought to you by:
tortoise74
File Meta Data Library ====================== homepage: http://sourceforge.net/projects/filemetadata/ The aim of this project is to provide an easy to use interface with which to store and retrieve meta data about files. Meta data about a file may be stored in any or all of the following places: * In the same file-system (in a .filemetadata directory) * Using extended file attributes * Embedded in the file itself (for example XMP) * In a shared database The project intends to provide a comprehensive set of libraries, APIs and tools so that these resources may be accessed transparently in a way that allow applications to interoperate safely. It includes tools that allow meta data to be copied or moved when the file to which the meta data is attached is itself copied or moved, even remotely. Limited support is also provided for storing and retrieving meta data referring to arbitrary resources (such as URLs). However, this falls outside the primary scope of the project. Interoperating applications/systems =================================== The project aims to interoperate cleanly with: * inbuilt operating system services (e.g. extended attributes) * XMP/EXIF embedded image meta-data * ID3 embedded audio meta-data * Digikam * the KDE nepomuk (semantic desktop) project * the Gnome Xesam project Where possible (and if so configured) it may attempt to translate meta-data suitable for one application into meta-data suitable for another. A notable example is the encoding of simple tag based folksonomies using the ontologies specfied by digikam and nepomuk. Using this library the primary obstacle remaining to getting applications to talk to each other will be use and understanding of each systems ontologies. A notable example of this might be the distinct ontologies used by the competing xesam and nepomuk systems. Platforms ========= The project aims to be entirely cross platform but initially targeting linux and windows. Meta Data ========= The library will support the following kinds of meta data: * simple folksonomy based tagging * the Dublin core elements * arbitrary RDF data Build Instructions ================== This project uses cmake & make for build configuration. It also provides a simple wrapper script ./build.sh which will execute the commands necessary to build, test & package the software. Tools ===== This project makes use of the following tools and standards: cmake - build system cppunit - unit testing doxygen - source code documentation open office - general documentation Libraries ========= Rather than supporting all kinds of metadata itself libfilemeta instead leverages specialised libraries designed elsewhere to store and retrieve meta data of each kind. Embedded image meta data - libexiv2 - http://www.exiv2.org/ Extended file attributes (linux) - libxattr APIs ==== The project aims to provide the following APIs: Command-Line interface C++ Java C GObject bindings Nepomuk interface Status ====== No software releases have been made at this time. History ======= The impetus for this project came from the original authors desire for a simple API to share tags between applications and tag arbitrary files or web-pages. Although there are many applications and web-sites offering tagging services, few or none of them seem to interoperate with each other. Maintainer/Author ================= The primary maintainer of libfilemetadata is: Bruce S. O. Adams (tortoise_74 at yahoo co uk) homepage: www.tortoise74.me.uk Contributions, reviews and discussions are welcomed. Please use the source facilities. References ========== Tag - http://en.wikipedia.org/wiki/Tag_%28metadata%29 Folksonomy - http://en.wikipedia.org/wiki/Folksonomy XMP - http://en.wikipedia.org/wiki/Extensible_Metadata_Platform ID3 - http://en.wikipedia.org/wiki/Id3 Dublin Core - http://en.wikipedia.org/wiki/Dublin_core Nepomuk - http://nepomuk.kde.org/ Digikam - http://www.digikam.org/ Xesam - http://en.wikipedia.org/wiki/Xesam