Tutorial 6: Large Scale Semantic Graph Data Management and Analytics

Tutorial 6: Large Scale Semantic Graph Data Management and Analytics

Tutorial 6: Large scale semantic graph data management and analytics Olivier Curé University of Paris-Est Marne la Vallée [email protected] @oliviercure Who am I ? • Associate professor in Computer Science at Université Paris-Est Marne la Vallée (France) • Research on Data and Knowledge management, Reasoning, Big data • Designed and maintains a self- medication web application targeting over 7 million clients of more than 35 insurance companies in France 2 Tutorial overview • Semantic Web • Storing and querying • Automated reasoning • Integrating data and knowledge • Analytics • Conclusion 3 Semantic is in the air It is spring season for AI l Big trend is Machine learning but many discovered models will be handled by Semantic data management tools 4 l Many initiatives to represent semantic data on the Web, e.g., Schema.org Plan l Semantic Web technologies l Storing and querying l Automated reasoning l Integrating data and knowledge l Analytics l Conclusion 5 Semantic Web technologies l Goals of this section • Short presentation of • RDF, a data model • SPARQL, a query language for RDF • and ontology languages, to represent knowledge and support inferences 6 RDF (Resource Description Framework) l The most prevalent data approach to represent semantic data and meta-data l A key component of W3C’s Semantic Web stack together with • SPARQL l A query language for RDF • RDFS l A light ontology language • OWL 7 l A family of expressive ontology languages RDF (2) l W3C recommendations in 1999 and 2014 (RDF 1.1) l Supports the definition of directed labeled graphs l A data model for the Web of data based on the notion of triples : (subject, predicate, object) l Omnipresence of IRIs l Triple signature (s,p,o) → (I È B) x I x (I È B È L) with I, B and L sets of resp. IRIs, Blank nodes, and Literals l Several syntaxes available: RDF/XML, JSON-LD, RDFa and Turtle family 8 RDF (3) 9 RDF (3) 10 RDF (3) 11 SPARQL l A query language for RDF data l Conjunctive queries based on graph pattern matching l Triples that possibly contain variables (prefixed with ? Symbol) • Example: PREFIX rdf : <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbp : <http://dbpedia.org/property/> SELECT ?s ?date ?lang WHERE { ?s rdf:type dbo:Book ; dbp:releaseDate ?date ; dbp:language ?lang . } 12 SPARQL l A query language for RDF data l Conjunctive queries based on graph pattern matching l Triples that possibly contain variables (prefixed with ? Symbol) • Example: PREFIX rdf : <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbp : <http://dbpedia.org/property/> SELECT ?s ?date ?lang WHERE { ?s rdf:type dbo:Book ; ?s dbr:The_Big_Nowhere dbp:releaseDate ?date ; ?date “English”^^... dbp:language ?lang . ?lang “September 1988”^^... } 13 Ontology languages l For a given domain, an ontology describes a set of concepts and their relationships l RDF Schema (RDFS) is the language with the lowest expressiveness : sub-classes, sub-properties, domain and range of properties, instance typing 14 Ontology languages (2) l OWL (Web Ontology Language) is a family of increasing expressive ontology languages l Expressiveness comes at a computational cost justifying a trade-off l OWL2 QL, RL and EL are tractable l OWL2 DL is not tractable 15l OWL2 Full is not decidable Knowledge Base (KB) l KB = a set of facts + an ontology l In Description Logics terminology: • KB = <ABox, TBox> l With ABox = Assertional box l And TBox = Terminological box 16 Plan l Semantic Web technologies l Storing and querying l Automated reasoning l Integrating data and knowledge l Analytics l Conclusion 17 Storing and querying RDF triples lGoals of this section l Achieve an initial understanding of the RDF database management ecosystem l Understand differences between 7 identified production- ready stores 18 RDF storage l Although most production-ready RDF stores support ACID characteristics, they are mostly loading data in batches l They are not used as OLTP databases (On line transaction processing) and do not possess OLAP (online analytical processing) functionalities l But they enable data integration at Web scale together with reasoning services 19 RDF Storage (2) l RDF is a logical data model and thus does not impose any physical storage solution l Existing RDF stores are either l based on an existing DataBase Management System, l relational model, e.g., PostgreSQL l NoSQL, e.g., Cassandra l Designed from scratch, e.g., as a Graph store 20 RDF stores taxonomy 21 Running example 22 Storage layout – triple table l One large relation with 3 columns (s,p,o) 23 Storage layout – Clustered property table l Clusters properties that tend to appear together 24 Storage layout – Property-class table l One table for each class 25 Storage layout – Vertical partitioning l One table two-column per property 26 Query processing and indexing l Graph query processing relates to navigating from nodes to nodes. It requires a high rate of join operations l Query processing efficiency largely depends on the indexing the triples of the graph l Systems like RDF-3X stores up to 15 indexes (SPO, SOP, POS, PSO, .., SP, SO, .., S, P, O), Hexastore, Yars2 have 6 indexes. 27 RDF Store ecosystem 28 RDF distributed data management l RDF storage is part of Big data l Distribution of RDF triples over a cluster of machines 29 Seven production-ready stores 30 Seven production-ready stores l They all guarantee l ACID transactions l Replication (mostly Master-Slave, some Master- Master) l Partition (Range, Hashing) 31 Data models and querying l Some of these systems support other data models • XML for MarkLogic and Virtuoso • Property graph for GraphDB, BlazeGraph and Stardog SensingDevice type http://njh.me/ssn#QBE01 DébitMètre geo-lat 48.83 observes geo-lon 2.21 comment “Transm..” since 2012 32 Data models and querying l Some of these systems support other data models • XML for MarkLogic and Virtuoso • Property graph for GraphDB, BlazeGraph and Stardog • Relational for Virtuoso and Oracle • Document for MarkLogic l Hence other query languages than SPARQL (v1.1) can be supported • Gremlin for property graph, Xquery for XML, SQL for relational data model, Prolog 33 License l Some of these systems have free editions but with some feature or usage limitations (as of 2018): • MarkLogic’s dev license is free for up to 1TB and 10 months max • Stardog: community (10DB max with 25M triples/DB, 4 users), dev (no limits but 30 day trial) • Allegrograph: free and dev have restrictions of 5M and 50M respectively • Virtuoso and GraphDB: free but no clustering and no replication • Blazegraph: free for a single machine (GPLv2) 34l All systems have commercial editions (Oracle is commercial only) Summary Triple store Full-text Cloud- Extra features search ready Allegrograph Integrated + AMI solr Blazegraph Integrated + AMI Reification done right solr GraphDB Integrated + AMI RDF ranking solr + elacticsearch (ent.) MarkLogic Integrated AMI With Xquery, Javascript Oracle Integrated Inline in SQL Stardog Integrated + AMI Integrity constraints, Explanations Lucene Virtuoso Integrated AMI Inline in SQL 35 Ontology-Based Data Access (OBDA) l Relevant when you have an existing (relational) database and want to reason over it using an ontology l The ontology models the domain, hides the structure of the data sources and enriches incomplete data l The ontology is connected to the data sources via mappings that relate concepts and properties to SQL views over the sources l Queries, expressed in SPARQL, are translated into the sources query language (usually SQL) l State of the art is Ontop. 36l Some commercial solutions: Capsenta’s ultrawrap APIs l Two popular Java APIs to process and handle RDF data and SPARQL queries are: lRDF4J (formerly Sesame) lApache Jena l They both l provide a JDBC-like and REST-like APIs l storing, querying and reasoning capabilities 37 Native full-text search in Blazegraph l Integration into SPARQL via the bds:search predicate prefix bds: <http://www.bigdata.com/rdf/search#> SELECT ?s ?p ?o WHERE { ?o bds:search "dog" . ?s ?p ?o . } 38 Allegrograph with Solr services l Storage strategy for an RDF triple such as: ex:someSubj ex:somePred "text to index" - Tell Solr to associate "text to index" with a new id - Then, add a new triple into AllegroGraph: ex:someSubj <http://www.franz.com/solrDocId> id l Now, you may write a SPARQL query such as: PREFIX solr: <http://www.franz.com/ns/allegrograph/4.5/solr/> PREFIX franz: <http://franz.com/ns/allegrograph/4.5/> SELECT * WHERE { ?s solr:match 'medicate disastrous' . ?s franz:text ?text . ?s otherProperty ?other . } l Solr can also be used from the API and the CLI 39 Plan l Semantic Web technologies l Storing and querying l Automated reasoning l Integrating data and knowledge l Analytics l Conclusion 40 Automated reasoning l Goals of this section l Apprehend reasoning in a Knowledge Graph management context l Understand the pros and cons of materialization and query reformulation l Select the proper production-ready RDF store based on your reasoning needs 41 Reasoning l The act of deriving implicit data from explicit one l In a semantic context, deriving implies the use of logic-based processing l This is based on a set of ontologies which are representing knowledge on the domain of discourse 42 Reasoning in data and knowledge bases l Database management systems natively do not support reasoning • Some external solutions are possible but rare in production, e.g., Datalog, XSB a Logic Programming systems that can connect to most RDBM systems l Knowledge bases natively support inferences

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    104 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us