How Can RDF and OWL Coexist with Property


















- Slides: 18
How Can RDF and OWL Coexist with Property Graph Zhe Wu Architect Oracle Spatial and Graph May, 2016 Copyright © 2015 Oracle and/or its affiliates. All rights reserved.
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Copyright © 2016 Oracle and/or its affiliates. All rights reserved.
RDF, OWL, SPARQL Direction of Development in Graph & Semantics Area Property Graph s ta a r. D pe Ty he Ot Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 3
Direction of Development in Graph & Semantics Area “Facets” Security User Interface Programming interfaces RDF, OWL, SPARQL Searchability Fashion! Tools Property Graph al, nal i t a o Sp lati , N Re JSO ata, D Big Scalability Copyright © 2016 Oracle and/or its affiliates. All rights reserved. Solution Multiple Platforms 4
Property Graph Data Model • A set of vertices (or nodes) – each vertex has a unique identifier. – each vertex has a set of in/out edges. – each vertex has a collection of key-value properties. • A set of edges – each edge has a unique identifier. – each edge has a head/tail vertex. – each edge has a label denoting type of relationship between two vertices. – each edge has a collection of key-value properties. • Blueprints Java APIs • Implementations • Oracle, Neo 4 j, Data. Stax(Titan), Infinite. Graph, Dex, Sail, Mongo. DB … https: //github. com/tinkerpop/blueprints/wiki/Property-Graph-Model Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 5
Architecture of Property Graph Support Graph Analytics Java APIs Graph Data Access Layer (DAL) Blueprints & Lucene/Solr. Cloud Java, Groovy, Python, … REST/Web Service Parallel In-Memory Graph Analytics (PGX) Java APIs/JDBC/SQL/PLSQL Scalable and Persistent Storage Management Oracle RDBMS Apache HBase Property Graph formats RDF (RDF/XML, NTriples, Graph. ML N-Quads, Tri. G, N 3, JSON) GML Graph-SON Flat Files Oracle No. SQL Database Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 6
Oracle’s In-Memory Analyst vs Spark Graph. X 1. 1 In-Memory Analyst on 1 node is up to 2 orders of magnitude faster than Spark Graph. X distributed execution on 2 to 16 nodes Hop-Dist Eigenvector Centrality 10000 Execution Time (secs) 10000 100 10 1 0. 1 1 Spark (16) Spark (8) Spark (4) Spark (2) Copyright © 2016 Oracle and/or its affiliates. All rights reserved. Oracle Twitter Spark (16) Spark (8) Spark (4) Spark (2) Oracle Spark (16) Web Spark (8) Spark (4) Spark (2) Oracle Spark (16) Spark (8) Spark (4) Spark (2) Oracle Twitter Web 8
Oracle’s In-Memory Analyst vs. Dato Graph. Lab Create 10 1 0. 01 Live. J Oracle(SPARC) Oracle(X 86) Twitter Graph. Lab (X 86 x 16) Triangle Counting Runtime in Seconds In-Memory Analyst on a single machine is 3 x – 10 x faster than a Graph. Lab 16 -machine distributed execution Runtime in Seconds Page. Rank 1000 10 1 Live. J Copyright © 2016 Oracle and/or its affiliates. All rights reserved. Web-UK
Linear Scalability Loading in No. SQL w/ Parallelism Oracle Big Data Spatial and Graph: Property Graph – Data Access Oracle No. SQL Database: Linear Scalability of Data Loading (Degrees of Parallelism (DOP) = 36) 1000 No. SQL 8 -Node BDA (a): Data Loading Time (min) 360 683 100 15. 8 No. SQL 8 -Node BDA (a): Data Loading Speed (million edges/min) Time 10 (min. Log 10) 4. 5 4. 4 4. 2 1 4. 4 0. 670000001 0. 1 1 10 Millions 10000 No. SQL 8 -Node BDA: Oracle No. SQL Database Enterprise Edition 3. 2. 5, 8 Storage Nodes, 12 Replication Nodes/Storage Node, 8. 5 G Heap Size/Replication Node, Replication Factor 1 Data points for 3 M, 70 M, 1. 5 B, & 3 B Edges Client: Heap Size 48 G, 2 Clients Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 10
4 -6 Seconds for Analytics on 4. 8 m Vertices w/ 68. 9 m Edges (2. 9 GB) w/ Parallel In-Memory Analyst Oracle Big Data Spatial and Graph: Property Graph - In-Memory Analyst Apache HBase 1. 0: Parallel Graph Analytics on Live. J Data Count triangles Page Ranking 1000 21 16 HBase - 4 Node BDA (a) 12 10 10 7 5 6 5 4 4 1 HBase - 9 Node BDA (b) Time (sec) 40 32 100 105 83 52 40 HBase - 4 Node BDA (a) 27 22 14 12 10 10 9 9 7 8 6 HBase - 9 Node BDA (b) 1 1 2 4 8 16 Degree of Parallelism (DOP) 32 48 1 2 4 8 16 32 48 Degree of Parallelism (DOP) Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 11
Strengths and Weaknesses • Semantic web/RDF graph • Formal theoretical foundation, precise, lots of standards/curated terms/vocabularies, linked data • Semantic web/RDF graph • Property graph • Easy to learn (actually not much to learn) • Suitable for social network analysis • Property graph • Steep learning curve • Lack of standard/query language • Hidden complexity • How to deal with multiple property graphs? How can an application make use of both? Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 12
Semantic Web/RDF Graph Coexists with Property Graph • Step 1: Stick them into the same repository Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 13
Semantic Web/RDF Graph Coexists with Property Graph • Step 2: Force them to speak the same language (Java, SQL, REST, …) Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 14
Semantic Web/RDF Graph Coexists with Property Graph • Step 3: Disguise one as the other • Property graph view on RDF & RDF view on property Graph Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 15
Property Graph View on RDF Data • Specify • Which set of assertions become “attributes” • Which set of assertions become edges ns: vertex 1 ns: name “marko”. ns: vertex 1 ns: age 29. ns: vertex 1 ns: created ns: vertex 3. Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 16
Property Graph View on RDF Data • Specify • Which set of assertions become “attributes” • Which set of assertions become edges ns: vertex 1 ns: name “marko”. ns: vertex 1 ns: age 29. ns: vertex 1 ns: created ns: vertex 3. • Attributes on edges can come from reification or quads • Challenge: dealing with multiple values Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 17
RDF View on Property Graph Data • Use W 3 C RDB 2 RDF • Property graph modeled with relational tables/views in Oracle VID K T V 1 name 1 BOB 2 name 1 The Mona Lisa … … VN … • Define an R 2 RML mapping • Open question: can we add a bit of RDF to a PG graph? Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 18
Summary • Under active development • Semantic web/RDF/OWL/Geo. SPARQL/RDB 2 RDF improvement • Property graph • Challenges • Efficient graph query across distributed system • Support multiple platforms • Relational Database, Big Data (Hadoop stack), and Cloud • Tight integration of graph data with other data types from various sources • More tools, UI, and better usability! Copyright © 2016 Oracle and/or its affiliates. All rights reserved. 19


















