sylva (july 2012, cultureplex lab)
DESCRIPTION
TRANSCRIPT
Graph Databases for Humans
Javier de la Rosa <[email protected]>
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
History
● Tables as actual tables, and Schemas as data types
● Only one way to relate tables → Keys
● And a Standard Query Language → JOIN's are painfull
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
History
● Relational databases became useless for very high
connected data
● And virtually impossible to change the schema
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
SQL Problem: Queries
● Databases with more than 100K objects and relationships.
● Complex data scheme.
● Humanists should do queries with no SQL knowledge.
Need a tool to assist for making complex queries.
django-qbehttp://versae.github.com/qbe
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Solution: django-qbe
● View and autodiscover relations among the models in a
visual way.
● Tabular creation of queries with fields to show, criterias,
lookups and order (only AND conditions by now).
● Auto addition of right fields when ForeignKey or
ManyToMany fields are selected.
● Bookmarklet to save and share the queries.
● Export results to .csv, .odt and .xls, but it's extensible by
the user.
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Solution: django-qbe
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
SQL Problem: Schema Migration
● Old data schemas, sometimes from 4 years ago.
● Numerous changes in the main schema.
● Almost one big migration per year of all data.
● Humanists need enrich the data continuously.
Need a tool to semantic annotation via ontologies.
django-descriptorshttps://github.com/versae/descriptors
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Solution: django-descriptors
● Descriptors classified in a tree: ontology.
● Main ontology can be modified and enriched by the users.
● Users and user groups can share their own (sub)
ontologies.
● Any object can be “described” with any number of
descriptors.
● Descriptions can have a value associated.
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Solution: django-descriptors
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
SQL Problem: Highly Connected Data
● Hard to add new tables.
● Hard to create new properties.
● Very slow queries with several JOINs.
● Humanists need a lazy and dynamic definition of
schemas.
Need a tool to create free relations and properties
Sylvahttps://sylvadb.com
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
NoSQL Movement
● New solutions appeared,
and tables are almost
abandoned:
○ Big Tables
○ Key Values Stores
○ Document-based
○ Graphs
● Too low maturity
● Different uses and needs
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Sylva (http:/sylvadb.com)
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Sylva (http:/sylvadb.com)
Schemas Data
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Sylva (http:/sylvadb.com)
● Flexible schemas
● No tables: objects, relations and attributes:
● Visualizations and support to media content
● Collaborators and permissions
● Search and Queries (in progress)
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Sylva (http:/sylvadb.com)
● Schemas can be modified at any time
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Sylva (http:/sylvadb.com)
● Forms from schemas
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Sylva (http:/sylvadb.com)
● Visualization: lists, node-centric and global
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Sylva (http:/sylvadb.com)
● Collaborative work
* | Internal use onlyDe la Rosa, J | Sylva: A Graph Database for Humans
Questions?
Thank you