Fluxion - Semantic Web Data Integration Framework
Fluxion is a full data integration framework, with associated tools to give Semantic Web citizens access to complex integrative solutions for any kind of federated data resource. With Fluxion, you can view Semantic Web data in a meaningful way using the Pussycat browser, or you can expose data from one of your own datasources (a database or some other resource) to the Semantic Web using the DataPublisher. You can also expose data and integrate it with other resources by representing it in an ontology, and mapping to existing ontologies using Runcible
Before you devle in, we would suggest that you read some of the following documentation to get an idea of what Fluxion is and what it can do for you.
If you want to ignore the wordy stuff and try out Fluxion in a semi-guided fashion, then head over to the Fluxion Portal, the official web frontend for all the aspects of the platform.
History
The Fluxion framework was initially developed as part of the ComparaGRID project as a response to the need for an encompassing data integration platform for the biological and biomedical life sciences.
Prior art
There are numerous data integration solutions, each with differing and converging stances on how to go about the difficult task of representing disparate data sources as a manageable, useable and accurate singular point of access. Some technologies play a large part in many solutions, such as the use of machine-readable metadata to improve data sources so that integration becomes computationally viable*. Others harvest data and attempt to curate a middleware layer of linkage structures in the form of RDF triples*.
New outlook
Fluxion takes some of these previously constructed framework definitions on board, and applies novel techniques to try and improve the arduous task of data integration, for computers and humans alike. Fluxion is separated into distinct modules that can be used as part of other frameworks, each with their own programming interface definitions (APIs). This means that portions of Fluxion can be used without having a dependency on the others, allowing data to be dropped into each module (obviously some format standards have to be adhered to). Whilst this added to initial complexity at development time, this also means that any kind of data can be integrated using Fluxion, not just that of the biological domain under which it was originally conceived. The biological domain was instrumental, however, as few other domains have such plethora of heterogeneous data sources which made it an ideal testbed for Fluxion.
A fresh outlook on how emerging technologies could aid data integration was central to how Fluxion was developed. Some of these technologies are still growing and maturing, so expect frequent updates and feature inclusions (and bug fixes!) in future.
Where do I start?
Fluxion is quite a large software project with many facets and components, so we have decided to separate the gory details into two areas of potential interest; User and Developer documentation.
- Users
We envisage that Users will be those that want to get their hands on the front-facing aspects of Fluxion and see how it performs with their own queries over existing data sources that have been integrated. Similarly, you may be a User that wants to expose his or her own data using Fluxion in order to integrate your data with others.
- Developers
Developers will be those that want to see the internals of Fluxion, and get their hands on the modules to implement locally, or modify them for their own uses. Developers will need to have an understanding of the Fluxion architecture in order to see how it exposes data, how it achieves data integration and how it presents these aspects to Users.