SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
FluidDB
     in a
   Nutshell
http://www.flickr.com/photos/max78/104677840/
FluidDB is an openly
         writable hosted service
           for storing, sharing,
        searching and annotating
                  data.

While this is accurate, it’s not the whole story...
Key Concepts
• Objects - represent things*
• Tags - define objects’ attributes
• Namespaces - organise tags
• Permissions - control access

  * Not in the object oriented sense of “object”.
http://ntoll.org/images/93.jpg


Objects are simply tagged with information
Namespaces/tags
                        ntoll/rating
                        terrycojones/books/review
                        amazon.com/book/title
                        amazon.com/book/author
                        amazon.com/book/isbn
                        esteve/books/cover
                        timoreilly/has_read



Tags must be defined before being attached to objects. Every user, application or client starts
with a namespace named after their username. Users whose username is a domain name
must own the domain in question (so only Amazon could use the namespace amazon.com).
Every namespace and tag is itself represented by an object (facilitating meta-tagging).
Objects (in FluidDB)
      represent things
                                          Every object has a unique ID

         about =                  An                           id =
       “book: Dune”              object       “e127475b-eb93-48e1-a24f-dde6825b9ed8”




          The unique “about” tag is optional and used to
               identify what the object represents



A conceptual view of an object. Remember the “about” tag is special, optional and unique.
r=
                                                                                                         ove
                                                                                                      /c
                                                                                                    ks
                                                                                                  oo




                                             ntoll/
                                                                                                b
                                                                                             ve/
                                                                                           te
                                                                                         es




                                                   rating
           am
             azo
                 n.c
              “87 om/b
                 - 41    o




                                                          =
                     8-7 oks/i
                        517 sbn




                                                     5
                           - 6” =



                about =                              An                                                        id =
              “book:Dune”                           object                                           “e127475b-eb93-48e1-a24f-


                                    =                                                  am
                                                                                          az
                            v iew                                                            on
                         /re s”
                                             r=



                                                              timoreill
                        s                                                                       .c
                                                                                                 om
                      ok rm
                                       er tho




                   /bo wo                                                                      “D /bo
                nes and                                                                           un ok
                                                                   1973/08
                                    erb s/au




            ojo ve s                                                                                e” s/t
                                         t”




                                                                                                          it
         ryc I lo
                                                                       y/has_re
                                 k H ok




                                                                                                                  le
      ter “                                                                                                            =
                             ran /bo




                                                                            /19
                           “F om
                             n.c




                                                                                ad =
                          azo
                       am




Different users tag data to the object. Their data is given a context by being attached to the
same object.
r=
                                                                                                         ove
                                                                                                      /c
                                                                                                    ks
                                                                                                  oo




                                             ntoll/
                Numbers                                                                      ve/
                                                                                                b
                                                                                           te
                                                                                         es




                                                   rating
           am
             azo
                n.c
                    om
               874 /bo




                                                          =
                   187 oks
                       517 /isbn




                                                     5
                          6             =                                                                                  Images

                about =                              An                                                        id =
              “book:Dune”                           object                                           “e127475b-eb93-48e1-a24f-


                                    =                                                  am
                                                                                          az
                            v iew                                                            on
                         /re s”
                                             r=



                                                              timoreill
                        s                                                                       .c
                                                                                                 om
                      ok rm
                                       er tho




                   /bo wo                                                                      “D /bo
                nes and                                                                           un ok
                                                                   1973/08
                                    erb s/au




            ojo ve s                                                                                e” s/t
                                         t”




                                                                                                          it
         ryc I lo
                                                                       y/has_re
                                 k H ok




                                                                                                                  le
      ter “                                                                                                            =
                             ran /bo




                                                                            /19
                           “F om
                             n.c




                                                                                ad =
                          azo




       Text                                                                                   Date/Time
                       am




The values can be of a primitive (searchable) type: numbers, text, booleans etc... OR an
opaque type: images, audio, video or any other sort of data.
r=
                                                                                                         ove
                                                                                                      /c
                                                                                                    ks
                                                                                                  oo




                                             ntoll/
                                                                                                b
                                                                                             ve/
                                                                                           te
                                                                                         es




                                                   rating
           am
             azo
                 n.c
              “87 om/b
                 - 41    o




                                                          =
                     8-7 oks/i
                        517 sbn




                                                     5
                           - 6” =



                about =                              An                                                        id =
              “book:Dune”                           object                                           “e127475b-eb93-48e1-a24f-


                                    =                                                  am
                                                                                          az
                            v iew                                                            on
                         /re s”
                                             r=



                                                              timoreill
                        s                                                                       .c
                                                                                                 om
                      ok rm
                                       er tho




                   /bo wo                                                                      “D /bo
                nes and                                                                           un ok
                                                                   1973/08
                                    erb s/au




            ojo ve s                                                                                e” s/t
                                         t”




                                                                                                          it
         ryc I lo
                                                                       y/has_re
                                 k H ok




                                                                                                                  le
      ter “                                                                                                            =
                             ran /bo




                                                                            /19
                           “F om
                             n.c




                                                                                ad =
                          azo
                       am




What about data control/privacy..? Permissions are usually applied to the “thing” of interest.
But Fluidinfo wants to make FluidDB openly writeable. So we do something different...
r=
                                                                                                         ove
                                                                                                      /c
                                                                                                    ks
                                                                                                  oo




                                             ntoll/
                                                                                                b
                                                                                             ve/
                                                                                           te
                                                                                         es




                                                   rating
           am
             azo
                 n.c
              “87 om/b
                 - 41    o




                                                          =
                     8-7 oks/i
                        517 sbn




                                                     5
                           - 6” =



                about =                              An                                                        id =
              “book:Dune”                           object                                           “e127475b-eb93-48e1-a24f-


                                    =                                                  am
                                                                                          az
                            v iew                                                            on
                         /re s”
                                             r=



                                                              timoreill
                        s                                                                       .c
                                                                                                 om
                      ok rm
                                       er tho




                   /bo wo                                                                      “D /bo
                nes and                                                                           un ok
                                                                   1973/08
                                    erb s/au




            ojo ve s                                                                                e” s/t
                                         t”




                                                                                                          it
         ryc I lo
                                                                       y/has_re
                                 k H ok




                                                                                                                  le
      ter “                                                                                                            =
                             ran /bo




                                                                            /19
                           “F om
                             n.c




                                                                                ad =
                          azo
                       am




...we move the location of the permissions...
Permissions apply to
      namespaces, tags and
       values. Users retain
      control of their data.
     FluidDB stays writable.
Anyone can tag any sort of data to any object. However, users define who can read, create
and change their namespaces, tags and data.
FluidDB is the database
                                             with the heart of a wiki




                                       Nivi
                            http://venturehacks.com/


Sort of... :-) A wiki is openly writable just like FluidDB. But a wiki doesn’t have permissions to
facilitate privacy and ownership, a query language like a database, nor does it have a simple
API for application developers.
SELECT self-catering-cottage FROM


         WHERE location NEAR pubs SERVING




                  AND pub HAS rating > 7 IN




It’s currently NOT possible to create queries like this on the web. Data is stored in walled
gardens behind websites. FluidDB is different because data is stored in context (i.e. it’s
tagged to a shared object).
FluidDB’s Query Language
           •   Equality & Inequality: To find objects based on the numeric values or
               exact textual values, e.g., tim/rating > 5, or geo/name = "Llandefalle".

           •   Textual: To find objects based on text matching their tag values, for
               example, sally/opinion matches “fantastic”.

           •   Presence: Use has to request objects that have a given tag. For example,
               has sally/opinion.


           •   Set contents: The contains operator can be used to select objects with a
               matching value in a set of strings. The query mary/product-reviews/keywords
               contains "kids" would match the object with a tag called /mary/product-
               reviews/keywords and value ["cool", "kids", "adventure" ].

           •   Exclusion: Exclude objects with the except keyword. For example has
               nytimes.com/appeared except has james/seen. The except operator
               performs a set difference.

           •   Logic: Query components can be combined with and and or. For example,
               has sara/rating and tim/rating > 5.


           •   Grouping: Parentheses can be used to group query components. For
               example, has sara/rating and (tim/rating > 5 or mike/rating > 7).

FluidDB has a simple yet powerful query language (so simple, it fits on this slide). Because
everyone’s data is stored in the context of shared objects it means it’s possible to create
interesting queries using data (for which you have permission to read) from lots of different
sources.
Tags attached to the “about:esteve” object.

                     {“tagPaths”: [
                     " “twitter.com/username”,
                     " “twitter.com/fullname”,
                     " “tunkrank.com/score”,
                     " “ntoll/met”,
                     " “terrycojones/met”,
                     " “python.org/member”,
                     " “ub.edu/alumni”,
                     " “ub.edu/bsc”,
                     " “uoc.edu/msc”,
                     " ... etc ...
                     ]}

It’s also possible to find information by interrogating an interesting object for all the tags
that are attached to it (that you are allowed to read).
A RESTful API
   https://fluiddb.fluidinfo.com/objects/OBJECT_ID/NAMESPACE(s)/TAG




       HTTP ‘GET’ returns the value,
      HTTP ‘PUT’ adds/updates it etc...
                     Full API: http://api.fluidinfo.com/



FluidDB has an elegant and flexible API for application developers. End users create an
account on FluidDB but use applications to access, update, search and annotate FluidDB.
Lots of FOSS client libraries:
 http://fluidinfo.com/developers/libs
Data becomes social!



Openly writable objects are tagged with data from lots of different sources.
northac
                           kton/m
                                  ember
                                                                                                                             terryco
                                                                                                                                    jones/m
        nto
                                                                                                                                           et
           ll/m
            et



                                                   ff      ntoll                                    northackton




                                                                                      per
                                               /sta
                                            nfo                                                                                                                 scoble




                                                                                    lo
                                        i
                                     uid




                                                                                eve
                                    fl




                                                                               d
                                                                                                                               ntoll/met




                                                                           fom/
                                  fom/                                                                                              d
                                      user                                                 taf
                                                                                               f
                                                                                                           esteve               gge
                                                                                          s
                  widget                                                               fo/                                   blo
                                                                                    in                                   l e/
                                                                                fluid                                  co
                                                                                                                        b
          er




                                                                                                                     s
           b
        em




                                                                                                                                                                    flui
                                                                                                                                                 ceronman                 din
     n/m




                                                                                                                                                                              fo/s
                                                                                                                                                                                  taff
  kto




                                                                                                                                   nt
                  widget/owns




                                                                                                                                        oll
                                                              fluid
    c




                                                                                                                                            /m
 tha




                                                                                                                                                                     terr
                                                                                                                                           et
                                                                  info/st
nor




                                             peacelily
                                                                                                    fluidinfo          fom




                                                                                                                                                                          yco
                                    fom                                                                                   /de
                                                                                                                             velo
                                                                          aff




             FOM




                                                                                                                                                                             jon
                                        /us                                                                                      per
                                           e     r




                                                                                                                                                                                es/m
                                                                                           te
                                                                                             rr




                                                                                                                                                                                et
                                                                                                y  co



                  FOM
                                                                                                     jon



                                                                                                                                     ff
                                                                                                                              nfo/sta
                                                                                                                        fluidi
                                                                                                      es



                                                                                                                                                   aliafshar
                                                                                                        /m
                                                                                                           e




                                      /me    t
                                                                                                           t




                                ntoll
                                                        terrycojones

                                                                                                                                                                      r
                                terrycojones/met                                                                                                                ve sto            timoreilly
                                                                                     estor                                                                 fo/in
                                                                        fluidi nfo/inv                                                                 idin
                                                                                                                                                   flu
         gfcampbell                                                                                                 edyson

 Some user objects...
i
                                    flu                      sc
                                                               o
                                                                                                      flui
                                                                                         ceronman            din
                                                                                                           Where Google explores the
                                                                                                                 fo/s
                                                                                                                      taff




                                                                           nt
                                                                                                        digital world as it is, Fluidinfo is




                                                                              oll
                  flu




                                                                                  /m
                     idinfo/
                                                                                                       more of a distributed intellectual




                                                                                                      terr
                                                                                    et
  peacelily
                                           fluidinfo          fom                                  construction tool. Basically, it's a new




                                                                                                        yco
                                                                /de
                            staff

m/                                                                 velo




                                                                                                           jon
  use                                                                  per                        kind of database for open, typed data
        r




                                                                                                              es/m
                                                                                                  without the overhead of the "ontology"




                                                                                                              et
                                          te
                                          rr                                                       companies, along with a new kind of
                                                                                ff
                                             y
                                                                           o/sta
                                            co
                                              jon
                                                 es                fluidi
                                                                         nf                        search engine. It's along the lines of
                                                                                           aliafshar
met                                                                                              Metaweb but more flexible, with a very
                                                   /m
                                                      et

            terrycojones                                                                             different model of data ownership,
                                                                                                      and with more focus on regular
                                                                                                           r
ojones/met                                                                                              iso         timoreilly
                                                                                                       v people as end users.
                                         estor                                                      /ad
                                  nfo/inv                                                        nfo
                                                                                                 di
                            fluidi                                                          flui
                                                           edyson



                                                                                                                     terry
                                                                                                                          cojon
                                                                                                                                  es/m
                                                                                                                                       et

                                                                         edyson


                                                   Esther Dyson                                                                                    nivi

                                               http://edventure.com/
                                                                                                                        http://www.flickr.com/photos/stewtopia/1413191259/

  A really good summary.
http://fluidinfo.com/

Mais conteúdo relacionado

Destaque

Strategies 4 Quality
Strategies 4 QualityStrategies 4 Quality
Strategies 4 QualitySusan Clark
 
OTLA Workshop on Grading and Responding Fall 2008
OTLA Workshop on Grading and Responding Fall 2008OTLA Workshop on Grading and Responding Fall 2008
OTLA Workshop on Grading and Responding Fall 2008jrgmckinney
 
An (Inaccurate) Introduction to Python
An (Inaccurate) Introduction to PythonAn (Inaccurate) Introduction to Python
An (Inaccurate) Introduction to PythonNicholas Tollervey
 
From Territorial Peoples toward a Global Agreement
From Territorial Peoples toward a Global AgreementFrom Territorial Peoples toward a Global Agreement
From Territorial Peoples toward a Global Agreementalianzabosques
 
Analysis of linkages between logistics information systems and
Analysis of linkages between logistics information systems andAnalysis of linkages between logistics information systems and
Analysis of linkages between logistics information systems andAlexander Decker
 
The London Python Code Dojo - An Education in Developer Education
The London Python Code Dojo - An Education in Developer EducationThe London Python Code Dojo - An Education in Developer Education
The London Python Code Dojo - An Education in Developer EducationNicholas Tollervey
 

Destaque (7)

Strategies 4 Quality
Strategies 4 QualityStrategies 4 Quality
Strategies 4 Quality
 
OTLA Workshop on Grading and Responding Fall 2008
OTLA Workshop on Grading and Responding Fall 2008OTLA Workshop on Grading and Responding Fall 2008
OTLA Workshop on Grading and Responding Fall 2008
 
An (Inaccurate) Introduction to Python
An (Inaccurate) Introduction to PythonAn (Inaccurate) Introduction to Python
An (Inaccurate) Introduction to Python
 
Blended+learning+&+ibt zul
Blended+learning+&+ibt zulBlended+learning+&+ibt zul
Blended+learning+&+ibt zul
 
From Territorial Peoples toward a Global Agreement
From Territorial Peoples toward a Global AgreementFrom Territorial Peoples toward a Global Agreement
From Territorial Peoples toward a Global Agreement
 
Analysis of linkages between logistics information systems and
Analysis of linkages between logistics information systems andAnalysis of linkages between logistics information systems and
Analysis of linkages between logistics information systems and
 
The London Python Code Dojo - An Education in Developer Education
The London Python Code Dojo - An Education in Developer EducationThe London Python Code Dojo - An Education in Developer Education
The London Python Code Dojo - An Education in Developer Education
 

Último

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Último (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

FluidDB in a Nutshell

  • 1. FluidDB in a Nutshell http://www.flickr.com/photos/max78/104677840/
  • 2. FluidDB is an openly writable hosted service for storing, sharing, searching and annotating data. While this is accurate, it’s not the whole story...
  • 3. Key Concepts • Objects - represent things* • Tags - define objects’ attributes • Namespaces - organise tags • Permissions - control access * Not in the object oriented sense of “object”.
  • 5. Namespaces/tags ntoll/rating terrycojones/books/review amazon.com/book/title amazon.com/book/author amazon.com/book/isbn esteve/books/cover timoreilly/has_read Tags must be defined before being attached to objects. Every user, application or client starts with a namespace named after their username. Users whose username is a domain name must own the domain in question (so only Amazon could use the namespace amazon.com). Every namespace and tag is itself represented by an object (facilitating meta-tagging).
  • 6. Objects (in FluidDB) represent things Every object has a unique ID about = An id = “book: Dune” object “e127475b-eb93-48e1-a24f-dde6825b9ed8” The unique “about” tag is optional and used to identify what the object represents A conceptual view of an object. Remember the “about” tag is special, optional and unique.
  • 7. r= ove /c ks oo ntoll/ b ve/ te es rating am azo n.c “87 om/b - 41 o = 8-7 oks/i 517 sbn 5 - 6” = about = An id = “book:Dune” object “e127475b-eb93-48e1-a24f- = am az v iew on /re s” r= timoreill s .c om ok rm er tho /bo wo “D /bo nes and un ok 1973/08 erb s/au ojo ve s e” s/t t” it ryc I lo y/has_re k H ok le ter “ = ran /bo /19 “F om n.c ad = azo am Different users tag data to the object. Their data is given a context by being attached to the same object.
  • 8. r= ove /c ks oo ntoll/ Numbers ve/ b te es rating am azo n.c om 874 /bo = 187 oks 517 /isbn 5 6 = Images about = An id = “book:Dune” object “e127475b-eb93-48e1-a24f- = am az v iew on /re s” r= timoreill s .c om ok rm er tho /bo wo “D /bo nes and un ok 1973/08 erb s/au ojo ve s e” s/t t” it ryc I lo y/has_re k H ok le ter “ = ran /bo /19 “F om n.c ad = azo Text Date/Time am The values can be of a primitive (searchable) type: numbers, text, booleans etc... OR an opaque type: images, audio, video or any other sort of data.
  • 9. r= ove /c ks oo ntoll/ b ve/ te es rating am azo n.c “87 om/b - 41 o = 8-7 oks/i 517 sbn 5 - 6” = about = An id = “book:Dune” object “e127475b-eb93-48e1-a24f- = am az v iew on /re s” r= timoreill s .c om ok rm er tho /bo wo “D /bo nes and un ok 1973/08 erb s/au ojo ve s e” s/t t” it ryc I lo y/has_re k H ok le ter “ = ran /bo /19 “F om n.c ad = azo am What about data control/privacy..? Permissions are usually applied to the “thing” of interest. But Fluidinfo wants to make FluidDB openly writeable. So we do something different...
  • 10. r= ove /c ks oo ntoll/ b ve/ te es rating am azo n.c “87 om/b - 41 o = 8-7 oks/i 517 sbn 5 - 6” = about = An id = “book:Dune” object “e127475b-eb93-48e1-a24f- = am az v iew on /re s” r= timoreill s .c om ok rm er tho /bo wo “D /bo nes and un ok 1973/08 erb s/au ojo ve s e” s/t t” it ryc I lo y/has_re k H ok le ter “ = ran /bo /19 “F om n.c ad = azo am ...we move the location of the permissions...
  • 11. Permissions apply to namespaces, tags and values. Users retain control of their data. FluidDB stays writable. Anyone can tag any sort of data to any object. However, users define who can read, create and change their namespaces, tags and data.
  • 12. FluidDB is the database with the heart of a wiki Nivi http://venturehacks.com/ Sort of... :-) A wiki is openly writable just like FluidDB. But a wiki doesn’t have permissions to facilitate privacy and ownership, a query language like a database, nor does it have a simple API for application developers.
  • 13. SELECT self-catering-cottage FROM WHERE location NEAR pubs SERVING AND pub HAS rating > 7 IN It’s currently NOT possible to create queries like this on the web. Data is stored in walled gardens behind websites. FluidDB is different because data is stored in context (i.e. it’s tagged to a shared object).
  • 14. FluidDB’s Query Language • Equality & Inequality: To find objects based on the numeric values or exact textual values, e.g., tim/rating > 5, or geo/name = "Llandefalle". • Textual: To find objects based on text matching their tag values, for example, sally/opinion matches “fantastic”. • Presence: Use has to request objects that have a given tag. For example, has sally/opinion. • Set contents: The contains operator can be used to select objects with a matching value in a set of strings. The query mary/product-reviews/keywords contains "kids" would match the object with a tag called /mary/product- reviews/keywords and value ["cool", "kids", "adventure" ]. • Exclusion: Exclude objects with the except keyword. For example has nytimes.com/appeared except has james/seen. The except operator performs a set difference. • Logic: Query components can be combined with and and or. For example, has sara/rating and tim/rating > 5. • Grouping: Parentheses can be used to group query components. For example, has sara/rating and (tim/rating > 5 or mike/rating > 7). FluidDB has a simple yet powerful query language (so simple, it fits on this slide). Because everyone’s data is stored in the context of shared objects it means it’s possible to create interesting queries using data (for which you have permission to read) from lots of different sources.
  • 15. Tags attached to the “about:esteve” object. {“tagPaths”: [ " “twitter.com/username”, " “twitter.com/fullname”, " “tunkrank.com/score”, " “ntoll/met”, " “terrycojones/met”, " “python.org/member”, " “ub.edu/alumni”, " “ub.edu/bsc”, " “uoc.edu/msc”, " ... etc ... ]} It’s also possible to find information by interrogating an interesting object for all the tags that are attached to it (that you are allowed to read).
  • 16. A RESTful API https://fluiddb.fluidinfo.com/objects/OBJECT_ID/NAMESPACE(s)/TAG HTTP ‘GET’ returns the value, HTTP ‘PUT’ adds/updates it etc... Full API: http://api.fluidinfo.com/ FluidDB has an elegant and flexible API for application developers. End users create an account on FluidDB but use applications to access, update, search and annotate FluidDB.
  • 17. Lots of FOSS client libraries: http://fluidinfo.com/developers/libs
  • 18. Data becomes social! Openly writable objects are tagged with data from lots of different sources.
  • 19. northac kton/m ember terryco jones/m nto et ll/m et ff ntoll northackton per /sta nfo scoble lo i uid eve fl d ntoll/met fom/ fom/ d user taf f esteve gge s widget fo/ blo in l e/ fluid co b er s b em flui ceronman din n/m fo/s taff kto nt widget/owns oll fluid c /m tha terr et info/st nor peacelily fluidinfo fom yco fom /de velo aff FOM jon /us per e r es/m te rr et y co FOM jon ff nfo/sta fluidi es aliafshar /m e /me t t ntoll terrycojones r terrycojones/met ve sto timoreilly estor fo/in fluidi nfo/inv idin flu gfcampbell edyson Some user objects...
  • 20. i flu sc o flui ceronman din Where Google explores the fo/s taff nt digital world as it is, Fluidinfo is oll flu /m idinfo/ more of a distributed intellectual terr et peacelily fluidinfo fom construction tool. Basically, it's a new yco /de staff m/ velo jon use per kind of database for open, typed data r es/m without the overhead of the "ontology" et te rr companies, along with a new kind of ff y o/sta co jon es fluidi nf search engine. It's along the lines of aliafshar met Metaweb but more flexible, with a very /m et terrycojones different model of data ownership, and with more focus on regular r ojones/met iso timoreilly v people as end users. estor /ad nfo/inv nfo di fluidi flui edyson terry cojon es/m et edyson Esther Dyson nivi http://edventure.com/ http://www.flickr.com/photos/stewtopia/1413191259/ A really good summary.