SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
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/

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Kürzlich hochgeladen

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Kürzlich hochgeladen (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

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.