OpenEnergyPlatform / OpenEnergyPlatform/oemetadata
foaf:logo cannot be used for two different properies inside the same schema object
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
- I am aware of the workflow in CONTRIBUTING.md
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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