/RdfDemo

Demo Code with Examples for educational purpose

Primary LanguageC#MIT LicenseMIT

RDF Demo

Demo Code with Examples for educational purpose

Linked Data

RDF, RDFS and OWL

Concepts

Blank nodes

Blank nodes are nodes in a graph that cannot be addressed by an URL. Thus irrelevant for plain statements, blank nodes can be used to build advanced structure e.g. linked lists.

RDF Containers

Container types such as rdf:Bag, rdf:Seq and rdf:Alt are formally indifferent, because a gaph does not impose any order to the edges of a node. However, the type indicates to the human reader that there is a special meaning to the order of the items.

The class rdfs:ContainerMembershipProperty has as instances the properties rdf:_1, rdf:_2 ... . Those properties are intended to assign members to a container.

Containers are open for extension.

RDF Collections

A collection is a sub-graph that resembles a linked list. The type rdf:List represents a node in the linked list with the properties rdf:first and rdf:rest. The resource rdf:nil represents the terminal node in the linked list.

Collections are closed.

Reification

Reification allows modeling a statement explicitly, using a blank node of type rdf:Statement. The properties rdf:subject, rdf:predicate and rdf:object may be used with a rdf:Statement.

In contrast to a simple triple, which is the implicit form of a statement, the explicit form e.g. is open for providing additional properties about the statement itself.

Taxonomies/Ontologies

A taxonomy is an attempt to organize a (complex) system of seemingly unrelated concepts (e.g. terms) into classes, properties and relationships. Taxonomies are usually considered trees. While RDF is basically an abstract framework, both RDFS and OWL specify vocabulary to define taxonomies. OWL builds upon RDFS, yet needs to partially replace some of the RDFS-terms in order to introduce additional restrictions, required by its ontological features.

An ontology has a similar goal as a taxonomy, but allows the formalization of additional restrictions on classes, properties and relationships. Ontologies are usually considered graphs or hypergraphs. OWL specifies vocabulary to define ontologies.

There are 3 different levels of OWL:

Level Description
OWL Lite A subset of OWL Full that is considered easy to implement
OWL DL A subset of OWL Full that is determinalbe and equivalent to first order logic
OWL Full Is not determinable, yet may be used as base for higher order logic

Semantics

Known meanings and conventions (i.e. semantic assumptions), defined within the specification of vocabularies auch as e.g. OWL DL, can be used to infer additional statements (known as an entailment regime) that may be considered valid under the presence of these assumptions.

Reference

Tutorials

Utilities

Libraries

RDF Encoding Syntaxes

RDF/XML

Reference

N-Triples/N-Quads

Reference

Turtle

Reference
Examples

JSON-LD

Reference
Slides
Discussion
Utilities

TriG

Reference

RDFa

Reference

Microdata

Reference

Microformats

Reference

OWL Encoding Syntaxes

Functional

Reference

OWL/XML

Reference

Manchester

Reference