Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Neo4j GraphTour New YorkOntologies and Knowledge Graphs

Presentation for Neo4j GraphTour New York 2019 held on October 16 - Explicit Semantics in Neo4j: Ontologies and Knowledge Graphs, Jesus Barrasa, Neo4j

  • Login to see the comments

Neo4j GraphTour New YorkOntologies and Knowledge Graphs

  1. 1. Explicit Semantics in Neo4j: Ontologies and Knowledge Graphs Jesús Barrasa - Neo4j
  2. 2. Jesús Barrasa @BarrasaDV
  3. 3. Who’s this talk for?
  4. 4. What is an Ontology?
  5. 5. Some popular ontologies... FIBO Ontology by the EDM council Schema.org used by Google’s knowledge graph The Biological and Biomedical ontologies in the OBO Foundry (i.e. Gene Ontology…) The Open Graph Protocol
  6. 6. How are ontologies used? Interoperability: Definitions of shared vocabularies Inferencing: Actionable knowledge fragments
  7. 7. W3C Standards 2000: RDFS 1.0 2004: OWL 1.0 2014: RDFS 1.1
  8. 8. What do ontologies look like? FIBO https://spec.edmcouncil.org/fibo/
  9. 9. What do ontologies look like? Schema.org https://schema.org/
  10. 10. Part 1: Interoperability
  11. 11. Enabling Integration Publishing my Neo4j graph’s Ontology Creating a Linked Data endpoint… … according to STD vocabularies
  12. 12. Exporting/Publishing Neo4j data as RDF
  13. 13. Model Mapping + Publishing
  14. 14. Let’s try it!
  15. 15. Part 2: Inferencing
  16. 16. Inferencing in Neo4j
  17. 17. Where are my Semantics? Q: I want all accounts for clients in NY in my Knowledge Graph MATCH (ac)-[:ACC_ZIP]->()-[:IN_STATE]->(:State { stateCode: ‘NY’}) WHERE ac:LoanOrCreditAccount OR ac:InvestmentAccount OR ac:TransactionDepositAccount OR ac:TimeDepositAccount ... RETURN ac.acctBalance, ac.acctId
  18. 18. Explicit, declarative description of domain semantics… (an ontology) https://spec.edmcouncil.org/fibo/widoco/master/latest/FBC/ProductsAndServices/ClientsAndAccounts/index-en.html#classes
  19. 19. Where are my Semantics? (version 2) Q: I want all accounts for clients in NY in my Knowledge Graph MATCH (ac)-[:ACC_ZIP]->()-[:IN_STATE]->(:State { stateCode: ‘NY’}) WHERE semantics.inference.hasLabel(ac,Account) RETURN ac.acctBalance, ac.acctId
  20. 20. Implicit vs Explicit Semantics
  21. 21. Let’s try it!
  22. 22. Demo details Dataset: Lending Club Loan data [https://www.kaggle.com/wendykan/lending-club-loan-data] Ontology: FIBO (Production Quickstart) [https://spec.edmcouncil.org/fibo/OWL] Semantic Graph Platform: Neo4j [https://neo4j.com/download/] & NSMNTX [https://neo4j.com/labs/nsmtx-rdf/] Code: <in Neo4j browser type> :play field/semantics.html [source: https://github.com/jbarrasa/datasets/tree/master/ontos]
  23. 23. NEOSEMANTIX
  24. 24. What is NSMNTX? NSMNTX is a plugin that enables the use of RDF in Neo4j ● Store RDF data in Neo4j in a lossless manner ● On-demand export property graph data from Neo4j as RDF ● model mapping ● Inferencing
  25. 25. https://neo4j.com/labs
  26. 26. https://neo4j.com/labs/nsmtx-rdf
  27. 27. Join the community! https://community.neo4j.com/c/integrations/linked-data-rdf-ontology
  28. 28. Conclusions RDF ≠ Semantics: RDF + RDFS/OWL are just the medium Don’t listen to “analysts” and (triple store) vendors when they talk about Semantics as something arcane or “RDF’s magic” Do “Just enough semantics”
  29. 29. Thank you!

×