# ODapps: Ontology Driven Apps

**URL:** <https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385>\
**Category:** Use Solid\
**Created:** [August 15, 2020, 5:28am UTC](https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385 "2020-08-15T05:28:05Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![aschrijver](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/aschrijver/32/463_2.png) [@aschrijver](https://forum.solidproject.org/u/aschrijver)\
**Post date:** [August 15, 2020, 5:28am UTC](https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385/1 "2020-08-15T05:28:05Z")

</div>

I just found this great paper (thanks [Johanna Kappel](https://www.linkedin.com/in/kappelmeister/)) introducing ODapps, or ontology-driven apps, as a new paradigm for user apps.

Listing the benefits from this approach, taken from the article:

> Perhaps now, with the resurgent interest in knowledge graphs, we can finally see our way clear to a suite of semantic approaches that promise a revolution in software design practices and the democratization of information technologies. Through the ODapp approach, we believe that customers can see:
> 
> - **Reduced development times** — producing software artifacts that are closer to how we think, combined with reuse and automation that enables applications to be developed more quickly
> - **Re-use** — abstract/general notions can be used to instantiate more concrete/specific notions, allowing more reuse
> - **Increased reliability** — formal constructs with automation reduces human error
> - **Decreased maintenance costs** — increased reliability and the use of automation to convert models to executable code reduces errors. A formal link between the models and the code makes software easier to comprehend and thus maintain.
> 
> [_Additional_] benefits for ontology-based approaches not claimed by other methodologies:
> 
> - **Reduced conceptual gap** — application developers can interact with the tools in a way that is closer to their thinking
> - **Facilitate automation** — formal structures are amenable to automated reasoning, reducing the load on the human, and
> - **Agility/flexibility** — ontology-driven information systems are more flexible, because you can more easily and reliably make changes in the model than in code.

> **[Combining Knowledge Graphs and Ontologies for Dynamic Apps](https://www.mkbergman.com/2267/combining-knowledge-graphs-and-ontologies-for-dynamic-apps/)**
>
> When used for KR, we can treat the terms 'knowledge graph' and 'ontology' as interchangeable. But ontologies also have a broader use as specifications for dynamic, ontology-driven applications, a distinction this article emphasizes.

I think this comes very close to the concept that @happybeing referred to earlier in [Building an app out of RDF](http://forum.solidproject.org/t/building-an-app-out-of-rdf/2345) and also this will be interesting to @pukkamustard’s [OpenEngiadina](https://openengiadina.net/) that aims to combine fediverse (ActivityPub) with the full power of Linked Data.

Also [@cjslep](https://github.com/cjslep) the developer of [Go-Fed](https://go-fed.org/) - the ActivityPub library written in Go - might be interested. The approach that go-fed takes is that at compile-time it auto-generates complete Go sourcecode based on an OWL definition of any activitypub extension (and the core specifications itself).

( **Edit** : Notified the Fediverse with a heads up to `@cjslep` in [this toot](https://mastodon.social/web/statuses/104691780582461235))

( **Edit2** : I added the article link to a new ‘Ontologies’ section on the [delightful-linked-data](https://codeberg.org/teaserbot-labs/delightful-linked-data) curated list. See [announcement](http://forum.solidproject.org/t/delightful-linked-data-curated-list-for-linked-data-developers/3365) here)

---

<div class="post-metadata">

**Author:** ![namedgraph](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/namedgraph/32/1929_2.png) [@namedgraph](https://forum.solidproject.org/u/namedgraph)\
**Post date:** [August 19, 2020, 9:37am UTC](https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385/2 "2020-08-19T09:37:54Z")

</div>

@aschrijver please take a look at [LinkedDataHub](https://atomgraph.github.io/LinkedDataHub/), our ontology-driven Knowledge Graph management system.

An article on this approach: [Linked Data Templates: Ontology-driven approach to read-write Linked Data](https://xmllondon.com/2016/xmllondon-2016-proceedings.pdf#page=50).

---

<div class="post-metadata">

**Author:** ![aschrijver](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/aschrijver/32/463_2.png) [@aschrijver](https://forum.solidproject.org/u/aschrijver)\
**Post date:** [August 19, 2020, 10:03am UTC](https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385/3 "2020-08-19T10:03:12Z")

</div>

Oww, this is very nice looking application. Thanks for the heads up, and know that I have you [staged](https://codeberg.org/teaserbot-labs/delightful-linked-data/issues/2) for inclusion on delightful-linked-data 😃

---

<div class="post-metadata">

**Author:** ![aschrijver](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/aschrijver/32/463_2.png) [@aschrijver](https://forum.solidproject.org/u/aschrijver)\
**Post date:** [August 19, 2020, 10:24am UTC](https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385/4 "2020-08-19T10:24:34Z")

</div>

@namedgraph I am facilitator of [Humane Tech Community](https://community.humanetech.com/), big proponent of humanetech, decentralized web, and FOSS freed from Big Tech. There’s some improvements to be made in your project, by getting rid of your Google dependencies. And it can give you added benefits in terms of using open linked data based services.

One of our community members did that (except for the ads, which can be opted-out) and switched to OpenStreetMap for his companies’ service. His product is [MapCarta](https://mapcarta.com) and has a bunch of open service integrations to create the site.

---

<div class="post-metadata">

**Author:** ![namedgraph](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/namedgraph/32/1929_2.png) [@namedgraph](https://forum.solidproject.org/u/namedgraph)\
**Post date:** [August 19, 2020, 12:08pm UTC](https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385/5 "2020-08-19T12:08:29Z")

</div>

@aschrijver do you know this page? [https://github.com/semantalytics/awesome-semantic-web](https://github.com/semantalytics/awesome-semantic-web)

---

<div class="post-metadata">

**Author:** ![aschrijver](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/aschrijver/32/463_2.png) [@aschrijver](https://forum.solidproject.org/u/aschrijver)\
**Post date:** [August 19, 2020, 3:55pm UTC](https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385/6 "2020-08-19T15:55:28Z")

</div>

Yes, I am. It is a great (long) list. I want to make the delightful list more relevant to current linked data activities (remove 5yr unmaintained entries), web development (above academic world) and compliant to delightful project rules (FOSS-only, open data, open science). I will also give it a twist towards (ActivityPub/JSON-LD) Fediverse applications, which are [starting to diversify](https://git.feneas.org/feneas/fediverse/-/wikis/watchlist-for-activitypub-apps) beyond microblogging more and more.

---

<div class="post-metadata">

**Author:** ![walter.almeida](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/walter.almeida/32/1974_2.png) [@walter.almeida](https://forum.solidproject.org/u/walter.almeida)\
**Post date:** [August 19, 2020, 4:21pm UTC](https://forum.solidproject.org/t/odapps-ontology-driven-apps/3385/7 "2020-08-19T16:21:09Z")

</div>

Thank you for this share @aschrijver,

On the topic of leveraging ontologies, I have finished an integration of a SPARQL end point data source to the low-code platform [Generative Objects](https://www.generativeobjects.com). And I tested it on DBPedia ontologies.

The idea is accelerate the creation of applications using ontologies by modeling data, business rules and UI and automatically generating code.

You can check there for a demonstration of it :

> **[Low-code development project for the rapid modeling and generation of...](https://forum.dbpedia.org/t/low-code-development-project-for-the-rapid-modeling-and-generation-of-applications-making-use-of-dbpedia/676)**
>
> Hello everyone ! I am Walter Almeida, the creator of the low code development platform Generative Objects that I am now open sourcing and that I have been building over the last 11 years. My intention is to participate to the emergence of a more...

An improvment to add is the capability to infer a full ontology from the ontology description, so that there would be no need to model data, just select which entities and fields from which ontologies to connect to.

I am now finalizing also a connector to SOLID pods, to automate the creation of SOLID applications, and I will share soon about it. By combining the two, we could then create very fast, without writing a line of code, Solid applications making use of ontologies and connecting to linked data sources.
