Aligning efforts in LD schema / ontology design + adoption

At that time (Nov. '18), a lot of the Solid client infrastucture that now exists was not there.

There was a lot of interest at the time, @tag42git, I see. It is a hard problem to tackle.

On the one hand I would like to have central entrypoints to dig down into what is available, but on the other hand I don’t like centralized initiatives (in the related topic CDN like Cloudflare are mentioned, but these are (becoming) monopolists and/or trackers). There is @tuelsch experiment with search in WhatTheOntology as an option, and mention of decentralized approaches.


Tangential…

I am interested in terminusdb.com and they support OWL to define database schema’s, which are saved as RDF, can be edited as turtle and queried as JSON-LD.

They recognize the problems of OWL (which led to its failure in adoption) in Graph Fundamentals Part 3: Graph Schema Languages:

What really killed OWL was the impracticality and idealism of the academics. They wanted a language that was capable of usefully describing an ‘open world’

[…]

Open world reasoning such as this is a very interesting and commendable — and sometimes highly useful — field. However, if I have a RDF graph of my own and I want to control and reason about its contents and structure in isolation from whatever else is out there, this is a decidedly closed world problem. It turns out that it is essentially impossible to do this through open world reasoning. If my database refers to a record that does not exist in my database (i.e a breach of referential integrity) then it does not matter whatever else exists in the world, that reference is wrong and I want to know about it. I most especially do not want my reasoning engine to decide that this record could exist somewhere else in the world — if it is not in my database it does not exist and I know this. If I cannot manage my own database and make sure that it is not full of errors, then it does not matter what else exists in the world because my house is built on a pile of mud. I can’t even control what’s in my own bloody database that I control entirely, who am I kidding that I can start reasoning about the universe beyond.

They are not just bashing the efforts that went into all the standardization activity, but take a more down-to-earth approach:

Nevertheless, it is important to recognise that, hidden in all the nonsense, there are some exceptionally good ideas — triples, URL identifiers and OWL itself are all tremendously good ideas in essence and nothing else out there comes close.

From @luke on terminus forum:

For schema design, TerminusDB uses the OWL language with two modifications to make it suitable as a schema language. Namely, we dispense with the open world interpretation and insist on the unique name assumption. This provides us with a rich modelling language which can provide constraints on the allowable shapes in the graph. We really support OWL as it is logically expressive.

So if I adopt TerminusDB I’ll be using Protege (probably) and create my own OWL schema’s as the basis for application data models, and it is at this level I would be interested to see what others are using / what are standard constructs.

In that regard VOWL as mentioned by @pheyvaer looks interesting as a way to visualize, and the (javascript) projects are still maintained (though visualdataweb.org itself isn’t). I like the clarity of the visualization, instead of things that look like this.

Web-VOWL

LD-VOWL

But this is very important I think if your database is the real world. If you want to reason about poverty and why there is poverty, then you can’t control the database. A database on that subject under someone’s control would be less useful. The open world assumption is very important because it is an open world. It’s a muddy messy shared world.
But there are many cases where you do need to deal with pieces of it as a closed world under your control and that’s where data shapes come in. They allow you to work in isolation from the muddy mess when you need to.

Do you have a good low-barrier intro on Data Shapes and how it fits into this concept? Very interested. The closed world 2 open world transition process is very important eventually.

But for me what is first and foremost priority is that I have my own application domains under control while elaborating functionality, start with minimum viable product and build out from there. When I mentioned ‘be on the same page as much as possible’ that last bit is important to keep things practical. The muddy, messy world ontologies are muddy and messy in their interpretations, and I (and I presume others too) don’t want to be stuck in analysis paralysis or utopic visions of interoperability that are many years away from any form of realization.

This is a great book and it’s online.

https://book.validatingrdf.com/

Chapter 1 is a great intro. I will look for more.

For analysis paralysis, yeah I hear you. Building shared things takes longer but it’s worth it.

1 Like

This is a gold mine of insights: Design Issues for the Web
https://www.w3.org/DesignIssues/

and from in there you might find this interesting: Cultures and Boundaries
https://www.w3.org/DesignIssues/Culture.html

Here are some links for shapes:

Shape Expressions Primer
https://shex.io/shex-primer/

Shape Expression Vocabulary
https://www.w3.org/ns/shex#

ShapeMap Structure and Language
http://shex.io/shape-map/

RDFShape: RDF Playground
https://shaclex.herokuapp.com/

Very nice, thank you @tag42git! We were about to cross-post… here’s what I was preparing:


As a very good follow-up to the TerminusDB Linked Data article referenced above I highly recommend reading @RubenVerborgh’s paper:

Ultimately, all of above indicates a need to guard ourselves from conducting research in a vacuum. Not all science requires practical purposes, but many of the research problems we study will never actually occur if the Semantic Web does not take off any further, so we should at least consider—for our own sake—prioritizing those urgent problems that are blockers to its adoption. […]

Converting technological research into digestible chunks for developers is considered trivial and outside of our scientific duty […] Yet everything that reeks of engineering is shunned. However, most researchers in our community have not built a single Semantic Web app, so we cannot pretend to understand the insides of the 20% [where practical application occurs]. […]

Not only do many of us lack Semantic Web experience as app developers, our even bigger gap is experience as users. […]

[In conclusion] Turns out that the engineers and developers have moved on and are creating their own solutions, bypassing many of the lessons we already learned, because we stubbornly refused to acknowledge the amount of research needed to turn our theories into practice. As we were not ready for the Web, more pragmatic people started taking over.

So referring back to the need for a ‘fresh and modern inititiative’ I think at least some criteria should be:

  • Targeted towards practical real-world application
  • Developer-friendly, easily grasped and adopted (without an entire semantic web as precondition)
  • User-oriented, related to real-world domain models (and preferably bounded contexts thereof)
1 Like

Not a Solid app, but Linked Open Vocabularies looks impressive. I plan to use is so at some point to help understand what is in datasets based on the ontologies they use:

2 Likes

It looks like they use java and sparql to put ontologies in a mongo database and then have an api to return terms and persons or organizations in the ontologies. Looks like there are 716 ontologies. The code is from 4 years ago so I don’t know how often or when they update the database, or if they look for new ontologies or if the list is never changed.

It would be great to have it updated in an adaptable way and the vocabs themselves be in a triple store on a pod or in SemApps. A dynamic cache of ontologies (or shapes or forms) that you could analyze or update in custom ways, and work on collaboratively.

1 Like

Also a nice collection w3id.org (see the repo for all redirections)

1 Like

They are responsive on twitter so you could ask.

Do you mean the creators (Pierre-Yves Vandenbussche and Bernard Vatant) or where it’s hosted (at UPM), or is there a Twitter account for LOV? I never use Twitter so I’m not very good at searching it.

Here you go: https://twitter.com/LOVocabularies

1 Like

Hello @tag42git . Thanks for your email. I am one of the maintaner of LOV with Maria and Pierre-Yves. Nice also to be here :slight_smile:

1 Like

Yes, the code of LOV is almost stable, except for minor features, because the DEVers are also busy elsewhere. However, we add an average 2 or 3 vocabulary per week, after a small review by the curators. How can we help here to have a SolidLoV App? Happy to help if needed.

1 Like

Hi @gatemezing!
Happy to see you here! Thanks for your prompt reply! I don’t know if you’re familiar with the Solid project, but it is an effort to redecentralize the web based on Pods, which are personal storage spaces which are sort of like Linked Data Platforms which are privacy protected with Web Access Control settings.
I wrote to see if there is possibly any interest on your part in participating in a possible revival here of the idea of an ontology hub, that is, with an implementation of Linked Open Vocabularies based on Solid.
Or any other efforts or implementations having to do with Solid that you guys may be interested in.

That is fantastic! I am hoping also to interest others here, because I think there is a lot of interest in this topic.

I started a new thread on the topic :slight_smile:

continued at Volunteers needed for SolidLoV App

@tag42git I just created a new topic on the SocialHub forum related to this thread, i.e. about arbitrary Linked Data vocab support on the Fediverse. I also mentioned SolidLoV app plans.

I was triggered by the interesting approach of the go-fed ActivityPub library that supports extensions defined as JSON-LD vocabularies using a subset of OWL2 Web Ontology Language. Go-fed uses these as input for codegen to create strongly-typed language support in Go.

Some very cool ideas in go-fed. For those interested I recommend watching the APConf video: Go-Fed: Past, Present, and Future.

(OT: @happybeing, the end of the video also addresses extending AP to p2p environments - an area you are intested in - and also using different transports than HTTP like SSB)

2 Likes

Vocabularies are definitely important, and any boundary between linked data vocabularies and natural language vocabularies is ultimately an artificial one, so the processes of discovery and maintenance might be similar.

An interesting thing to read, although its specific to English, is https://en.wikipedia.org/wiki/Politics_and_the_English_Language. Examples of new terms invented in English just recently: “woke”, “bling”, “microagression”, “truthiness”, and more recently: “great reset”.

How are these terms chosen, used, evolved, discarded? This is how language and culture evolves and its probably similar with coding languages, ontologies that are supposedly purely technical, and the web itself.

There won’t be a final perfect state for the giant global graph (hopefully not anyway). It will always be argued over and there will always be many versions of branches. Its social, so a schema finding/building/maintaining app also has to be social.

If the first step is thinking about relationships between concepts, then probably
there will be social groups formed around vocabularies which are interested in those relationships or use them already.