Tutorial:
[only for the desktop version] 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 |
Details
|