Resources for learning RDF Semantic Graph (Part 1)

May 1, 2018 | 12 minute read
Michael J. Sullivan
Principal Cloud Solutions Architect
Text Size 100%:

Continuing my series on graph databases (see: Intro to Graphs at Oracle) I thought it would be useful to provide a “cheat sheet” for bootstrapping your learning of RDF Semantic Graph technologies. I’m starting with RDF since it has been around longer, is a W3C standard, has more in-depth training available, and the lessons learned will still be (mostly) applicable to learning Oracle’s Property Graph (which will be covered in another blog post).

Note: The concepts around RDF Semantic Graphs are directly related to but a bit different than the broader concept of “The Semantic Web”. For example: you can easily create a semantic web page without a graph database (heck you could hand code it), and likewise you could just as easily use a graph database to make an "ordinary" (i.e. non-semantic) web application. The real power comes when you marry the two. Keep this in mind while perusing the links below. It won't take long before it will all make sense to you.

Also keep in mind that Oracle Spatial and Graph's implementation of RDF has specific features (such as geographic extensions) that are not covered by the generic tutorials and books listed below. After getting your feet wet with the overall concepts, then would be a good time to read up on the details of Oracle's offering.

 


TERMINOLOGY

RDF Semantic Graph Terminology, informally explained (from W3C)

class

From the OWL documentation: "Classes provide an abstraction mechanism for grouping resources with similar characteristics." Think of classes as a grouping, a set, or even something like a genus in biology. Things in the same class have something(s) in common. OWL uses this concept of classes heavily, and in that way OWL-based metadata encourages a kind of classified view of information -- although there isn't a single classification but many of them, since each metadata ontology can define its own view using classes.

GeoSPARQL

Oracle Spatial and Graph geographic extension to SPARQL. Defines: Basic vocabulary, Query functions, Entailment component. GeoSPARQL is based on existing OGC/ISO standards – WKT, GML, SimpleFeatures, ISO19107. It uses SPARQL’s built-in extensibility framework. Modular specification allows flexibility in implementations – easy to extend

linked data

Linked Data is the data format that supports the Semantic Web. The basic rules for Linked Data are defined as:

  • Use URIs to identify things.
  • Use HTTP URIs so that these things can be referred to and looked up ("dereferenced") by people and user agents.
  • Provide useful information about the thing when its URI is dereferenced, using standard formats such as RDF/XML
  • Include links to other, related URIs in the exposed data to improve discovery of other related information on the Web.

namespace

Namespaces are based on the domain name system of the Internet. Your namespace is an identity space on the Internet that you control. For example: Library of Congress owns the namespace "loc.gov"; OCLC has "oclc.org"; the University of Michigan has "umich.edu." When Library of Congress creates an identifier for the subject heading "Guide dogs" it creates an identifier in its namespace: http://id.loc.gov/authorities/subjects/sh85057714. This guarantees that the identifier will be unique on the web since no one else can use "loc.gov".

ontology

Ontology in computer science is a formal representation of knowledge. For those involved in metadata development, when you have defined all of your data elements, your controlled vocabularies, how they fit together, and anything else that is needed to make your metadata work, then you have an ontology for your metadata domain.

OWL

"Web Ontology Language." The semantic web standard that is used to defined ontologies (metadata sets) so that they can be used and understood in that environment.

OWL 2

Improved language constructs, better expressivity: i.e. Property Chains, Keys, Punning, etc. see: http://www.w3.org/TR/owl2-new-features/

property

The property in RDF plays a role similar to the data element in other data models. In RDF the triple is made up of a subject (the thing you are describing with your metadata), a predicate (what you are going to say about it) and the object (the actual "saying"). The predicate is usually referred to as the property. So in a statement like "Moby Dick / has author / Herman Melville" the property is "has author."

RDF

Resource Description Framework. The basic standard for the semantic web. RDF defines the building blocks of the semantic web such as classes and properties and how they interact to create meaning.

RDFa

Resource Description Framework in Attributes. A W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within Web documents. It also enables the extraction of RDF model triples by compliant user agents.

RDFS

Resource Description Framework Schema. A set of classes with certain properties using the RDF extensible knowledge representation data model, providing basic elements for the description of ontologies, otherwise called RDF vocabularies, intended to structure RDF resources. These resources can be saved in a triple store to reach them with the query language SPARQL

semantic

In the humanities, the term "semantic" relates to meaning, such as the meaning of a word. When used in the context of the Semantic Web, however, the term refers to formally defined meaning that can be used in computation. In this sense, formal languages like programming languages have a semantic component that determines the meaning of the symbols and terms. For example, "x += y" has a defined meaning in programming languages like C and Perl.

SKOS

"Simple Knowledge Organization System." A standard way to describe thesauri and other sets of terms for the semantic web. It includes concepts like broader and narrower and related terms, and allows the definition of preferred display terms and alternate display terms.

SNORQL

An AJAXy front-end for exploring triple stores

SPARQL

(pronounced "sparkle", a recursive acronym for SPARQL Protocol and RDF Query Language) is an RDF query language, that is, a semantic query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format.

statement

A single piece of metadata consisting of a subject, a predicate and an object. "Moby Dick / has author / Herman Melville" is a statement. Metadata in the semantic web is made up of related statements. There are no records in this view, but a group of related statements can express the same full description that a record does in other metadata systems.

triple

A triple is a set of three elements: a subject, a predicate, and an object. When the term triple is used, the discussion is often focusing on the underlying technology of the semantic web; statement tends to be used when talking about the human view of metadata creation.

triple store

Essentially a database make up of triples; as opposed to, for example, a relational database made up of tables of data.

URI

Uniform Resource Identifier, a standard format for identifiers on the Internet. The string beginning with "http://" is a valid URI, and on the Semantic Web identifiers are formatted as "http" URIs.

 

ONLINE RDF SEMANTIC GRAPH TUTORIALS:

 

Linked Data Tools: Semantic Web Tutorials

http://www.linkeddatatools.com/introducing-rdf

Screen Shot 2018-04-30 at 10.56.44 AM

A good place to start. An excellent introduction to RDF by Linked Data Tools. Topics include:

  • The Basics
  • Introducing Graph Data
  • Introducing RDF
  • Semantic Modeling
  • Introducing RDFS & OWL
  • Querying Semantic Data

Apache JENA Tutorial

https://jena.apache.org/tutorials/sparql.html

Screen Shot 2018-05-01 at 10.55.45 AM

A fast tutorial that covers the basics.

 

Data World SPARQL Tutorial

https://docs.data.world/tutorials/sparql/

Screen Shot 2018-04-30 at 10.35.20 AM

A quickie interactive introduction to the SPARQL language covering all the basics including:

  • Your First SPARQL Query
  • Matching Exact Values In Queries
  • Sorting and Summary Statistics
  • Grouping Your Data
  • Filtering Your Data
  • Introduction to Data Munging
  • Linking Datasets Together

 

Semantic University: Learn SPARQL

https://www.cambridgesemantics.com/blog/semantic-university/learn-sparql/

Screen Shot 2018-04-30 at 10.39.57 AM

Another intro to SPARQL with an interactive component by Cambridge Semantics.

  • SPARQL Nuts & Bolts
  • SPARQL by Example
  • SPARQL vs. SQL

 

Introduction to Ontologies and Semantic Web

https://www.obitko.com/tutorials/ontologies-semantic-web/

Screen Shot 2018-04-30 at 11.21.56 AM

This online tutorial is an extraction from the introductory chapter of Marek Obitko’s 2007 dissertation that deals with the applications of ontologies in multi-agent systems. (Translations between Ontologies in Multi-Agent Systems, Ph.D. dissertation, Faculty of Electrical Engineering, Czech Technical University in Prague, 2007)

 

Oracle RDF Training, 2013 (PDF)

http://download.oracle.com/otndocs/tech/semantic_web/pdf/xldb_conf_2013/xldb2013_rdf_graph_training.pdf

Screen Shot 2018-04-30 at 4.21.25 PM

An in-depth overview slide deck from the Oracle S&G team.

 

Query Linked Data on the Web

http://client.linkeddatafragments.org

Screen Shot 2018-04-30 at 12.43.13 PM

A web query interface for various Linked datasources, great for seeing how SPARQL works. Additionally they offer links to various Linked datasets on the web (see:http://linkeddatafragments.org/data/) as well as software client tools for accessing Linked data (see: http://linkeddatafragments.org/software/)

 

Unilexicon: Explore Google’s Product Taxonomy

https://unilexicon.com/vocabularies/google-product-taxonomy/

Screen Shot 2018-04-30 at 1.21.34 PM

Interactive tool that allows you to explore the Google product ontology — or alternatively, create/explore your own. Additionally, these endpoints are usable by Python.

 

RDF Tutorial - An Introduction to the Resource Description Framework

https://www.youtube.com/watch?v=zeYfT1cNKQg

Screen Shot 2018-04-30 at 2.32.23 PM

Fairly high level, but a good introduction to RDF.

 

RDF DOCUMENTATION & PATTERNS

W3C RDF 1.1. Concepts and Abstract Syntax

https://www.w3.org/TR/rdf11-concepts/

The official W3C RDF 1.1 documentation

 

Screen Shot 2018-04-30 at 11.18.43 AM

Spatial & Graph RDF Semantic Graph Developer’s Guide

https://docs.oracle.com/database/121/RDFRM/toc.htm

The official Oracle RDF Semantic Graph Developer’s Guide (28 pages)

 

Screen Shot 2018-04-30 at 11.34.55 AM

Semantic Web Design Patterns

https://www.cambridgesemantics.com/blog/semantic-university/semantic-web-design-patters/

Another tutorial by Cambridge Semantics covering semantic patterns — particularly good for data architects.

  • Identifier Design Patterns
  • Modeling Patterns
  • Data Management Design Patterns
  • Application Design Patterns

 

Screen Shot 2018-04-30 at 10.45.44 AM

Linked Data Patterns (PDF)

http://patterns.dataincubator.org/book/linked-data-patterns.pdf

This free PDF book attempts to add to the steadily growing canon of reference documentation relating to Linked Data. Linked Data is a means of publishing "web-native" data using standards like HTTP, URIs and RDF. The book adopts a tried and tested means of communicating knowledge and experience in software development: the design pattern.

Screen Shot 2018-04-30 at 11.48.16 AM

 

 

BOOKS:

Semantics for Dummies (PDF)

https://www.marklogic.com/resources/semantics-for-dummies/

N.B. You’ll need to sign up to get the link to the free PDF.

RDF Semantic Graph

Practical Semantic Web and Linked Data Applications (PDF)

http://markwatson.com/opencontent_data/book_java.pdf

This free PDF book is a lot about programming and provides tremendous amount of details around the practical applications of Semantic Web like AllegreGraph, Sesame, Open Calais and Freebase. Read this once you have gained a strong foundation on the concepts from other books.

Screen Shot 2018-04-30 at 1.41.46 PM

RDF Database Systems: Triples Storage and SPARQL Processing

https://www.amazon.com/RDF-Database-Systems-Triples-Processing/dp/0127999574

 

Screen Shot 2018-04-30 at 4.52.48 PM

Semantic Web Primer eBook (PDF)

http://www.linkeddatatools.com/semantic-web-primer-ebook 

A handy and inexpensive PDF version of Linked Data Tools’ online tutorial.

 

Screen Shot 2018-04-30 at 11.06.21 AM

Introduction to the Semantic Web and Semantic Web Services

https://www.amazon.com/Introduction-Semantic-Web-Services/dp/1584889330/

Liyang Yu provides a very intuitive explanation of RDF, RDFa and Ontology terminologies with solid examples.

Screen Shot 2018-04-30 at 1.28.08 PM

Pull: The Power of the Semantic Web to Transform Your Business

https://www.amazon.com/Pull-Power-Semantic-Transform-Business/dp/1591842778/

This book by David Siegel is an excellent resource that triggers many start-up ideas on Semantic Web and lists out few open problems yet to be solved.

Screen Shot 2018-04-30 at 1.32.26 PM

Programming the Semantic Web: Build Flexible Applications with Graph Data 

https://www.amazon.com/Programming-Semantic-Web-Flexible-Applications/dp/0596153813/

 

Screen Shot 2018-04-30 at 1.36.50 PM

Foundations of Semantic Web Technologies

https://www.amazon.com/Foundations-Semantic-Technologies-Textbooks-Computing/dp/142009050X/

 

 

Screen Shot 2018-04-30 at 1.38.49 PM

Semantic Web for the Working Ontologist, Second Edition: Effective Modeling in RDFS and OWL

https://www.amazon.com/Semantic-Web-Working-Ontologist-Second/dp/0123859654/

Authors Allemang and Hendler describe how the Semantic Web builds on the same principles that powered the success of Wikipedia and of the World Wide Web itself.

Screen Shot 2018-04-30 at 1.40.11 PM

Learning SPARQL: Querying and Updating with SPARQL 1.1

https://www.amazon.com/Learning-SPARQL-Querying-Updating-1-1/dp/1449371434/

 

 Screen Shot 2018-04-30 at 1.45.18 PM

 

 

DISCUSSION GROUPS:

Oracle Developer Community: RDF Semantic Graph

https://community.oracle.com/community/database/oracle-database-options/rdf_semantic_graph

No better place to ask the experts about S&G

 

Screen Shot 2018-04-30 at 2.22.48 PM

Planet RDF

http://planetrdf.com 

An aggregation of global RDF-related blogs -- lots of good stuff here.

Screen Shot 2018-04-30 at 1.01.46 PM

Meetup.com

https://www.meetup.com/find/?keywords=semantic+web  

If you live in a big city, I think you will be surprised at how many folks are interested in RDF Semantic Graphs. And besides, there's nothing like having some facetime with real people like you. Search for @ Meetup.com and join local groups near you interested in the Semantic Web (or RDF, or Graph databases, or whatever…)

Screen Shot 2018-04-30 at 1.09.19 PM

Oracle Spatial and Graph LinkedIn Group

https://www.linkedin.com/groups/1848520/profile

 

Screen Shot 2018-04-30 at 4.26.31 PM

 

 

 

 

 

 

Michael J. Sullivan

Principal Cloud Solutions Architect


Previous Post

BI Cloud Connector – Deletion of Data Extract Files on UCM

Ulrich Janke | 22 min read

Next Post


Connecting DIPC ODI Studio to the Autonomous Data Warehouse

Dayne Carley | 1 min read