Skip to content

Add key mappingRelation to isAbout and valueReference#307

Open
Ludee wants to merge 24 commits intodevelopfrom
feature-302-mapping-relation
Open

Add key mappingRelation to isAbout and valueReference#307
Ludee wants to merge 24 commits intodevelopfrom
feature-302-mapping-relation

Conversation

@Ludee
Copy link
Copy Markdown
Member

@Ludee Ludee commented Apr 9, 2026

Summary of the discussion

Improve the ontology annotation with matching from SKOS.
SKOS offers standardized terms:
https://www.w3.org/TR/skos-reference/#mapping

Type of change (CHANGELOG.md)

Added

  • Add mappingRelation to isAbout (#307)
  • Add mappingRelation to valueReference (#307)

Workflow checklist

Automation

Closes #302 / Part of #296

PR-Assignee

  • 🐙 Follow the workflow in CONTRIBUTING.md
  • 📝 Update the CHANGELOG.md
  • 📙 Update the documentation
  • 🐙 Assign a reviewer to the PR

Reviewer

  • 🐙 Follow the Reviewer Guidelines
  • 🐙 Provided feedback and show sufficient appreciation for the work done

@Ludee Ludee requested review from jh-RLI and stap-m April 9, 2026 21:03
@Ludee Ludee self-assigned this Apr 9, 2026
@Ludee Ludee added priority: critical 🔥 Critical priority part: backend 🧱 Backend component type: feature 🛠 New feature or request labels Apr 9, 2026
@Cpprentice
Copy link
Copy Markdown

I was wondering what we get out of the JSON-LD semantically if we use skos like this. I think currently we get a triple that says our isAbout blank object has a skos:mappingRelation to a string literal. What we want to express with that is rather that the value in the string should be treated as the actual predicate of that triple towards the isAbout term placed in "@id".

So semantically we should rather replace the isAbout property with the actual names of the skos properties:
So instead of :

{
    "isAbout": [
        { "@id": "http://other.stuff", "label": "troll"},
        { "@id": "http://more.stuff"}
    ]
}
{
    "exactMatch": [
        { "@id": "http://other.stuff", "label": "troll"}
    ],
    "narrowMatch": [
        { "@id": "http://more.stuff"}
    ]
}

But that would probably affect everything that relies on isAbout. So I am not sure this is wise (though semantically correct).

@jh-RLI
Copy link
Copy Markdown
Contributor

jh-RLI commented Apr 10, 2026

We can still implement these changes in the new version. isAbout, etc., are mainly used in the SemanticMapping for Ontop; so it should certainly be feasible to adapt the relevant functions to use SKOS terms. We won’t break anything right away due to the versioning, but I agree that this will increase the effort required to implement the new Oemetadata version in the OEP and the tools.

@Ludee
Copy link
Copy Markdown
Member Author

Ludee commented Apr 10, 2026

That is a good point.
The information is the same, but it would break all existing mechanism.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

part: backend 🧱 Backend component priority: critical 🔥 Critical priority type: feature 🛠 New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve the ontology annotation with matching from SKOS

3 participants