background preloader

Marko A. Rodriguez

Marko A. Rodriguez

Connections in Time Some relationships change over time. Think about your friends from high school, college, work, the city you used to live in, the ones that liked you ex- better, etc. When exploring a social network it is important that we understand not only the strength of the relationship now, but over time. We can use communication between people as a measure. I ran into a visualization that explored how multiple parties where connected by communications in multiple projects. Let’s give our network a little something special. The code to create a relationship is pretty simple, we’ll use the Batch commands again and reference the nodes we create. Let’s put it together to create our graph. Our visualization was built using D3.js and it makes a web request expecting to see a JSON object that looks like: We spent some time getting our data into our graph, now let’s get it all back out. We’ll write another query to get the incoming relationships for each node. Like this: Like Loading...

bio4j blog | news and updates on bio4j Hello everyone, I’m happy to announce a new set of features for our tool Bio4jExplorer plus some changes in its design. I hope this may help both potential and current users to get a better understanding of Bio4j DB structure and contents. Node & Relationship properties You can now check with Bio4jExplorer the properties that has either a node or relationship in the table situated on the lower part of the interface. Name: property name Type: property type (String, int, float, String[], …) Indexed: either the property is indexed or not (yes/no) Index name: name of the index associated to this property -if there’s any Index name: type of the index associated to this property -if there’s any Node & Relationship Data source You can also see now from which source a Node or Relationship was imported, some examples would be Uniprot, Uniref, GO, RefSeq… Relationships Name property Get proteins (accession and names) associated to an interpro motif (limited to 10 results) I wish you all a great weekend!

Deploying the Aurelius Graph Cluster The Aurelius Graph Cluster is a cluster of interoperable graph technologies that can be deployed on a multi-machine compute cluster. This post demonstrates how to set up the cluster on Amazon EC2 (a popular cloud service provider) with the following graph technologies: Titan is an Apache2-licensed distributed graph database that leverages existing persistence technologies such as Apache HBase and Cassandra. Titan implements the Blueprints graph API and therefore supports the Gremlin graph traversal/query language. [OLTP] Faunus is an Apache2-licensed batch analytics, graph computing framework based on Apache Hadoop. Please note the date of this publication. Cluster Configuration The examples in this post assume the reader has access to an Amazon EC2 account. 1.~$ ssh 4.ubuntu@ip-10-117-55-34:~$ tar -xzf whirr-0.8.0.tar.gz Whirr is a cloud service agnostic tool that simplifies the creation and destruction of a compute cluster. 09. 10. 08. 09.

HyperGraphDB - A Graph Database HyperGraphDB is a general purpose, extensible, portable, distributed, embeddable, open-source data storage mechanism. It is a graph database designed specifically for artificial intelligence and semantic web projects, it can also be used as an embedded object-oriented database for projects of all sizes. The system is reliable and in production use is several projects, including a search engine and our own Seco scripting IDE where most of the runtime environment is automatically saved as a hypergraph. HyperGraphDB is primarily what its carefully chosen name implies: a database for storing hypergraphs. While it falls into the general family of graph databases, it is hard to categorize HyperGraphDB as yet another database because much of its design evolves around providing the means to manage structure-rich information with arbitrary layers of complexity. Key Facts Possible Usage Scenarios Semantic Web projects are an obvious domain of application of HyperGraphDB.

Neo4j Blog Suggesions on large scale web applications architecture phpCallGraph - A Static Call Graph Generator for PHP Disaster Area - Filed under 'neo4j' I recently helped add versioning support to Neo4j.rb . Versioning only works for Rails models at the moment. To add versioning to your model, you'll need include the Versioning module: How it works Versioning creates snapshots under a given rails model instance. Note that snapshots aren't Rails models, but vanilla nodes. Full snapshots Snapshots currently capture all the properties of an instance. Let's look at an example: With version 1 of the driver, there are no links to any cars: With version 2, we link the driver to a sports car - a Porsche. Now, both the driver and the current version are linked to the Porsche. With version 3, we link the driver to a second car - a Ferrari. The driver, as well as the latest snapshot, are both linked to two cars - the Porsche and the Ferrarri. Working with a version To retrieve a snapshot, you'll need to call the version API. The snapshot object will respond to the exact same properties as those on instance. Reverting to a snapshot Max versions Gotchas

3.4 Scaling Web Applications We have regarded the scalability of web applications from an architectural point of view so far. In the next chapters, we will focus on scalability within web architectures, based on the usage of concurrency inside web servers, application servers and backend storage systems. However, there are other factors which influence the scalability and perceived performance of web applications. Therefore, we will provide a brief overview of factors relevant for web site setup and client-side web application design. The overview summarizes important strategies outlined in relevant books[All10,Abb11,Abb09] and a blog article from the Yahoo Developer Network. From a user's perspective, a web applications appears scalable, when it continues to provide the same service and the same quality of service independent of the number of concurrent users and load. Optimizing Communication and Content Delivery First and foremost, it is very important to minimize the number of HTTP requests.

Graph database Graph databases are part of the NoSQL databases created to address the limitations of the existing relational databases. While the graph model explicitly lays out the dependencies between nodes of data, the relational model and other NoSQL database models link the data by implicit connections. Graph databases, by design, allow simple and fast retrieval[citation needed] of complex hierarchical structures that are difficult to model[according to whom?] in relational systems. Graph databases differ from graph compute engines. Background Graph databases, on the other hand, portrays the data as it is viewed conceptually. Graph Graph databases employ nodes, properties, and edges. A graph within graph databases is based on graph theory. Nodes represent entities or instances such as people, businesses, accounts, or any other item to be tracked. Graph models Labeled-property graph A labeled-property graph model is represented by a set of nodes, relationships, properties, and labels. Graph types

Understanding the World using Tables and Graphs « Aurelius March 22, 2012 by Marko A. Rodriguez The Table Perspective Each row represents the information of a particular individual. Each column represents the values of a property of all individuals. the average, median, and standard deviation of age (line 1),the average, median, and standard deviation of spending (line 3),the correlation between age and spending (i.e. do older people tend to spend more? The Graph Perspective A graph (or network) is a structure composed of vertices (i.e. nodes, dots) and edges (i.e. links, lines). Load the friendship relationships as a two column numeric table (line 1-2).Generate an undirected graph from the two column table (line 3).Attach the person properties as metadata on the vertices (line 4-6). For large graphs (those beyond the toy example presented), the human eye can become lost in the mass of edges between vertices. It is important to realize that for large-scale graph analysis there exists various technologies. References Authors Like this: Like Loading...