Is RDF a graph?

A graph consists of a set of vertices (nodes, points) and a set of edges (arcs, lines) between nodes. The common definition is  G = (V, E)  where V representes the set of vertices and E represents the edges between two vertices.

Commercially, there are two specific types of graph data models: Property Graph and RDF Graph.  A property graph is a graph where key-value pairs can be associated to vertices and edges. An RDF graph is a represented as a set of triples: subject, predicate, object where the subject and object are vertices and a predicate is an edge.

However, it seems that Jim Webber, Neo4J’s Chief Scientist does not acknowledge that RDF graphs are graphs:

My response and Jim’s follow up response:

and my response:

It is still unclear to me why Jim Webber believes RDF graphs are not graphs?

Jim, I’m in London this week. I would love to meetup, have a pint and chat about graphs!

A Refreshing, No-Fluff, No-Buzzword Perspective on Artificial Intelligence

I encountered this refreshing and excellent summary of Artificial Intelligence by John Launchbury, the Director of DARPA’s Information Innovation Office (I2O). Thanks Frank van Harmelen for posting this!

No fluff. No buzzwords. It is crisp and succinct explanation of the state of AI today and where it is going. Deep learning wasn’t even mentioned!

The quickly summary is that AI up to now can be summarize in two waves:

First Wave: Handcrafted Knowledge which is very good at reasoning but not very good a perceiving the outside world. It is not good for learning nor abstracting.

Handcrafted Knowledge: Enables reasoning over narrowly defined problems. No learning capability and poor handling of uncertainty

Second Wave: Statistical Learning which is good a perceiving and learning but it is not so good for reasoning and abstracting.

Statistical Learning: Nuanced classifications and predication capabilities. No contextual capability and minimal reasoning ability.

The next Wave, noted as Contextual adaptation is where systems can construct explanatory models that explain real world phenomena. 

My take away from this is that GOFAI (Good Old Fashion AI) is still active and relevant and by combining it with Machine Learning, we will enter the next wave of AI which can provide answers to the why (context).

The conclusion of this video is aligned with the takeaway message from Jim Hendler presentation at the 4th Heidelberg Laureate Forum (HLF): we need Human and AI together.

Hope you enjoy watching these videos as much as I did.

A Data Weekend in Austin

On the weekend of January 14-15, I attended Data Day Texas, Graph Day Texas and Data Day Health in Austin and gave three talks.

Do I need a Graph Database: This talk came out of a Q/A during a happy hour after a talk I gave at a meetup in Seattle. We were discussing when to use a Graph Database? What type of graphs should you use: RDF or Property Graph.


Graph Query Languages: This talk gave an update on the work we have been doing in the Graph Query Language (GQL) task force at the Linked Data Benchmark Council (LDBC). The purpose of the GQL task force is to study query languages specifically for the Property Graph data model because there is a need for a standard syntax and semantics of a query language. One of the main points I was arguing in this talk is the need of a closed language: graphs in, graphs out. One can argue that a reason for success of relational databases is because the query language is closed (tables in, tables out). With this principle, queries can be composed (i.e. views!). This talk was well received and generated a lot of interesting discussion, specially when Emil Eifrem, Neo Technologies’ CEO is in the room.  An interesting part of the discussion was if we are too early for standardization. Emil stated that we need standardization now because their clients are asking for it. I stated that graph databases today are in the mid 1980’s of relational databases, so time is about right to start the discussion. Andrew Donoho said I was too optimistic. He thinks we are in the late 70s and we are too early. I will be giving this talk next week at the Smart DataGraphorum conference, with some updated material. Special thanks to Marcelo Arenas, Renzo Angles and specially Hannes Voigt for helping me organize these slides.

Semantic Search Applied to Healthcare: In this talk, I introduced how we are identifying patients who are in need of Left Ventricular Assist Devices (LVADs) using Ultrawrap, the semantic data virtualization technology developed at Capsenta. This talk presented a use case with the Ohio State University Wexner Medical Center. Patients are being missed through traditional chart pull methods. Our approach has resulted in ~20% increase in detection over previously known population at OSU, which is a mature institution. This talk will also be given at the Smart Data conference.

Main highlights of the conference:

  • Emil Eifrem, CEO of Neo Technology gave the keynote. It was nice to learn the use cases where Neo4j is being used: Real-time recommendation, Fraud detection, Network and IT operations, Master Data Management, Graph-Based Search and Identity & Access Management. It was not clear why were graphs specifically used because these are use cases that have been around for a long time and have been addressed using traditional technologies. Emil ended talking about a “connected enterprise”, meaning integrating data across silos using graphs. If you take a look at my Do I need a graph database talk,  you will see that I argue to use RDF for data integration, not Property Graphs.
  • Luca Garulli, the founder and CEO of OrientDB gave a talk focusing on the need of a multi model database like OrientDB. In his talk, he argued for many features which Neo4J apparently didn’t support. Not long after, there was a good back-and-forth twitter discussion between Emil and Luca. Emil was correcting Luca. Seems like this talk may need to be updated. An interesting take away for me: how do you benchmark a multi model database?
  • Many talks about “I’m in relational, how do I get to property graphs”. All of them at an introductory level. Given that we have studied very well the problem of relational to RDF, this should be a problem that can be address quickly and efficiently.
  • Standards was a big topic, one of the reasons my Graph Query Language talk was well received. Neo4j is pushing for OpenCypher to become the standard, while in fact, one could argue that Gremlin is already the defacto standard. Before this weekend, I wasn’t aware of anybody implementing OpenCypher. Apparently there are now 10 OpenCypher implementation including Bitnine, Oracle and SAP HANA.
  • Bitnine: they are implementing a PropertyGraph DB on top of Postgres and using OpenCypher as the query language. They are NOT translating OpenCypher to SQL. Instead, they are doing the translation to relational algebra internally. I enjoyed the brief discussion with Kisung Kim, Bitnine’s CTO. Apparently they have already benchmarked with LDBC and did very well. Looking forward to seeing public results. Bitnine is open source.
  • Take a look at
  • looks interesting. Need to take a closer look.
  • Cray extended the LUBM benchmark and added a social network for the students.
  • Property Graphs is what comes to mind when people thing about graph databases. However, an interesting observation is that the senior folks in the room prefer RDF than Property Graphs. We all agreed that RDF is more mature than Property Graph databases.
  • “Those who do not learn history are doomed to repeat it.” It is crucial to understand what has been done in the past in order to not re-invent the wheel. I feel lucky that early on in grad school, my advisor pushed me to read pre-pdf papers. It was great to meet this weekend with folks like Darrel Woelk and Misty Nodine who used to be part of MCC. A lot of the technologies we are seeing today has roots back to MCC. For example, we discussed how similar graph databases are to object oriented databases. On twitter, Emil seemed to disagree with me. Nevertheless we had an interesting twitter discussion.
  • Check out JanusGraph, a graph database, which if I understood correctly, is  a fork from Titan. Titan hasn’t been updated in over a year because the folks behind it are now at DataStax.

Thanks to Lynn Bender and co. for organizing such an awesome event! Can’t wait for it to happen in Austin next year. Recordings of the talks will start to show up on the Global Data Geek youtube channel.

Starting a blog!

One of my 2017 resolutions is to start writing again. I’m hoping a blog will help me achieve this goal.

I want to share thoughts about my geeky interests: computer science, research, semantic web, databases, semantic web, etc; and my non-geeky interests such as travel, miles and points, cheap flights, beer and wine 🙂 .

This should be an interesting smorgasbord of content!