In part two in this ever-expanding blog about interoperability I introduced the smallest unit of knowledge and the key to interoperability in a semantic network, the ‘triple’. This, the third article, looks at the ‘nuts and bolts’ of the triple and considers how machines read them.
Last time we looked a simple triple example describing the relationship ‘Bob knows Alice’.
Why Bob and Alice? To explain, Bob and Alice are characters from a 1969 movie called ‘Bob & Carol & Ted & Alice’. The movie was a critical and commercial success, and consequently, the characters are traditionally used to illustrate human-human and human-computer interactions, especially in cryptographic exchanges. Anyway, back to the triple, you may ask: “what is inside it”?
A real-life ‘Bob knows Alice’ triple is composed of three Universal Resource Indicators (URIs). The URL address on the navigation bar of your browser is a form of URI. The following example shows how a machine-readable triple may look if Bob and Alice work in the same hospital.
It is clear from the above example that a triple is just three URIs that point, describe and name resources on the Semantic Web. We can see that Bob and Alice work in the same hospital. Bob works in the emergency unit and Alice works in the surgical unit. The triple may be linked to further resources that include Bob and Alice’s addresses, employment history, education level and role in the hospital. So, how do machines, which don’t like surprises, understand the triple? And how do they know what ‘knows’ means?
Triples, like the one above, are written in a rigid and predictable Resource Description Framework (RDF). RDF evolved from the eXtensible Markup Language (XML), another rigid and predictable framework. The predicate URI in the preceding triple contains the word ‘knows’ which delineates Bob and Alice’s relationship. The word ‘knows’ is a standard in a vocabulary of human relationship predicates called ‘FOAF’
The Friend-Of-A-Friend (FOAF) vocabulary
The FOAF vocabulary provides a collection of basic predicates that can be used in triples to describe people’s activities. For example, the ‘knows’ predicate in the ‘Bob knows Alice’ triple points to the ‘knows’ standard in the FOAF vocabulary which is defined in the following specification:
knows – A person known by this person (indicating some level of reciprocated interaction between the parties).
Domain: Having this property implies being a person
Range: Every value of this property is a person.
Vocabularies are one solution to interoperability on the Semantic Web. In the Semantic Web context, interoperability is defined as an agreement between the sender and receiver, usually two dissimilar systems, that any communications between them is understood by both parties.
Predicate vocabularies provide predicates whose meaning have reached consensus, and so, facilitate interoperability by ensuring that everyone using these predicates knows that they are self-descriptive, understandable and standardised to both parties. The Semantic Web is flexible, an ontology designer may invent his/her own ‘in house’ predicate vocabulary or use standard predicates in the FOAF global vocabulary. Either way, using a vocabulary’s predicates in a triple ensures that the triple is linked to a standard peer reviewed specification. So basically, you can connect two dissimilar systems because the predicate in the triple is a known and understandable standard which all parties in the communication agree on.
The next blog I will introduce a real ontology that was drawn by a front-line nurse to describe her surgical unit ‘reality’.