I guess that’s what kept the Neo Technology — the guys behind Neo4j — busy lately: The Neo4j Spatial project supports the use of geographic data by providing utilities that simplify and support advanced capabilities like: Storage of geographic features like points, lines and polygons as graphs Indexing and querying based on location with R-trees, Q …
Tag Archives: neo4j
Usar Neo4j con PHP usando REST
neo4j es una base de datos de grafos que puede ser muy útil para aplicaciones tipo redes sociales. El problema para los que usamos PHP es que neo4j está en Java y para usarlo desde PHP o se una un bridge que conecte con Java o usar la versión REST de neo4j y acceder vía web.
Su uso es muy sencillo:
$graphDb = new GraphDatabaseService('http://localhost:9999/');
$node = $graphDb->createNode();
$node->message = "Hello, ";
$node->blah = "blah blah";
$node->save();
Se le puede añadir todas las propiedades que se quieran, que se transforman en un array de datos que luego se enviarán en json.
El único problema que tiene esta librería es que no genera índices, aunque es muy sencillo modificar, ya que tan solo es necesario añadir una llamada para generar el índice:
HTTPUtil::jsonPostRequest($this->_neo_db->getBaseUri().'index/node/clave/'.$this->_data['clave'], $this->_neo_db->getBaseUri().'node/'.$this->_id);
siendo ‘clave’ lo que queramos añadir como índice. También es necesario modificar HTTPUtil::jsonRequest para que cuando $data no sea un array no se codifique en JSON.
Enlaces rápidos (04-06-2010)
Más enlaces rápidos sobre NOSQL, para variar:
- NoSQL is About…
- NoSQL Graph Database feature comparison
- Cassandra NOSQL EU 2010 – Twitter: “Hace 15 meses se tardó 2 semanas en hacer un ALTER TABLE de la tabla de statuses [tweets]”
- NoSQL in the Enterprise
- NOSQLEU – Graph Databases and Neo4j
- Dealing data deluge
- Yahoo! Cloud Serving Benchmark (YCSB)
- Running Hadoop MapReduce With Cassandra NoSQL
- NoSQL at Twitter
- MySQL vs MongoDB
- Mashups with the Facebook Graph API and Neo4j
- NoSQL Graph Database Comparison
- Cassandra By Example
- Scalability of the Hadoop Distributed File System
- A NoSQL Use Case: URL Shorteners
- Cassandra Webconsole
- Learning NoSQL from Twitter’s Experience
- NoSQL Databases
- InfiniteGraph: the distributed graph database
- HTML5 Custom Data Attributes (data-*)
- Simple Document Versioning with CouchDB
Web of Data
Interesante artículo sobre el futuro de la web y el cambio de pensamiento entre la WWW como una web de ficheros y la Web of Data, como una web de datos y relaciones.
El concepto es sencillo de entender, mientras que la WWW se basa en ficheros y enlaces entre unos y otros, la Web of Data, basada en Graph Database (diferentes a las base de datos relacionales ya que se basan en nodos, propiedades y relaciones entre nodos), donde los datos se almacenan en nodos, y estos puede relacionarse de forma muy variada y sencilla entre ellos.
Viendo que las aplicaciones sociales (Twitter, Facebook, …) se basan en datos (usuarios, mensajes) y sus relaciones (updates, followers, …), es lógico pensar en este tipo de base de datos (Graph DB) que en la base de datos relacional. Aunque claro, al ser algo un tanto nuevo, quizás no existan alternativas potentes y el problema está en el escalado y el rendimiento.
La presentación es muy interesante y las bases de datos que indican (neo4j…) pueden estar muy bien para organizar estructura tipo nodo (yo ya tengo un ejemplo para probar).
Graph Databases and the Future of Large-Scale Knowledge Management
Vía / High Scalability