Your SlideShare is downloading. ×
  • Like
FluidDB for Dummies
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

FluidDB for Dummies

  • 1,347 views
Published

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

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,347
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
19
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide








































Transcript

  • 1. http://www.satisfaction.com/dummies-book-cover-generator/
  • 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)
  • 19. http://www.flickr.com/photos/8001265@N08/2259250324/ LIVE DEMO!
  • 20. http://fluidinfo.com