Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Armazenamento de Dados para Web Semântica

Armazenamento de Dados para Web Semântica

Alexandre Gaigalas

July 05, 2012
Tweet

More Decks by Alexandre Gaigalas

Other Decks in Programming

Transcript

  1. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 1
    Armazenamento de Dados
    para Web Semântica

    View Slide

  2. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 2
    Alexandre Gomes Gaigalas
    http://about.me/alganet

    View Slide

  3. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 3
    Hoje você vai ver...

    View Slide

  4. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 4
    Hoje você vai ver...

    Web Semântica: O que é, e porque é animal.

    View Slide

  5. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 5
    Hoje você vai ver...

    Web Semântica: O que é, e porque é animal.

    RDF: O que é, e porque é animal.

    View Slide

  6. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 6
    Hoje você vai ver...

    Web Semântica: O que é, e porque é animal.

    RDF: O que é, e porque é animal.

    SPARQL: O que é, e porque é animal.

    View Slide

  7. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 7

    View Slide

  8. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 8
    ?1

    View Slide

  9. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 9
    ?1 : cor : azul
    ?1

    View Slide

  10. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 10
    ?
    ?1 : cor : azul
    ?1 : formato : circumferência

    View Slide

  11. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 11
    ?
    ?1 : cor : azul
    ?1 : formato : circumferência
    ?1 : borda : ?2
    ?2 : cor :preta
    ?2 : largura : 10

    View Slide

  12. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 12
    ?
    Sujeito : Predicado : Objeto
    ?1 : cor : azul
    ?1 : formato : circumferência
    ?1 : borda : ?2
    ?2 : cor :preta
    ?2 : largura : 10

    View Slide

  13. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 13
    ?
    Sujeito : Predicado : Objeto
    ?1 : cor : azul
    ?1 : formato : circumferência
    ?1 : borda : ?2
    ?2 : cor :preta
    ?2 : largura : 10
    Espessura?

    View Slide

  14. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 14
    ?
    Sujeito : Predicado : Objeto
    ?1 : cor : azul
    ?1 : formato : circumferência
    ?1 : borda : ?2
    ?2 : cor :preta
    ?2 : largura : 10
    Espessura?
    Width?

    View Slide

  15. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 15
    ?
    Sujeito : Predicado : Objeto
    ?1 : cor : azul
    ?1 : formato : circumferência
    ?1 : borda : ?2
    ?2 : cor :preta
    ?2 : largura : 10
    Espessura?
    Width?
    Prop2345?

    View Slide

  16. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 16
    Sujeito : Predicado : Objeto

    View Slide

  17. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 17
    SujeitoID : PredicadoID : ObjetoID

    View Slide

  18. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 18
    SujeitoURI : PredicadoURI : ObjetoURI

    RDF

    View Slide

  19. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 19
    SujeitoURI : PredicadoURI : ObjetoURI
    PREFIX dbpedia: http://dbpedia.org/
    dbpedia:resource/Yahoo_Mail dbpedia:ontology/developer dbpedia:resource/Yahoo
    RDF

    View Slide

  20. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 20
    SujeitoURI : PredicadoURI : ObjetoURI
    PREFIX dbpedia: http://dbpedia.org/
    dbpedia:resource/Yahoo_Mail dbpedia:ontology/developer dbpedia:resource/Yahoo
    dbpedia:ontology/developer rdfs:Class rdfs:Property
    RDF

    View Slide

  21. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 21
    PREFIX foaf: http://xmlns.com/foaf/0.1/
    SELECT ?person
    WHERE {
    ?person rdfs:Class foaf:Person
    }
    SPARQL

    View Slide

  22. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 22
    PREFIX foaf: http://xmlns.com/foaf/0.1/
    SELECT ?person
    WHERE {
    ?person a foaf:Person
    }
    Atalho pra rdfs:Class
    Atalhos

    View Slide

  23. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 23
    PREFIX foaf: http://xmlns.com/foaf/0.1/
    SELECT ?person
    WHERE {
    ?person a foaf:Person
    ?person foaf:mbox “[email protected]
    }
    Condições

    View Slide

  24. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 24
    PREFIX foaf: http://xmlns.com/foaf/0.1/
    SELECT ?person ?friend
    WHERE {
    ?person foaf:knows ?friend
    ?person foaf:interest ?something
    ?something dc:title “NoSQL”
    }
    Expressando relacionamentos

    View Slide

  25. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 25
    PREFIX ex: http://example.com
    SELECT ?foo ?bar
    WHERE {
    ?foo ex:bar “baz”
    }
    ORDER BY ?foo
    LIMIT 20
    OFFSET 10
    Cheatsheet

    View Slide

  26. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 26
    PREFIX foaf: http://xmlns.com/foaf/0.1/
    CONSTRUCT {
    ?person foaf:knows ?friend
    ?person foaf:interest ?something
    ?something dc:title “NoSQL”
    }
    Construindo Grafos

    View Slide

  27. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 27
    Algumas Implementações

    View Slide

  28. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 28
    Algumas Implementações

    AllegroGraph (gratuito/pago, proprietário)

    +1 Trilhão de triplas

    Carrega 800.000 triplas por segundo

    View Slide

  29. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 29
    Algumas Implementações

    AllegroGraph (gratuito/pago, proprietário)

    +1 Trilhão de triplas

    Carrega 800.000 triplas por segundo

    OpenLink Virtuoso (dual license)

    +15 Bilhões de triplas

    200.000 triplas por segundo

    data.gov.uk

    sudo apt-get install virtuoso-opensource

    View Slide

  30. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 30
    Algumas Implementações

    AllegroGraph (gratuito/pago, proprietário)

    +1 Trilhão de triplas

    Carrega 800.000 triplas por segundo

    OpenLink Virtuoso (dual license)

    +15 Bilhões de triplas

    200.000 triplas por segundo

    data.gov.uk

    sudo apt-get install virtuoso-opensource

    4store (open source)

    +15 Bilhões de triplas

    150.000 triplas por segundo

    sudo apt-get install 4store

    View Slide

  31. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 31
    4store

    4s-backend-setup --node --cluster --segments --mirror

    4s-cluster-create

    4s-cluster-start

    4s-cluster-stop

    4s-cluster-file-backup

    4s-import

    4s-httpd

    View Slide

  32. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 32
    4s-httpd

    PUT http://foobar/baz

    ou PUT /data/http%3a%2f%2ffoobar%2fbaz

    POST /data

    POST /update/ (SPARUL)

    DELETE

    DROP

    CLEAR

    LOAD

    LOAD INTO

    View Slide

  33. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 33
    Um banco de dados não substitui outro

    View Slide

  34. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 34
    Perguntas?

    View Slide

  35. 5 de Julho The Developer's Conference 2012 - Trilha NoSQL 35
    Obrigado!

    View Slide