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.
RDF Semantic Graph Terminology, informally explained (from W3C)
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.
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 is the data format that supports the Semantic Web. The basic rules for Linked Data are defined as:
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 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.
"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.
Improved language constructs, better expressivity: i.e. Property Chains, Keys, Punning, etc. see: http://www.w3.org/TR/owl2-new-features/
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."
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.
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.
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
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.
"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.
An AJAXy front-end for exploring triple stores
(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.
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.
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.
Essentially a database make up of triples; as opposed to, for example, a relational database made up of tables of data.
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.
http://www.linkeddatatools.com/introducing-rdf
A good place to start. An excellent introduction to RDF by Linked Data Tools. Topics include:
https://jena.apache.org/tutorials/sparql.html
A fast tutorial that covers the basics.
https://docs.data.world/tutorials/sparql/
A quickie interactive introduction to the SPARQL language covering all the basics including:
https://www.cambridgesemantics.com/blog/semantic-university/learn-sparql/
Another intro to SPARQL with an interactive component by Cambridge Semantics.
https://www.obitko.com/tutorials/ontologies-semantic-web/
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)
An in-depth overview slide deck from the Oracle S&G team.
http://client.linkeddatafragments.org
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/)
https://unilexicon.com/vocabularies/google-product-taxonomy/
Interactive tool that allows you to explore the Google product ontology — or alternatively, create/explore your own. Additionally, these endpoints are usable by Python.
https://www.youtube.com/watch?v=zeYfT1cNKQg
Fairly high level, but a good introduction to RDF.
W3C RDF 1.1. Concepts and Abstract Syntaxhttps://www.w3.org/TR/rdf11-concepts/ The official W3C RDF 1.1 documentation
|
|
Spatial & Graph RDF Semantic Graph Developer’s Guidehttps://docs.oracle.com/database/121/RDFRM/toc.htm The official Oracle RDF Semantic Graph Developer’s Guide (28 pages)
|
|
Semantic Web Design Patternshttps://www.cambridgesemantics.com/blog/semantic-university/semantic-web-design-patters/ Another tutorial by Cambridge Semantics covering semantic patterns — particularly good for data architects.
|
|
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. |
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. |
|
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. |
|
RDF Database Systems: Triples Storage and SPARQL Processinghttps://www.amazon.com/RDF-Database-Systems-Triples-Processing/dp/0127999574
|
|
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.
|
|
Introduction to the Semantic Web and Semantic Web Serviceshttps://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. |
|
Pull: The Power of the Semantic Web to Transform Your Businesshttps://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. |
|
Programming the Semantic Web: Build Flexible Applications with Graph Datahttps://www.amazon.com/Programming-Semantic-Web-Flexible-Applications/dp/0596153813/
|
|
Foundations of Semantic Web Technologieshttps://www.amazon.com/Foundations-Semantic-Technologies-Textbooks-Computing/dp/142009050X/
|
|
Semantic Web for the Working Ontologist, Second Edition: Effective Modeling in RDFS and OWLhttps://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. |
|
Learning SPARQL: Querying and Updating with SPARQL 1.1https://www.amazon.com/Learning-SPARQL-Querying-Updating-1-1/dp/1449371434/
|
Oracle Developer Community: RDF Semantic Graphhttps://community.oracle.com/community/database/oracle-database-options/rdf_semantic_graph No better place to ask the experts about S&G
|
|
Planet RDFAn aggregation of global RDF-related blogs -- lots of good stuff here. |
|
Meetup.comhttps://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…) |
|
Oracle Spatial and Graph LinkedIn Grouphttps://www.linkedin.com/groups/1848520/profile
|