http://www.satisfaction.com/dummies-book-cover-generator/
What?




                                                           /
                  http://www.flickr.com/photos/psd/1...
Why?




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



We want to make it easy to share, annotate, aug...
How?




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



Objects are simply tagged with information
Key Concepts

           • Objects - represent things*
           • Tags - define objects’ attributes
           • Namespac...
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
          ...
A basic object:


    about =        An                        id =
                           “e127475b-eb93-48e1-a24f-dd...
r=
                                                                                                      ve
              ...
r=
                                                                                                      ve
              ...
A simple and elegant
           RESTful API
https://fluiddb.fluidinfo.com/objects/OBJECT_ID/NAMESPACE(s)/TAG




         ...
snoissimreP
 (seem to be back-to-front)
r=
Traditional:                                                                                 oo
                       ...
r=
FluidDB:                                                                                       k s/   co
              ...
Permissions

• Apply to namespaces, tags and tag-values not objects
• Scoped by actions (e.g. “see”, “create”, “read”)
• E...
FluidDB’s Query Language
 •   Equality & Inequality: To find objects based on the numeric values or
     exact textual valu...
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
Upcoming SlideShare
Loading in...5
×

FluidDB for Dummies

1,418

Published on

Slides from a talk given to the London Python Code Dojo. Introduces the concepts and ideas behind FluidDB (http://fluidinfo.com).

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,418
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide








































  • FluidDB for Dummies

    1. 1. http://www.satisfaction.com/dummies-book-cover-generator/
    2. 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. 3. Why? http://www.flickr.com/photos/psd/4123236978/ We want to make it easy to share, annotate, augment and re-use information.
    4. 4. How? http://ntoll.org/images/93.jpg Objects are simply tagged with information
    5. 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. 6. Data Structure entity / attribute / value
    7. 7. Data Structure object / tag / value (in FluidDB parlance)
    8. 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. 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. 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. 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. 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. 13. snoissimreP (seem to be back-to-front)
    14. 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. 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. 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. 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. 18. er... that’s it (QL fits on one slide and enhancements are coming soon)
    19. 19. http://www.flickr.com/photos/8001265@N08/2259250324/ LIVE DEMO!
    20. 20. http://fluidinfo.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×