{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,22]],"date-time":"2026-07-22T16:26:43Z","timestamp":1784737603357,"version":"3.55.0"},"reference-count":45,"publisher":"Association for Computing Machinery (ACM)","issue":"13","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2016,9]]},"abstract":"<jats:p>Recently graph has been drawing lots of attention both as a natural data model that captures fine-grained relationships between data entities and as a tool for powerful data analysis that considers such relationships. In this paper, we present a new graph database system that integrates a robust graph storage with an efficient graph analytics engine. Primarily, our system adopts two domain-specific languages (DSLs), one for describing graph analysis algorithms and the other for graph pattern matching queries. Compared to the API-based approaches in conventional graph processing systems, the DSL-based approach provides users with more flexible and intuitive ways of expressing algorithms and queries. Moreover, the DSL-based approach has significant performance benefits as well, (1) by skipping (remote) API invocation overhead and (2) by applying high-level optimization from the compiler.<\/jats:p>","DOI":"10.14778\/3007263.3007265","type":"journal-article","created":{"date-parts":[[2016,11,1]],"date-time":"2016-11-01T13:47:47Z","timestamp":1478008067000},"page":"1257-1268","source":"Crossref","is-referenced-by-count":19,"title":["Using domain-specific languages for analytic graph databases"],"prefix":"10.14778","volume":"9","author":[{"given":"Martin","family":"Sevenich","sequence":"first","affiliation":[{"name":"Oracle Labs"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Sungpack","family":"Hong","sequence":"additional","affiliation":[{"name":"Oracle Labs"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Oskar","family":"van Rest","sequence":"additional","affiliation":[{"name":"Oracle Labs"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Zhe","family":"Wu","sequence":"additional","affiliation":[{"name":"Oracle"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jayanta","family":"Banerjee","sequence":"additional","affiliation":[{"name":"Oracle"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Hassan","family":"Chafi","sequence":"additional","affiliation":[{"name":"Oracle Labs"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2016,9]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"AllegroGraph. http:\/\/franz.com\/agraph\/allegrograph\/.  AllegroGraph. http:\/\/franz.com\/agraph\/allegrograph\/."},{"key":"e_1_2_1_2_1","unstructured":"Apache Giraph Project. http:\/\/giraph.apache.org.  Apache Giraph Project. http:\/\/giraph.apache.org."},{"key":"e_1_2_1_3_1","unstructured":"Apache TinkerPop. http:\/\/tinkerpop.incubator.apache.org.  Apache TinkerPop. http:\/\/tinkerpop.incubator.apache.org."},{"key":"e_1_2_1_4_1","unstructured":"Boost Graph Library (BGL). http:\/\/www.boost.org\/doc\/libs\/1_55_0\/libs\/graph\/doc\/index.html.  Boost Graph Library (BGL). http:\/\/www.boost.org\/doc\/libs\/1_55_0\/libs\/graph\/doc\/index.html."},{"key":"e_1_2_1_5_1","unstructured":"Cypher - the Neo4j query Language. http:\/\/www.neo4j.org\/learn\/cypher.  Cypher - the Neo4j query Language. http:\/\/www.neo4j.org\/learn\/cypher."},{"key":"e_1_2_1_6_1","unstructured":"InfiniteGraph. http:\/\/www.objectivity.com\/infinitegraph.  InfiniteGraph. http:\/\/www.objectivity.com\/infinitegraph."},{"key":"e_1_2_1_7_1","unstructured":"Intel 64 and IA-32 Architectures Optimization Reference Manual. http:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/64-ia-32-architectures-optimization-manual.html 2016.  Intel 64 and IA-32 Architectures Optimization Reference Manual. http:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/64-ia-32-architectures-optimization-manual.html 2016."},{"key":"e_1_2_1_8_1","unstructured":"Java universal network\/graph framework. http:\/\/jung.sourceforge.net.  Java universal network\/graph framework. http:\/\/jung.sourceforge.net."},{"key":"e_1_2_1_9_1","unstructured":"Neo4j graph database. http:\/\/www.neo4j.org\/.  Neo4j graph database. http:\/\/www.neo4j.org\/."},{"key":"e_1_2_1_10_1","unstructured":"NetworkX. https:\/\/networkx.github.io.  NetworkX. https:\/\/networkx.github.io."},{"key":"e_1_2_1_11_1","unstructured":"Oracle Spatial and Graph RDF Semantic Graph . http:\/\/www.oracle.com\/technetwork\/database\/options\/spatialandgraph\/overview\/rdfsemantic-graph-1902016.html.  Oracle Spatial and Graph RDF Semantic Graph . http:\/\/www.oracle.com\/technetwork\/database\/options\/spatialandgraph\/overview\/rdfsemantic-graph-1902016.html."},{"key":"e_1_2_1_12_1","unstructured":"SPARQL Query Language for RDF. http:\/\/www.w3.org\/TR\/rdf-sparql-query\/.  SPARQL Query Language for RDF. http:\/\/www.w3.org\/TR\/rdf-sparql-query\/."},{"key":"e_1_2_1_13_1","unstructured":"Stanford network analysis library. http:\/\/snap.stanford.edu\/snap.  Stanford network analysis library. http:\/\/snap.stanford.edu\/snap."},{"key":"e_1_2_1_14_1","unstructured":"Tinkerpop Gremlin. https:\/\/github.com\/tinkerpop\/gremlin\/wiki.  Tinkerpop Gremlin. https:\/\/github.com\/tinkerpop\/gremlin\/wiki."},{"key":"e_1_2_1_15_1","unstructured":"Titan Distributed Graph Database. http:\/\/thinkaurelius.github.io\/titan\/.  Titan Distributed Graph Database. http:\/\/thinkaurelius.github.io\/titan\/."},{"key":"e_1_2_1_16_1","unstructured":"Virtuoso Universal Server. http:\/\/virtuoso.openlinksw.com\/.  Virtuoso Universal Server. http:\/\/virtuoso.openlinksw.com\/."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0378-8733(03)00009-1"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2389241.2389250"},{"key":"e_1_2_1_19_1","volume-title":"Introduction to Algorithms","author":"Cormen Thomas H.","year":"2001","unstructured":"Thomas H. Cormen , Clifford Stein , Ronald L. Rivest , and Charles E. Leiserson . Introduction to Algorithms . McGraw-Hill Higher Education , 2 nd edition, 2001 . Thomas H. Cormen, Clifford Stein, Ronald L. Rivest, and Charles E. Leiserson. Introduction to Algorithms. McGraw-Hill Higher Education, 2nd edition, 2001.","edition":"2"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2012.6408680"},{"key":"e_1_2_1_21_1","volume-title":"CIDR 2015, Seventh Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 4-7, 2015, Online Proceedings","author":"Fan Jing","year":"2015","unstructured":"Jing Fan , Adalbert Gerald Soosai Raj , and Jignesh M. Patel . The case against specialized graph analytics engines . In CIDR 2015, Seventh Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 4-7, 2015, Online Proceedings , 2015 . Jing Fan, Adalbert Gerald Soosai Raj, and Jignesh M. Patel. The case against specialized graph analytics engines. In CIDR 2015, Seventh Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 4-7, 2015, Online Proceedings, 2015."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1016\/0378-8733(78)90021-7"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2488388.2488433"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151013"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807620"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2581122.2544162"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2484425.2484430"},{"key":"e_1_2_1_28_1","volume-title":"ZIB-Report","author":"Kaibel Volker","year":"2006","unstructured":"Volker Kaibel and Matthias A. F. Peinhardt . On the bottleneck shortest path problem, technical report , ZIB-Report , 2006 . Volker Kaibel and Matthias A. F. Peinhardt. On the bottleneck shortest path problem, technical report, ZIB-Report, 2006."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDM.2009.14"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772690.1772751"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.14778\/2212351.2212354"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2009.5161100"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807167.1807184"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2567634.2567638"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522739"},{"key":"e_1_2_1_36_1","volume-title":"September 4","author":"Page L.","year":"2001","unstructured":"L. Page . Method for node ranking in a linked database , September 4 2001 . US Patent 6,285,999. L. Page. Method for node ranking in a linked database, September 4 2001. US Patent 6,285,999."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522740"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2659480.2659494"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2011.61"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2723732"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1963405.1963491"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1137\/0201010"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735496.2735507"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2484425.2484432"},{"key":"e_1_2_1_45_1","volume-title":"Short note on costs of floating point operations on current x86-64 architectures: Denormals, overflow, underflow, and division by zero. CoRR, abs\/1506.03997","author":"Wittmann M.","year":"2015","unstructured":"M. Wittmann , T. Zeiser , G. Hager , and G. Wellein . Short note on costs of floating point operations on current x86-64 architectures: Denormals, overflow, underflow, and division by zero. CoRR, abs\/1506.03997 , 2015 . M. Wittmann, T. Zeiser, G. Hager, and G. Wellein. Short note on costs of floating point operations on current x86-64 architectures: Denormals, overflow, underflow, and division by zero. CoRR, abs\/1506.03997, 2015."}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3007263.3007265","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T09:35:56Z","timestamp":1672220156000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3007263.3007265"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,9]]},"references-count":45,"journal-issue":{"issue":"13","published-print":{"date-parts":[[2016,9]]}},"alternative-id":["10.14778\/3007263.3007265"],"URL":"https:\/\/doi.org\/10.14778\/3007263.3007265","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2016,9]]}}}