FluidDB for Dummies
Upcoming SlideShare
Loading in...5
×
 

FluidDB for Dummies

on

  • 1,842 views

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).

Statistics

Views

Total Views
1,842
Slideshare-icon Views on SlideShare
1,788
Embed Views
54

Actions

Likes
0
Downloads
18
Comments
0

2 Embeds 54

http://www.slideshare.net 52
http://coderwall.com 2

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />

FluidDB for Dummies FluidDB for Dummies Presentation Transcript

  • 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