SlideShare a Scribd company logo
http://www.satisfaction.com/dummies-book-cover-generator/
What?




                                                           /
                  http://www.flickr.com/photos/psd/1428129861



FluidDB is a platform for the web of things, each
represented by an openly writable "social" object.
Why?




                  http://www.flickr.com/photos/psd/4123236978/



We want to make it easy to share, annotate, augment
and re-use information.
How?




                http://ntoll.org/images/93.jpg



Objects are simply tagged with information
Key Concepts

           • Objects - represent things*
           • Tags - define objects’ attributes
           • Namespaces - organise tags
           • Permissions - control access

* NOT instantiations of classes as in OO, but simply “objects” in the common-sense use of the term.
Data Structure


entity / attribute / value
Data Structure


object / tag / value
   (in FluidDB parlance)
Namespaces and tags are
   pre-defined by users
             ntoll/rating
             terrycojones/books/review
             amazon.com/book/title
             amazon.com/book/author
             amazon.com/book/isbn
             esteve/books/cover
             timoreilly/has_read
(Every namespace and tag has a description and is itself
 represented by an object so meta-tagging is allowed)
A basic object:


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




(The about tag is a convention to help indicate
what the object represents. It is optional but
must be unique)
r=
                                                                                                      ve
                                                                                               s/   co
                                                                                             k
                                                                                           oo




                                         ntoll/
                                                                                         b
                                                                                   ve/
                                                                                 te
                                                                            es




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




                                               =5
                8-7
                   517 s/isbn
                      -6”     =



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

                               =                                          am
                                                                             a
                         iew                                                  zo
                                                      timoreill
                       v                                                        n.c
                    /re s”
                                       =




                  s                                                                   om
                                         r




                ok rm
                                  er tho




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




      ojo ve s                                                                          e” s/t
                                    t”



                                                               y/has_re




   ryc I lo                                                                                    it
                            k H ok




                                                                                                              le
ter “                                                                                                              =
                        ran /bo
                      “F om




                                                              ad
                        n.c
                   azo
                 am
r=
                                                                                                      ve
                                                                                               s/   co
                                                                                             k
                                                                                           oo




                                         ntoll/
                                                                                         b
                                                                                   ve/
                                                                                 te
                                                                            es




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




                                               =5
                8-7
                   517 s/isbn
                      -6”     =



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


                                                                                                        Value Types:
                               =                                          am
                                                                             a
                         iew                                                  zo
                                                      timoreill
                       v                                                        n.c
                    /re s”
                                       =




                  s                                                                   om
                                         r




                ok rm
                                  er tho




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




      ojo ve s                                                                          e” s/t
                                    t”



                                                               y/has_re




   ryc I lo                                                                                    it
                            k H ok




                                                                                                              le
ter “                                                                                                              =   string (& set)
                        ran /bo
                      “F om




                                                                                                                       numeric
                                                              ad
                        n.c




                                                                                                                       opaque
                   azo
                 am




                                                                                                                       null
A simple and elegant
           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/api/*/*/*
snoissimreP
 (seem to be back-to-front)
r=
Traditional:                                                                                 oo
                                                                                               k s/   co
                                                                                                        ve




                                           ntoll/
                                                                                           b
                                                                                     ve/
                                                                                   te
                                                                              es




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




                                                 =5
                  8-7
                     517 s/isbn
                        -6”     =



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

                                 =                                          am
                                                                               a
                           iew                                                  zo
                                                        timoreill
                         v                                                        n.c
                      /re s”
                                         =




                    s                                                                   om
                                           r




                  ok rm
                                    er tho




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




        ojo ve s                                                                          e” s/t
                                      t”



                                                                 y/has_re




     ryc I lo                                                                                    it
                              k H ok




                                                                                                                le
  ter “                                                                                                              =
                          ran /bo
                        “F om




                                                                ad
                          n.c
                     azo
                   am
r=
FluidDB:                                                                                       k s/   co
                                                                                                        ve




                                         ntoll/
                                                                                           b oo
                                                                                     ve/
                                                                                   te




                                             rating
      am                                                                      es
         azo
             n.c
         “87 om/b




                                               =5
             -41     ook
                 8-7
                    517 s/isbn
                       -6”     =



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

                                =                                           am
                                                                               a
                        v iew                                                   zo
                                                                                  n.c
                     /re s”
                                       =


                                                      timoreill

                   s                                                                    om
                 ok rm
                                         r
                                   er tho




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




       ojo ve s                                                                           e” s/t
                                     t”




    ryc I lo                                                                                     it             le
                             k H ok




                                                               y/has_re




 ter “                                                                                                               =
                         ran /bo
                       “F om
                         n.c




                                                                       ad
                    azo
                  am
Permissions

• Apply to namespaces, tags and tag-values not objects
• Scoped by actions (e.g. “see”, “create”, “read”)
• Either “open” or “closed” with a list of exceptions
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).
er... that’s it
(QL fits on one slide and enhancements are coming soon)
http://www.flickr.com/photos/8001265@N08/2259250324/




LIVE DEMO!
http://fluidinfo.com

More Related Content

PDF
FluidDB in a Nutshell
PDF
An Introduction To FluidDB - a social database in the cloud
PDF
Using FluidDB with Django
PDF
Fluidinfo in a Nutshell
PDF
An Introduction to FluidDB
PDF
Zen and-the-art-of-build-script-maintenance-skillsmatter
PDF
30 Minute Expert1
PDF
From Territorial Peoples toward a Global Agreement
FluidDB in a Nutshell
An Introduction To FluidDB - a social database in the cloud
Using FluidDB with Django
Fluidinfo in a Nutshell
An Introduction to FluidDB
Zen and-the-art-of-build-script-maintenance-skillsmatter
30 Minute Expert1
From Territorial Peoples toward a Global Agreement

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
cuic standard and advanced reporting.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced methodologies resolving dimensionality complications for autism neur...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Network Security Unit 5.pdf for BCA BBA.
Big Data Technologies - Introduction.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.
Unlocking AI with Model Context Protocol (MCP)
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Ad
Ad

FluidDB for Dummies

  • 2. What? / http://www.flickr.com/photos/psd/1428129861 FluidDB is a platform for the web of things, each represented by an openly writable "social" object.
  • 3. Why? http://www.flickr.com/photos/psd/4123236978/ We want to make it easy to share, annotate, augment and re-use information.
  • 4. How? http://ntoll.org/images/93.jpg Objects are simply tagged with information
  • 5. Key Concepts • Objects - represent things* • Tags - define objects’ attributes • Namespaces - organise tags • Permissions - control access * NOT instantiations of classes as in OO, but simply “objects” in the common-sense use of the term.
  • 6. Data Structure entity / attribute / value
  • 7. Data Structure object / tag / value (in FluidDB parlance)
  • 8. Namespaces and tags are pre-defined by users ntoll/rating terrycojones/books/review amazon.com/book/title amazon.com/book/author amazon.com/book/isbn esteve/books/cover timoreilly/has_read (Every namespace and tag has a description and is itself represented by an object so meta-tagging is allowed)
  • 9. A basic object: about = An id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” object (The about tag is a convention to help indicate what the object represents. It is optional but must be unique)
  • 10. r= ve s/ co k oo ntoll/ b ve/ te es rating am azo n.c “87 om/b -41 ook =5 8-7 517 s/isbn -6” = about = An id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” object = am a iew zo timoreill v n.c /re s” = s om r ok rm er tho /bo wo “D /bo nes and un ok erb s/au ojo ve s e” s/t t” y/has_re ryc I lo it k H ok le ter “ = ran /bo “F om ad n.c azo am
  • 11. r= ve s/ co k oo ntoll/ b ve/ te es rating am azo n.c “87 om/b -41 ook =5 8-7 517 s/isbn -6” = about = An id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” object Value Types: = am a iew zo timoreill v n.c /re s” = s om r ok rm er tho /bo wo “D /bo nes and un ok boolean erb s/au ojo ve s e” s/t t” y/has_re ryc I lo it k H ok le ter “ = string (& set) ran /bo “F om numeric ad n.c opaque azo am null
  • 12. A simple and elegant 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/api/*/*/*
  • 13. snoissimreP (seem to be back-to-front)
  • 14. r= Traditional: oo k s/ co ve ntoll/ b ve/ te es rating am azo n.c “87 om/b -41 ook =5 8-7 517 s/isbn -6” = about = id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” = am a iew zo timoreill v n.c /re s” = s om r ok rm er tho /bo wo “D /bo nes and un ok erb s/au ojo ve s e” s/t t” y/has_re ryc I lo it k H ok le ter “ = ran /bo “F om ad n.c azo am
  • 15. r= FluidDB: k s/ co ve ntoll/ b oo ve/ te rating am es azo n.c “87 om/b =5 -41 ook 8-7 517 s/isbn -6” = about = An id = “e127475b-eb93-48e1-a24f-dde6825b9ed8” “book:Dune” object = am a v iew zo n.c /re s” = timoreill s om ok rm r er tho /bo wo “D /bo nes and un ok erb s/au ojo ve s e” s/t t” ryc I lo it le k H ok y/has_re ter “ = ran /bo “F om n.c ad azo am
  • 16. Permissions • Apply to namespaces, tags and tag-values not objects • Scoped by actions (e.g. “see”, “create”, “read”) • Either “open” or “closed” with a list of exceptions
  • 17. 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).
  • 18. er... that’s it (QL fits on one slide and enhancements are coming soon)