Fluidinfo, en ny måte å organisere innhold på
Hva er fluidinfo?
Fluidinfo er en åpen database som er basert på tagging av innhold. Databasen ligger i skyen og er sentrert rundt attributter-verdier. Den er skrevet i Python.
Innhold kan legges til ved å tagge data, og hentes ut igjen ved hjelp av enkle spørringer.
Fluidinfo var tidligere kjent som FluidDB.
Hva består fluidinfo av?
Objekter: representerer ting eller ord. For eksempel: brukeren 'blender', ordet 'visualisering' eller filmen 'hackers'.
Brukere: oppretter tagger som brukes for å annotere objekter.
Tagger: brukes for å legge til info om et objekt. Alle tagger har et navn innenfor et navnerom. En tag 'kurs' opprettes av en bruker 'blender', og blir da den unike taggen 'blender/kurs'. Dette åpner for at flere brukere kan opprette taggen 'kurs'. En legger så en verdi til taggen, for eksempel 'desember'.
Tilgangskontroll: styrer hvem som kan lese / skrive en tag. Objekter har ingen eier, så alle kan tagge alt, men man kan styre hvem en vil dele sine tags med.
Spørringer: brukes for å velge objekter. En spesifiserer tagger og verdier man ønsker, og får tilbake de objekter som matcher.
Hvordan bruke fluidinfo?
Fluidinfo kan brukes for å utvikle nye produkter eller tjenester via spørringer og et API. Det finnes også python og javascript bindinger som kan brukes.
I praksis betyr dette at du kan kommunisere med fluidinfo via et python bibliotek, cURL eller rene HTTP GET spørringer. Jeg viser et eksempel fra dokumentasionen på fluidinfo.com.
Python:
>>> headers, response = fluidinfo.call('GET', '/users/ntoll')
>>> headers
{'cache-control': 'no-cache',
'connection': 'keep-alive',
'content-length': '76',
'content-location': 'https://fluiddb.fluidinfo.com/users/ntoll',
'content-type': 'application/json',
'date': 'Mon, 18 Apr 2011 20:40:56 GMT',
'server': 'nginx/0.7.65',
'status': '200'}
>>> response
{u'id': u'a694f2d0-428e-4aaf-85d1-58e903f56b30',
u'name': u'Nicholas Tollervey'}
cURL:
$ curl https://fluiddb.fluidinfo.com/users/ntoll
{"role": "USER", "name": "Nicholas Tollervey", "id": "5a4a7300-aace-4d82-ae7b-5f93ed104411"}
HTTP Get:
$ wget https://fluiddb.fluidinfo.com/users/ntoll
--2012-11-24 19:24:21-- https://fluiddb.fluidinfo.com/users/ntoll
Resolving fluiddb.fluidinfo.com (fluiddb.fluidinfo.com)... 174.129.210.19
Connecting to fluiddb.fluidinfo.com (fluiddb.fluidinfo.com)|174.129.210.19|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 92 [application/json]
Saving to: `ntoll.1'
100%[======================================>] 92 --.-K/s in 0s
2012-11-24 19:24:21 (34.3 MB/s) - `ntoll.1' saved [92/92$ cat ntoll
{"role": "USER", "name": "Nicholas Tollervey", "id": "5a4a7300-aace-4d82-ae7b-5f93ed104411"}
Er du ikke en utvikler kan du bruke fluidinfo via en nettleser plugin som heter loveme.do. Med denne kan du legge til kommentarer på linker, bilder eller tekst som du markerer på en nettside. Du kan også se hva andre har kommentert.
Nyttige linker
http://fluidinfo.com/cookbook/#commontasks
http://en.wikipedia.org/wiki/Fluidinfo
Oppsummering
Fluidinfo virker som en spennende måte å organisere data på. Men om vi greier å bruke det til noe fornuftig gjenstår å se. Kanskje kommer det en ny post senere om jeg får sett litt nærmere på noen praktiske eksempler.
Det finnes også en O´Reilly bok "Getting started with Fluidinfo" som kan hjelpe deg igang.