-
Notifications
You must be signed in to change notification settings - Fork 12
Ecoportal #91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Ecoportal #91
Changes from all commits
4ac6fc7
46c60bd
a11a720
58af30f
7cd7fcb
3b31e9f
bad9a27
bbdb9ae
e8a043b
5d73827
4bff22f
2e52c2a
6ad0ec4
389ad9e
eec8cc2
9e88940
19c8f42
1185b10
7a7b0ee
4a83460
102bce8
843fd73
dfa4f05
82c5c22
1c32b1c
e2f375d
95b167f
79bd8e8
25e9a2c
40a4481
a646afa
a3701f7
9b7c9de
14385a6
620f5c2
369181e
531bf85
707c539
b752cee
16a2ad0
e921e5e
472df7c
7a6d343
e249698
58395a3
c25e7b6
01a7085
af4deb3
3ed70b5
3e58f04
1fb0df3
aaf46d4
77704a8
b411bcc
b848ffd
3e5f2a8
29ff8fb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,7 @@ | ||
| Use of the {{ page.portal }} REST APIs requires an API key. The API key can be found in the Account Settings of logged in users. | ||
| To use of the {{ page.portal }} REST APIs an API key is required. The API key can be found in the Account Settings of logged in users(see Figure 46). | ||
|
|
||
|  | ||
|  | ||
| {: .text-center } | ||
|
|
||
| _Figure 46: How to retrieve your API key._ | ||
| {: .text-center } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,49 @@ | ||
| Use of the {{ page.portal }} REST APIs requires an API key. The API key can be found in the Account Settings of logged in users. | ||
| An API Key is required to access any API call. It can be provided in three ways: | ||
| - Using the API key query string parameter | ||
| ``` | ||
| #python code example | ||
| import requests | ||
| # example query string parameter on ontology media type: | ||
| # 'https://data.ecoportal.lifewatch.eu/{media types}/{acronym}?apikey=your api key' | ||
| res = requests.get('https://data.ecoportal.lifewatch.eu/ontologies/LUPO?apikey=7404e1c1-XXXX-XXXX-XXXX-XXXXXXXXXXX') | ||
| Ontology_name = res.json()["name"] | ||
| Ontology_id = res.json()["@id"] | ||
| print(Ontology_name, Ontology_id) | ||
| ``` | ||
| ``` | ||
| result : LifeWatch ERIC Upper Ontology https://data.ecoportal.lifewatch.eu/ontologies/LUPO | ||
| ``` | ||
|
|
||
|  | ||
| - Providing an authorization header: | ||
|
|
||
| 1. Using the api key query string parameter: `'https://{{include.resturl}}/{media types}/{acronym}?apikey=your api key'` | ||
| Authorization: apikey token=your_apikey | ||
|
|
||
| 2. Providing an Authorization header: `Authorization: apikey token=your_apikey` | ||
| ``` | ||
| #python code example | ||
| import urllib.request, urllib.error, urllib.parse | ||
| import json | ||
|
|
||
| 3. When using a web browser to explore the API, if you provide your API Key once using method 1, it will be stored in a cookie for subsequent requests. You can override this by providing a different API Key in a new call. | ||
| REST_URL = 'https://data.ecoportal.lifewatch.eu' | ||
| API_KEY = "Your API Key" | ||
|
|
||
| def get_json(url): | ||
| opener = urllib.request.build_opener() | ||
| opener.addheaders = [('Authorization', 'apikey token=' + API_KEY)] | ||
| return json.loads(opener.open(url).read()) | ||
|
|
||
|
|
||
| # https://data.ecoportal.lifewatch.eu/{media types}/{acronym} | ||
| resource = get_json(REST_URL + "/ontologies/LUPO") | ||
|
|
||
| # get a desired resource attribute like name and id | ||
| name = resource['name'] | ||
| id = resource['@id'] | ||
|
|
||
| print(name, id) | ||
| ``` | ||
|
|
||
| ``` | ||
| result : LifeWatch ERIC Upper Ontology https://data.ecoportal.lifewatch.eu/ontologies/LUPO | ||
| ``` | ||
|
|
||
| - When using a web browser to explore the API, if you provide your API key once using method 1, it will be stored in a cookie for subsequent requests. You can override this by providing a different API key in a new call. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,11 @@ | ||
| ## {{ page.portal }} Metadata Schema | ||
| The {{ page.portal }} Metadata Schema is built upon the Metadata Vocabulary for Ontology Description and Publication ([MOD 2.0](https://w3id.org/mod/2.0)). This comprehensive schema integrates various vocabularies, such as Dublin Core, OMV, DCAT, and VoID, and was introduced by [Dutta et al. 2017](http://dx.doi.org/10.1007/978-3-319-70863-8_17). Its primary purpose is to empower ontology developers to annotate and describe their ontologies, while also enabling ontology libraries to provide semantic descriptions of ontologies in the form of linked data. | ||
|
|
||
| {{ page.portal }} with other members of the OntoPortal Alliance has embraced a set of 106 elements, comprising classes and properties organised into distinct categories. Each metadata element is linked to a FAIR principle, adding a layer of semantic richness to the description. The assessment of metadata elements is facilitated through the O'FAIRe tool, ensuring a systematic evaluation of the ontology's Findability, Accessibility, Interoperability, and Reusability aspects. | ||
| {{ page.portal }} with other members of the OntoPortal Alliance has embraced a set of metadata elements, comprising classes and properties organised into distinct categories. Each metadata element is linked to a FAIR principle, adding a layer of semantic richness to the description. The assessment of metadata elements is facilitated through the O'FAIRe tool, ensuring a systematic evaluation of the ontology's Findability, Accessibility, Interoperability, and Reusability aspects. | ||
| The table below lists all the metadata fields used in EcoPortal, and the FAIR sub-principles to which they are associated for the computation of the FAIR score. | ||
|
|
||
| {{ page.portal }} administrators encourage the creators of semantic artefacts to compile the metadata fields by adding as much detail as possible to ensure the accurate communication of information to users and to be compliant to the FAIR principles when publishing a resource. | ||
| __Note__: The column Cardinality indicates the quantity constraints for the metadata field. The possible values are: | ||
| - 0-n = optional and repeatable; | ||
| - 0-1 = optional, but not repeatable; | ||
| - 1-n = mandatory and repeatable; | ||
| - 1 = mandatory, but not repeatable. |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| ### Give feedback on {{ page.atoms }} | ||
| {{ page.portal }} includes some community-oriented features such as: (ii) notes that can be attached in a forum-like mode to a specific artefact or class/concept, in order to discuss the ontology (its design, use, or evolution) or allow users to propose changes. (iii) change requests can be submitted, and in some cases directly transferred to external systems such as a GitHub issue tracker. | ||
| Administrators encourage the users to engage in giving feedback on {{ page.atoms }} since each input is valuable in developing and publishing community-approved artefacts. | ||
| ## Give feedback on semantic artefacts | ||
| {{ page.portal }} includes some community-oriented features in the [notes]({{ site.baseurl }}{% link docs/users-guide-docs/documentation/ecoportal/platform_overview/ontology_details.md %}) such as: (i) comments that can be attached in a forum-like mode to a specific artefact or class/concept, in order to discuss different specifications of the semantic artefact (its design, use, or evolution) or allow users to propose changes, and (ii) proposals that can be submitted within the portal. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| Administrators encourage the users to engage in giving feedback on semantic artefacts since each input is valuable in developing and publishing community-approved resources. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,5 @@ | ||
| ### SKOS Support | ||
| ## SKOS Support | ||
|
|
||
| **Support for SKOS vocabularies in {{page.portal}}** | ||
| {{ page.portal }} serves as a web-based portal designed for the access and exchange of {{include.atoms}}. The platform is capable of receiving {{include.atom}} submissions in OWL and OBO formats, as well as SKOS vocabularies containing specific constructs. This guide outlines the essential set of SKOS constructs required in a vocabulary for proper acceptance and handling within {{ page.portal }}. It is important to emphasise that the described SKOS constructs are specifically processed for vocabularies identified as SKOS during their submission to {{ page.portal }}. | ||
| ### Support for SKOS vocabularies in {{page.portal}} | ||
|
|
||
| {{ page.portal }} serves as a web-based portal designed for the access and exchange of semantic artefacts. The platform is capable of receiving semantic artefact submissions in OWL and OBO formats, as well as SKOS vocabularies containing specific constructs. This guide outlines the essential set of SKOS constructs required in a vocabulary for proper acceptance and handling within EcoPortal. It is important to emphasise that the described SKOS constructs are specifically processed for vocabularies identified as SKOS during their submission to {{ page.portal }}. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| **Hierarchy in SKOS vocabularies** | ||
| ### Hierarchy in SKOS vocabularies | ||
|
|
||
| The only semantic relationship in SKOS vocabularies that {{page.portal}} uses to construct and display concept hierarchies is the skos:broader property. | ||
| The only semantic relationship in SKOS vocabularies that EcoPortal uses to construct and display concept hierarchies is the skos:broader property. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. here we have to let the |
||
|
|
||
| ``` | ||
| ex:mammals rdf:type skos:Concept; | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,4 @@ | ||
| **Metrics data for SKOS vocabularies** | ||
| {{ page.portal }} employs the OWL API to parse all ontology and vocabulary submissions, including the computation of metric data. The OWL API interprets SKOS vocabularies as RDF files that encompass classes and instances. Following the SKOS Reference, concepts are identified as instances of owl:Class, consequently, they are counted as instances, also referred to as "individuals." | ||
| When examining metric tables within the {{ page.portal }} user interface, the "Number Of Individuals" value aligns with the count of concepts within a given SKOS vocabulary. | ||
| ### Metrics data for SKOS vocabularies | ||
|
|
||
| {{ page.portal }} employs the [OWL API](https://owlcs.github.io/owlapi/) to parse all ontology and vocabulary submissions, including the computation of metric data. The OWL API interprets SKOS vocabularies as RDF files that encompass classes and instances. Following the SKOS Reference, concepts are identified as instances of owl:Class, consequently, they are counted as instances, also referred to as "individuals". | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the local links in this section are showing |
||
| When examining [metric tables]({{ site.baseurl }}{% link docs/users-guide-docs/documentation/ecoportal/platform_overview/ontology_details.md %}) within the {{ page.portal }} user interface, the "Number Of Individuals" value aligns with the count of concepts within a given SKOS vocabulary. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,8 @@ | ||
| **Example of valid SKOS** | ||
| ### Example of valid SKOS | ||
|
|
||
| This example provides a simple illustration of the composition of a SKOS file that complies with the above constraints. | ||
| - **Example header**. The provided header establishes several common namespaces that could prove valuable. The final namespace is the one responsible for defining the specific SKOS vocabulary in question. Ideally, the IRI associated with the "myskosid" namespace should be a resolvable location pointing to the SKOS ontology. | ||
| ``` | ||
| - **Example header**. The provided header establishes several common namespaces that could prove valuable. The final namespace is the one responsible for defining the specific SKOS vocabulary in question. Ideally, the IRI associated with the "myskosid" namespace should be a resolvable location pointing to the SKOS semantic artefact. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. here use |
||
| ``` | ||
| <xml version="1.0" encoding="UTF-8"?> | ||
| <rdf:RDF | ||
| xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||
|
|
@@ -10,7 +11,7 @@ This example provides a simple illustration of the composition of a SKOS file th | |
| xmlns:dct="http://purl.org/dc/terms/" | ||
| xmlns:myskosid="https://example.org/ontologies/myskosontology/" > | ||
| ``` | ||
| - **Example {{ page.atom }} description**. In the rdf:type item, this namespace is declared as the ConceptScheme. It's important to note that the ConceptScheme doesn't necessarily have to match the ontology's namespace. Additional metadata examples are given as good practices in ontology metadata. While dct:creator doesn't necessarily need to be an ORCID ID, having a unique identifier is recommended for identifying the creator, whether an individual or organisation. This {{ page.atom }} comprises only two concepts (to be defined later), resulting in only two skos:hasTopConcept declarations. | ||
| - **Example {{ page.atom }} description**. In the rdf:type item, this namespace is declared as the ConceptScheme. It is important to note that the ConceptScheme doesn't necessarily have to match the semantic artefact namespace. Additional metadata examples are given as good practices in semantic artefact metadata curation. While dct:creator doesn't necessarily need to be an ORCID ID, having a unique identifier is recommended for identifying the creator, whether an individual or organisation. This semantic artefact comprises only two concepts (to be defined later), resulting in only two skos:hasTopConcept declarations. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same here use {{page.atom}} |
||
| ``` | ||
| <rdf:Description rdf:about="https://example.org/ontologies/myskosontology/"> | ||
| <rdfs:label xml:lang="en">Example SKOS ontology for {{ page.portal }}</rdfs:label> | ||
|
|
@@ -25,18 +26,18 @@ This example provides a simple illustration of the composition of a SKOS file th | |
| </rdf:Description> | ||
| ``` | ||
|
|
||
| - **Example term definitions**. This section shows the two concepts and a few typical annotations about those concepts. The first rdf:Description line of each group names the concept that is being defined in the indented lines that follows. The rdf:Type and skos:prefLabel are required annotation content for {{ page.portal }} to work effectively. Other items are optional. The skos:topConceptOf is not strictly required for {{ page.portal }} SKOS {{ page.atoms }}, but provides useful contextualization if there is more than one topConcept. | ||
| - **Example term definitions**. This section shows the two concepts and a few typical annotations about those concepts. The first rdf:Description line of each group names the concept that is being defined in the indented lines that follows. The rdf:Type and skos:prefLabel are required annotation content for {{ page.portal }} to work effectively. Other items are optional. The skos:topConceptOf is not strictly required for {{ page.portal }} SKOS semantic artefacts, but provides useful contextualization if there is more than one topConcept. | ||
| ``` | ||
| <rdf:Description rdf:about="https://example.org/ontologies/myskosontology/fragmentid001""> | ||
| <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> | ||
| <skos:prefLabel xml:lang="en">First concept</skos:prefLabel> | ||
| <skos:definition xml:lang="en">The very first example provided as part of this {{ page.atom }}.</skos:definition> | ||
| <skos:definition xml:lang="en">The very first example provided as part of this semantic artefact.</skos:definition> | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. use {{page.atom}} |
||
| <skos:topConceptOf rdf:resource="https://example.org/ontologies/myskosontology/"/> | ||
| </rdf:Description> | ||
| <rdf:Description rdf:about="https://example.org/ontologies/myskosontology/fragmentid002""> | ||
| <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> | ||
| <skos:prefLabel xml:lang="en">Second concept</skos:prefLabel> | ||
| <skos:definition xml:lang="en">The very first example provided as part of this {{ page.atom }}.</skos:definition> | ||
| <skos:definition xml:lang="en">The very first example provided as part of this semantic artefact.</skos:definition> | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. use {{page.atom}} |
||
| <skos:topConceptOf rdf:resource="https://example.org/ontologies/myskosontology/"/> | ||
| </rdf:Description> | ||
| ``` | ||
|
|
||

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think here we should let the {{ page.atoms }} so that each portal can specify if it uses the
semantic artefactsor use another word likeontologies..etc