The Semantic Web provides a means to link information on the web to each other and to things in real life in an interoperable way. Internationalized Resource Identifiers, of which URLs are a type, are used to identify nearly everything, and linked data makes it possible to visit those URLs to get more information about the things they represent. This has some very useful applications, especially in biobanking. Semantics was literally made for biomedical research, and here are four ways in which that relationship can help make biobanks better information resources:
1. Chances Are, You’re Already Using Some Semantics
There’s a long history between semantics and biomedicine, in fact, some of the oldest controlled vocabularies and ontologies come from biomedicine, and have been driving use cases in semantics since day one. If your biobanking software is using controlled vocabularies like SNOMED-CT, LOINC, ICD, NCI Thesaurus, or FMA, you’re already using semantics in your data. It’s locked away, and hard to take advantage of, but it is definitely already there.
It’s possible to unlock those semantics by mapping your data to semantic web technologies, like OWL and RDF. By doing so, it makes it possible to use your data, along with its built-in semantics, in ways that would otherwise be prohibitively expensive to do (see #4).
2. Semantics Frees Your Data From Code
This is more general, but there’s an axiom in data management: software ages like fish, but data ages like wine. Languages like OWL and RDF let data managers describe the data on its own terms, rather than by how it is used in any one application. Ontologies are, essentially, well-defined data models that provide a universal context for your data. Class membership in a relational database can be expressed as entries in a table, or columns with particular values, or by many other means. It is usually up to software to interpret those expressions.
When data is expressed in RDF and OWL, there is only one way to interpret the class membership property, rdf:type, and that is as membership in a class! This sort of clarity happens because OWL and RDF use Internationalized Resource Identifiers (IRIs) to describe classes, properties, and entities in your data. When the IRIs used are URLs that return information about those classes, properties, and entities, the data is Linked Data, and becomes self-describing.
A major advantage of this is that many biobanks can use the same ontologies to describe their biospecimens. This provides some additional benefits:
It makes it easy to interchange data between systems. Researchers can search multiple biobanks at once without needing to know the details of each system. If the biobank is using an RDF graph database behind the scenes, “easy” becomes trivial.
It’s extensible both up and down. Implementers do not need to adopt ontologies wholesale, but can simply use the parts that are useful. Similarly, biobank systems can extend their data models using other models they develop themselves or adopt from other organizations.
3. Provenance is Everywhere - Especially in Your Biobank!
Provenance is information about how something got to be the way it is. This sort of information is critical to biomedical research, as it can encompass a wide amount of information. Earlier this year, the World Wide Web Consortium, (W3C) released as a recommendation a provenance ontology called PROV-O that is intended to be used as a language for expressing provenance on the web. For some basics on using PROV-O, see my blog post on how newspapers can use it to cite their sources.
PROV-O is a fantastic example of how data managers and software developers can take advantage of general purpose ontologies. The core of PROV is very simple, and divides the world into entities and activities.Agents can be either entities or activities, but not all entities and activities are agents (this is actually a key feature of OWL, see #5, Doctors are patients too). Entities can be derived from one another, can be attributed to agents, and can be generated by and used in activities.
This core describes a significant amount of work that is done in biobanks, and as people perform work on biospecimens, it is possible to describe that work in terms of PROV-O. Work done in multiple biobanks, when described using PROV-O, can be compared and integrated easily because the mappings are already in place. Since this model has been defined in a global context (anyone can go and look up the definitions), it is much harder to misinterpret information that uses it.
When PROV-O is combined with other vocabularies that describe specific tissue types and other biomedical concepts, it becomes a ready-to-use biobanking information model that can also be used to describe experimental results, LIMS processing events, and maybe even patient records.
The basic entities and relations of PROV-o. image source www.w3c.org
4. Doctors are Patients Too
In Object Oriented Programming, when an object is made, it gets a particular class. If, for instance, one has a Patient class and a Physician class, it is very difficult to make an instance that is both a Patient and a Physician. In OWL and RDF, it’s trivial:
This is because OWL and RDF are expressed as graphs. What we are doing when we say the above is making a graph that looks like this:
That is, the entity DrJones has links that are labeled rdf:type to both the entities Physician and Patient. If there is nothing in the definitions of Physician and Patient that prohibits one from being the other, this is perfectly fine. The use of graphs is what makes it possible to combine data from multiple sources, as they are simply laid on top of each other. Further, graphs make it easy to talk about other graphs, such as specimen derivation trees, and make it easy to dynamically add new kinds of attributes and annotations on an as-needed basis.
Reasoning over graphs is what makes semantics pretty special - we can create rules that fill out things that are implied by other parts of the graph, for instance, if we say that DrJones has the patient Mr. Brown, we can infer that she is a Physician, simply by the fact that her role in that link is someone who has patients.
Semantics make it easier to understand our data and explain it to others. Embedding those semantics in RDF graph databases makes it easy to share and query that data. When we use ontologies like PROV-O to explain our data, we get a level of free interoperability and mutual understanding that can be very expensive and time consuming to produce through other means. I’ll be talking about other interesting uses of OWL and RDF Semantics in the future, so stay tuned.
- Jim McCusker