OpenEnergyPlatform / OpenEnergyPlatform/oemetadata

foaf:logo cannot be used for two different properies inside the same schema object

Open
#317 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
26
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Description of the issue

I have been testing the conversion of OEMetadata to and from RDF data, and have realized that the use of the foaf:logo predicate currently is ambiguous in the Context object.

There are the properties fundingAgencyLogo and publisherLogoright next to each other, both using the same predicate.

Which when serialized to RDF results in something like this:

[] rdf:type Context ;
   foaf:logo <url_of_publisher> ;
   foaf:logo <url_of_funding_agency> .

Semantic wise there is no possibility to distinguish between the two logos and therefore loading the values back into the correct properties is not possible.

Ideas of solution

The most simple fix would be to use different predicates for the two properties. The best fit probably is schema:logo for one of them.

An alternative solution is to create individual objects for funder and publisher and assign the predicate inside the new objects.

I would prefer the first solution for now as it is only "minimal invasive".

Context and Environment

  • Version used: 2.0.4
  • Operating system: /
  • Environment setup and (python) version: /

Workflow checklist

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Context object and the fundingAgencyLogo and publisherLogo definitions, then trace their RDF serialization and deserialization. Confirm how both properties currently emit foaf:logo, choose distinct predicates as described in the issue, and verify that each logo round-trips back to the correct property.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.