OpenEnergyPlatform / oeplatform

Repository for the code of the Open Energy Platform (OEP) website. The OEP provides an interface to the Open Energy Family
http://openenergyplatform.org/
GNU Affero General Public License v3.0
61 stars 19 forks source link

Check for possible inconsistencies in OEKG #1505

Open adelmemariani opened 6 months ago

adelmemariani commented 6 months ago

Description of the issue

Building an ontology and a knowledge graph are long-term tasks that need continuous refinement. The OEKG mainly uses the OEO for its schema. Also, it uses other ontologies. Some relations in the OEKG do not exist yet in the OEO (for example: "has framework"). Therefore, we need to check for possible inconsistencies in the OEKG. We need to make decisions about adding the missing relations to the OEO or utilizing other ontologies.

Ideas of solution

  1. Check if the entity types and relations within the OEKG are in accordance with the desired schema uploaded here.
  2. Prepare a list of inconsistencies and discuss the solutions.

Workflow checklist

h-spinde commented 6 months ago

The following predicates are used in the OEKG as indicated in the diagram:

Name Exists in Ontology?
For study:
OEO: has model yes
OEO: has contact person yes
OEO: has author yes
DC: abstract yes
OEO: has framework no
DC: acronym no
OEO: based on sector division no
OEO: has scenario no
For scenario:
OEO: has scenario year yes
OEO: has interacting region yes
OEO: has study region yes
DC: abstract yes
OEO: has scenario descriptor no

Note: While "DC: acronym" does not exist, "OEO: acronym" does. Similarly, while "OEO: based on sector division" does not exist, "OEO: is based on" does. The triple including "has interacting region" is missing in the "update_factsheet" function.

The following predicates are used in the OEKG but do not appear in the diagram. Out of these, only "has funding source" exists in the OEO: has funding source, has_full_name, has_study_keyword, place_of_publication, link_to_study, date_of_publication, report_title, scenario_uuid

The predicate "OEO: has descriptor" exists only in the diagram, it is not being used in the OEKG (nor does it exist in the OEO).

The following is a list of instances where the OEKG and the diagram use different predicates in place of each other:

Diagram predicate Exists? OEKG predicate Exists?
For study:
DC: contributor yes OEO: has organization yes
DC: identifier yes OEKG: DOI exists in NPG ontology, not in OEO
OEO: covers technology no OEO: covers yes
For scenario:
OEO: is based on yes OEO: has output yes
OEO: input of yes OEO: has input yes
DC: acronym no RDFS: label yes

Note: Even though "DC: acronym" appears as both an attribute of Studies and of Scenarios in the diagram, in the OEKG it is only used for Studies, while Secanrios use "RDFS: label" instead.

adelmemariani commented 4 months ago

How about OEO["has_iri"]? This is a relation between a dataset and its URL on the OEP.

@h-spinde , you should also have look at this file for the relations within OEKG, and check if they exist in OEO.

h-spinde commented 4 months ago

Of the entities already listed above, the following are used in the linked file:

Additional entities that are used in views.py, but do not appear in the OEO are:

There is also an entity "OEO.OEO_0000050" being used which does not exist in the OEO. However, I assume this is merely a typo when referring to entity "OEO.OEO_00000508". Further, while "abstract" still exists in the IAO, the OEO only contains its superclass "document part".