Background

These pages provide the Knowledge Graph novice with an example of how to solve a practical problem using Linked Data as Resource Description Framework (RDF). A basic knowledge of RDF would be helpful but is not required. A Data Engineer’s Guide to Semantic Modeling is a good starting point. See 8. Resources for additional materials.

It is not the goal of this documentation to provide you with a full set of recipes and code. Rather, it is to provide you with an outline that you may adapt and apply to solve a problem that interests you, using tools and languages with which you are already familiar or wish to learn. Where I use R, you may use Python. Where I use RDF, you may choose to use a Labeled-Property Graph like Neo4j.

Those of you who are more experienced with this technology may be concerned by some of the choices made in this project and the lack of detail. Simplification was chosen over potentially overwhelming information. Topics like IRI creation and best practices for ontology modeling are glossed over in favour of encouraging novices to “jump in” and get started.

Introduction

Enterprise Knowledge Graph (EKG) is currently one of the most popular terms in the graph technology space. Its predecessor, The Semantic Web, developed a reputation for being too academic and inaccessible for novices. The term EKG can be just as uninviting, implying that from the very start you must plan for an enterprise-wide implementation. Without a comprehensive business plan and detailed Return on Investment (ROI) to provide to your manager and your IT department, it is unlikely that you can request a development environment to learn the technology.

The multitude of concepts and languages in the Semantic Web Stack is daunting. Must you design a comprehensive ontology while at the same time learning the query language? Do you choose RDF, property graph, or hybrid? How do you mint IRI’s? How can you gain practical experience with Knowledge Graphs under these circumstances?

Let’s set aside these concerns for the moment. Think of a problem that you would like to solve. One that would add value to something you do. It could be an inventory for your hobby, your contacts list, or a set of recipes you want to organize and query. Set out to solve that problem while learning Knowledge Graphs along the way. Do not expect perfection on your first try. One of the beauties of KG’s is that you can refactor as you go.

This documentation touches on the following topics in varying levels of detail:

  • Knowledge Graphs as Resource Description Framework (RDF)
  • Basic Ontology Concepts
  • SPARQL and SPARQL* (SPARQL-Star)
  • Data validation using SHACL
  • Representing process flows and code flows in RDF
  • R for data creation, presentation, and visualization

Each graph data journey is unique. Identify your challenge. Solve it using graph technology with the intention of learning as you go and having some fun along the way.

Document Conventions

Colour coding identifies content type:

R code
Data as Terse Triple Language (TTL)
Web Ontology Language (OWL)
SPARQL Query
Query Result
Shapes Constraint Language (SHACL)
SHACL Validation Report

Hover over this image to reveal interactivity on select images.

Use the field at the top of the page to find topics like SHACL or RDF-Star.

XXXXXXXXXXX Indicates text that was redacted for publication.

About These Pages

These pages are constructed using R, RMarkdown, blogdown, Wowchemy, and with additional inspiration from The Talking Heads.

This ain't no party
This ain't no disco
This ain't no fooling around."
- Talking Heads "Life During Wartime" [Album: Fear of Music]

This is my first attempt at publishing using R blogdown and Wowchemy. Pages are under construction. Help me improve the content by sending your comments and feedback to: LinkedDataTim@gmail.com

Next