Today I made a little experiment using tagfs and freebase. Freebase is a big database with structured data which contains around 12 million entities . These entities are used to describe subjects from the real world. Like movies, persons, places, ... So freebase is perfectly applicable for enriching your own data.
I will show this by an example. I've got some movies on my hard drive which I enjoy watching. One of them is the movie Ink. I store these movies in a movie directory. Every movie gets it's own subdirectory below the movies directory. So the movie Ink is stored on my hard drive below
/movies/Ink/Ink.avi. This enables me to tag my movies for tagfs. My tag file for Ink looks like this:
My Personal Rating: 8 stars
_freebase: type: /film/film, name: Ink, initial_release_date: None
In my experiment I extended tagfs to fetch taggings from freebase. tagfs reads the
_freebase value for each item / movie and executes it as a query to freebase. The query delivers a result like this:
"status": "200 OK",
tagfs applies the fields
type as further taggings. So exporting the tagfs meta data as CSV looks like this:
Now I can filter my movies with tagfs using the meta data from the huge freebase community. I've release the experimental freebase integration in tagfs below the freebase branch.