-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Which real use cases are there for RDF/OWL ontologies?
That's not a trick-question and I am very interested in any feedback. I am asking it myself lately, after all the years I become more and more unsure, why someone should bother with all the headaches, overhead etc. to run a RDF stack (technologies, languages, specs, ...). If you take into consideration the amount of available systems, services and languages to handle a certain use case (e.g. writing a service), its hard to provide a certain set of "parameters" for which most of the developers would say, "yes, RDF-based ontologies make sense here".
I revised this post multiple times, because this is a difficult topic. RDF/OWL ontologies are related to at least the fields of Computer Science (Logics, Software Engineering, Data Structures, Databases, ...) and Knowledge Engineering/Organization (e.g. terminlogies, taxonomies, open- vs. closed world approaches). Because of the complexity, which is also mentioned in other issues here, its often more than just a RDF file downloaded from the web and used inside a program. People need to know a lot about RDF technologies to get something out of it.
Before I continue, here is what I mean with an RDF/OWL ontology: Basically a document which is written in any OWL 1/2 variant (such as OWL 2 EL) or is a RDF file (in a common serialization) containing a few class/property definitions. Commonly known are FOAF or SKOS, but this also includes very specialized ontologies such as https://bioportal.bioontology.org/ontologies/PDRO. In addition, I refer to the "Informal Definition 1" on page 2 of the following publication of Fabian Neuhaus: What is an Ontology? (2018).
Here are the use cases I've gathered so far over the years:
- Establish/Increase Interoperability: e.g. create a terminology for a domain which a team (of experts) has to use
- Data integration: use ontology to map two or more data "worlds", which have different meaning/terminology
- Allow machines to "understand" data and services (whatever that means)
- Information exchange: improves information exchange between systems by providing a standardized terminology/vocabulary/....
- Data Analysis: enrich data with more data to get deeper insights into your data
- Reuse information/knowledge: use the same "knowledge" in a web service as well in an app (here is a paper about this topic, "Developing Consistent and Modular Software Models with Ontologies", https://www.researchgate.net/publication/221026467_Developing_Consistent_and_Modular_Software_Models_with_Ontologies)
...
I am pretty sure, there are plenty more to add. Reading these and others, I sometimes feel like reading the latest whitepaper of some company trying to sell me something. "Ontologies can be used for everything!", is what I understand. Writing domain knowledge or facts as source code/database models seems weird/contrary at first, but its common practise and works to some degree. To give this up (at least partly) and switch to a RDF ontology there must be big benefit in the end.