I'm using Neo4j to build a CMDB and it is awesome.
MATCH p = (host:VMHOST {name: 'your_host_name'})-[:RUNS]->(vm)-[:HAS_SERVICE]->(service)-[:EXPOSES_PORT]->(port:TCPPORT {port: 80}) RETURN p
This can save a absurd amount of time for analyzing the impacts of failures and security isolation compliance.