RDF(S) viewing

Fr De

Tutorial:
follow the magnifying glass (on the left besides this text in a maximized browser.)

RDF has the advantage of having more than one perspectives:

1) RDF statements (triples) are stored in a table building an universal relation
2) RDF statement are de-facto connecting RDF resources thus building logically a graph of data

So RDF data are always queriable in a form of (hidden) equi-joins inside SPARQL queries. This gives the possibility to query (modify) a graph in a relational way using SPARQL (-UPDATE).

Unfortunately, RDF is only capable to represent bottom-up relationships and individuals. Thus the representational power of RDF is quite limited – RDF can be considered as the basis layer of Linked-Data. Visualizing RDF is relatively simple but at the same time it can grow beyond any practicable use – human eye can follow up to some hundreds connected nodes on a graph canvas. More nodes require a filtering – you do not want to see every molecule of an entity, you need the entity. Nodes and connections must be filtered before being visualized. A graph is a multi dimensional mathematical object – which can not be satisfactorily projected on a 2 dimensional canvas.

RDFS brings much more salt in the soup – introducing the concepts of class hierarchies, property hierarchies and individual. RDF resources (a kind of black&white basic information) gain „color“ by RDFS. Some resources are made individual, other classes, other properties. The result is a more meaningful RDF representation, allowing to build so-called „light weight“ ontologies.

E.g. the following RDF statements

:Person rdfs:subClassOf :HumanBeing .
:john a :Person .
:paul :tastes :pizzaMargherita .
:john :eats :pizzaNapoli .
:tastes rdfs:subPropertyOf :eats.
:eats rdfs:subPropertyOf :nourischesHimselfWith .
:eats :domain :Person .
:tastes rdfs:range :Pizza .
:nourischesHimselfWith rdfs:domain :HumanBeing .
:Pizza rdfs:subClassOf :Food.

describe a situation where some people eats, other taste some pizza. These RDF statements build an RDFS ontology with an entailment (the set of deducible statements) when imported in an RDFS enabled graph engine. E.G. the non explicit written statement :paul a :Person is true in this ontology although it was not written with the ontology. It is in its entailment.

How would you display this entailment? Again with RDF of course. All RDF statements (like facts in a knowledge base) should be visualized and seen. In RDF a statement is true if it is in the database (e.g. it is either directly provided or inferred / materialized).

Mainly for educational purposes Semweb developed a viewer capable of illustrating the relevant part of an entailment by automatically hiding the axiomatic statements. In RDFS there are around two hundreds of axiomatic statements used by the RDFS engine in the graph store database – which you do not want to see every time.

Start demo
in new tab
Quick Start

  1. Type your SPARQL endpoint repository URL and the relative user credentials (if needed)
  2. Click on visualize to see the graph
  3. Hide/Show statements
  4. Change the graph by adding / deleting nodes (requires write rights on the repository)
Details

  1. If the repository user has write rights, you will get also node and arc menues in order to add/delete statements.
  2. In the RDFS view, individuals are orange, classes lilac, hierarchical properties lilac triangles.
  3. Start the RDFS statement view to see RDFS statements
  4. The view RDFS axioms shows all material in your repository, included RDFS axiomatic statements
  5. A concrete example of what you could do can be found in this article.