2 - RDF Modelling and Vocabulary Reuse

Objectives
This week I continue to improve my understanding of RDF. I use the previous mentioned sources, as well as 3WC and online material.
Learn about:
- Vocabulary reuse
- Namespaces
- Interoperability
- Domain vocabularies
RDF is a W3C standard for representing and exchanging structured, machine-readable data on the web, using a graph-based model to describe resources and their relationships.
What is RDF modelling:
A way to represent and organise data in a structured manner. As we discussed last week, RDF uses statements consisting of triples. RDF modelling is the process of representing entities, their properties, and relationships as RDF triples, thereby creating a graph describing some domain of interest.
It can also consist of meta data that describes how data is organised in the RDF model. The purpose is to organise and encode data in such a way that computers can understand them. There are several standards in use to ensure a that rdf data is handled and modelled in a consistent way.
Vocabularies and ontologies provide terms and semantics.
For example:
ex:maria a foaf:Person ;
foaf:name "Maria Rossi" ;
ex:worksAt ex:organisation3 .
Vocabulary reuse
Let’s first try to understand what vocabularies are in the context of RDF. A vocabulary describes the use of properties and classes in RDF data (3WC). This collection of terms can be used to describe resources in an RDF graph.
The reason for reusing existing vocabularies is that developers, data scientists, or others who have worked with RDF before are more likely to understand and work with the data. The terms already have a shared meaning, which makes it easier to exchange and combine data. The disadvantage is that popular shared vocabularies are often quite generic by design and may not cover the specific needs of a particular domain. Therefore, it makes sense to reuse existing terms when they accurately describe what you mean, and extend them when necessary instead of creating everything from scratch. (https://medium.com/the-national-archives-digital/reusing-standard-rdf-vocabularies-part-1-5a9bbfa58b85)
Imagine two cultural organisations:
museum1 ex:hasName "Louvre" .
museum2 ex:hasName "Rijksmuseum" .
versus:
museum1 schema:name "Louvre" .
museum2 schema:name "Rijksmuseum" .
If both use schema:name, another dataset can much more easily understand and query both datasets.
FOAF, Schema.org, Dublin Core and SKOS are all RDF vocabularies used to describe things on the web, but they focus on different domains and overlap in complementary ways.
- Schema.org: Used across the web to describe everyday things like products, events, and organisations.
- FOAF (Friend of a Friend): Used to describe people, their profiles, and how they relate to other people.
- Dublin Core: Used to describe digital and physical documents, books, and media files.
- SKOS: Provides terms for describing concepts and knowledge organisation systems such as thesauri, taxonomies and controlled vocabularies.
Namespaces
The IRIs in an RDF vocabulary often begin with a common substring known as a namespace IRI. Some namespace IRIs are associated by convention with a short name known as a namespace prefix.
A namespace IRI is commonly used as the base for the IRIs of terms belonging to a vocabulary. A namespace prefix is a convenient abbreviation for that IRI in RDF serialisations such as Turtle.
Some examples:
@prefix schema: <https://schema.org/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix ex: <https://example.org/> .
Interoperability
Interoperability is a characteristic of a product or system to work with other products or systems.
In the case of RDF Interoperability is the ability of different systems and datasets to exchange and interpret data consistently. RDF supports interoperability by providing a common data model and allowing datasets to use shared, globally identifiable vocabulary terms.
As RDF has developed over time, variations in syntax, processing assumptions, and supported features have the potential to create inconsistencies between implementations. W3C aims to mitigate these risks by outlining shared practices for maintaining consistent behaviour.
RDF
↓
common graph/data model
↓
shared vocabularies
↓
shared terms and meanings
↓
interoperability
Domain vocabularies
Domain vocabularies in RDF (Resource Description Framework) are specialised sets of predefined classes and properties used to describe data and relationships for a specific subject area or industry. The important idea is specialisation.
Domain vocabulary describes a vocabulary whose terms are specifically concerned with a particular subject/domain. A domain vocabulary can also be a shared vocabulary.
A general vocabulary like Schema.org won’t necessarily capture all the semantics you need. A domain vocabulary such as CIDOC CRM provides much richer concepts for cultural heritage.
And you can combine them:
ex:exhibition1 a crm:E7_Activity ;
schema:name "Italian Renaissance" ;
dcterms:description "..." .
Here you’re reusing multiple shared vocabularies, including a domain-specific shared vocabulary.
Let’s have a closer look at four shared vocabularies:
SKOS
Simple Knowledge Organization System (SKOS) provides a standard way to represent knowledge organisation systems using the Resource Description Framework (RDF). Encoding this information in RDF allows it to be passed between computer applications in an interoperable way.
SKOS is a data model for representation of thesauri, classification schemes, taxonomies, subject-heading systems, or any other type of structured controlled vocabulary. SKOS is part of the Semantic Web family of standards built upon RDF and RDFS, and its main objective is to enable easy publication and use of such vocabularies as linked data.
Dublin Core Terms
Dublin Core is an RDFS Schema (RDFS) ontology for metadata management for electronic resources. It is commonly used in the digital and printed publication domain for creative works. It contains concepts like BibliographicResource and Dataset and properties like author, license, language, audience. (Serles)
DCT is a vocabulary that has been around since 2008 and its use is ubiquitous. Even if somehow the user was not aware of Dublin Core, the naming of the terms is straight-forward. One can likely infer the meaning of dct:identifier as holding an identifier for the resource, and dct:description as holding a description of the resource.
Schema.org
Schema.org is a reference website that publishes documentation and guidelines for using structured data mark-up on web-pages (in the form of microdata, RDFa or JSON-LD). Its main objective is to standardise HTML tags to be used by webmasters for creating rich results (displayed as visual data or infographic tables on search engine results) about a certain topic of interest. It is a part of the semantic web project, which aims to make document mark-up codes more readable and meaningful to both humans and machines.
Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond.
FOAF
The FOAF (“Friend of a Friend”) project is a community driven effort to define an RDF vocabulary for expressing metadata about people, and their interests, relationships and activities.
FOAF is a machine-readable ontology describing persons, their activities and their relations to other people and objects. Anyone can use FOAF to describe themselves. FOAF allows groups of people to describe social networks without the need for a centralised database.
FOAF is a descriptive vocabulary expressed using the Resource Description Framework (RDF) and the Web Ontology Language (OWL).