Merge pull request 'graph-data-model-revision' (#37) from graph-data-model-revision into main

Reviewed-on: #37
This commit is contained in:
Serafeim Chatzopoulos 2022-12-27 19:24:10 +01:00
commit 4c23bb429b
7 changed files with 228 additions and 55 deletions

1
.gitignore vendored
View File

@ -20,3 +20,4 @@ yarn-debug.log*
yarn-error.log* yarn-error.log*
.idea/ .idea/
openaire-graph-docs.iml

View File

@ -11,12 +11,12 @@ The latest version of the JSON schema can be found on the [Downloads](../downloa
The figure above, presents the graph's data model. The figure above, presents the graph's data model.
Its main entities are described in brief below: Its main entities are described in brief below:
* [Results](entities/result) represent the outcomes of research activities. * [Results](entities/result) represent the outcomes (or products) of research activities.
* [Data Sources](entities/data-source) are the resources used to collect metadata for the graph objects * [Data Sources](entities/data-source) are the sources from which the metadata of graph objects are collected.
* [Organizations](entities/organization) correspond to companies or research institutions involved in projects, * [Organizations](entities/organization) correspond to companies or research institutions involved in projects,
responsible for operating data sources or consisting the affiliations of Product creators. responsible for operating data sources or consisting the affiliations of Product creators.
* [Projects](entities/project) are research projects funded by a Funding Stream of a Funder. * [Projects](entities/project) are research project grants funded by a Funding Stream of a Funder.
* [Communities](entities/community) are groups of people with a common research intent. * [Communities](entities/community) are groups of people with a common research intent (e.g. research infrastructures, university alliances).
:::note Further reading :::note Further reading

View File

@ -542,21 +542,6 @@ The license URL.
"license": "http://creativecommons.org/licenses/by-nc/4.0" "license": "http://creativecommons.org/licenses/by-nc/4.0"
``` ```
### measures
_Type: [Measure](#measure) • Cardinality: MANY_
The measures computed for this instance (e.g. those provided by [BIP! Finder](https://bip.imsi.athenarc.gr/)).
```json
"measures": [
{
"key": "influence",
"value": "6.45335454246e-09"
},
...
]
```
### pid ### pid
_Type: [ResultPid](#resultpid) • Cardinality: MANY_ _Type: [ResultPid](#resultpid) • Cardinality: MANY_
@ -619,6 +604,55 @@ URLs to the instance. They may link to the actual full-text or to the landing pa
] ]
``` ```
## Indicator
These are indicators computed for a specific OpenAIRE result.
Each Indicator object is composed of the following properties:
### impactMeasures
_Type: [ImpactMeasures](#impactmeasures-1) • Cardinality: ONE_
These impact-based indicators, provided by [BIP!](https://bip.imsi.athenarc.gr/), estimate the impact of a result.
For details about their calculation, please refer [here](/data-provision/indicators-ingestion/impact-scores).
```json
"impactMeasures": {
"influence": {
"score": "123",
"class": "C2"
},
"influence_alt" : {
"score": "456",
"class": "C3"
},
"popularity": {
"score": "234",
"class": "C1"
},
"popularity_alt": {
"score": "345",
"class": "C5"
},
"impulse": {
"score": "987",
"class": "C3"
}
}
```
### usageCounts
_Type: [UsageCounts](#usagecounts-1) • Cardinality: ONE_
These measures, computed by the [UsageCounts Service](https://usagecounts.openaire.eu/), are based on usage statistics.
```json
"usageCounts":{
"downloads": "10",
"views": "20"
}
```
## Language ## Language
Represents information for the language of the result Represents information for the language of the result
@ -640,31 +674,76 @@ Language label in English.
"label": "English" "label": "English"
``` ```
## Measure ## ImpactMeasures
A measure computed for this instance (e.g. those provided by [BIP! Finder](https://bip.imsi.athenarc.gr/))
### key The different impact-based indicators as computed by [BIP!](https://bip.imsi.athenarc.gr/).
_Type: String • Cardinality: ONE_
The specified measure. Currently supported one of: ### influence
* `influence` (see [PageRank](/data-provision/indicators-ingestion/impact-scores#pagerank-pr)) _Type: [Score](#score) • Cardinality: ONE_
* `influence_alt` (see [Citation Count](/data-provision/indicators-ingestion/impact-scores#citation-count-cc))
* `popularity` (see [AttRank](/data-provision/indicators-ingestion/impact-scores#attrank)) This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
* `popularity_alt` (see [RAM](/data-provision/indicators-ingestion/impact-scores#ram)) For more details please refer [here](/data-provision/indicators-ingestion/impact-scores#pagerank-pr).
* `impulse` (see ["Incubation" Citation Count](/data-provision/indicators-ingestion/impact-scores#incubation-citation-count-icc))
```json ```json
"key": "influence" "influence": {
"score": "123",
"class": "C2"
}
``` ```
### value ### influence_alt
_Type: String • Cardinality: ONE_ _Type: [Score](#score) • Cardinality: ONE_
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
For more details please refer [here](/data-provision/indicators-ingestion/impact-scores#citation-count-cc).
```json ```json
"value": "6.45335454246e-09" "influence_alt" :{
"score": "456",
"class": "C3"
}
``` ```
The value for that measure. ### popularity
_Type: [Score](#score) • Cardinality: ONE_
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
For more details please refer [here](/data-provision/indicators-ingestion/impact-scores#attrank).
```json
"popularity":{
"score": "234",
"class": "C1"
}
```
### popularity_alt
_Type: [Score](#score) • Cardinality: ONE_
This is an alternative to the "Popularity" indicator, which also reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
For more details please refer [here](/data-provision/indicators-ingestion/impact-scores#ram).
```json
"popularity_alt":{
"score": "345",
"class": "C5"
}
```
### impulse
_Type: [Score](#score) • Cardinality: ONE_
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
For more details please refer [here](/data-provision/indicators-ingestion/impact-scores#incubation-citation-count-icc).
```json
"impulse":{
"score": "987",
"class": "C3"
}
```
## OrganizationPid ## OrganizationPid
@ -748,6 +827,33 @@ The value expressed in the scheme (i.e. 10.1000/182).
"value": "10.21511/bbs.13(3).2018.13" "value": "10.21511/bbs.13(3).2018.13"
``` ```
## Score
The specific score object for each calculated impact measure calculated by [BIP!](https://bip.imsi.athenarc.gr/).
### score
_Type: String • Cardinality: ONE_
The actual indicator score.
```json
"score": "1234"
```
### class
_Type: String • Cardinality: ONE_
The impact class assigned based on the indicator score.
To facilitate comprehension, BIP! also offers impact classes for articles, to group together those that have similar impact. The following 5 classes are provided:
* `C1`: Top 0.01%
* `C2`: Top 0.1%
* `C3`: Top 1%
* `C4`: Top 10%
* `C5`: Bottom 90%
```json
"class": "C2"
```
## Subject ## Subject
Represents keywords associated to the result. Represents keywords associated to the result.
@ -795,3 +901,25 @@ The value for the subject in the selected scheme. When the scheme is 'keyword',
```json ```json
"value" : "pyrolysis-oil" "value" : "pyrolysis-oil"
``` ```
## UsageCounts
The usage counts indicator computed for this result.
### views
_Type: String • Cardinality: ONE_
The number of views for this result.
```json
"views": "10"
```
### downloads
_Type: String • Cardinality: ONE_
The number of downloads for this result.
```json
"downloads": "5"
```

View File

@ -183,6 +183,43 @@ Date when the embargo ends and this result turns Open Access.
"embargoenddate": "2017-01-01" "embargoenddate": "2017-01-01"
``` ```
### indicators
_Type: [Indicator](other#indicator) • Cardinality: ONE_
The indicators computed for this result;
currently, the following two types of indicators are supported: [impact indicators](/data-provision/indicators-ingestion/impact-scores) and [usage statistics indicators](/data-provision/indicators-ingestion/usage-counts).
```json
"indicators": {
"impactMeasures": {
"influence": {
"score": "123",
"class": "C2"
},
"influence_alt" : {
"score": "456",
"class": "C3"
},
"popularity": {
"score": "234",
"class": "C1"
},
"popularity_alt": {
"score": "345",
"class": "C5"
},
"impulse": {
"score": "987",
"class": "C3"
}
},
"usageCounts": {
"downloads": "10",
"views": "20"
}
}
```
### instance ### instance
_Type: [Instance](other#instance) • Cardinality: MANY_ _Type: [Instance](other#instance) • Cardinality: MANY_
@ -209,13 +246,6 @@ Specific materialization or version of the result. For example, you can have one
"currency": "EUR" "currency": "EUR"
}, },
"license": "http://creativecommons.org/licenses/by-nc/4.0", "license": "http://creativecommons.org/licenses/by-nc/4.0",
"measures":[
{
"key": "influence",
"value": "6.45335454246e-09"
},
...
],
"pid": [ "pid": [
{ {
"scheme": "pmc", "scheme": "pmc",

View File

@ -130,17 +130,31 @@ The following table lists all the possible relation semantics found in the graph
| # | Source entity type | Target entity type | Relation type | Relation name | Inverse relation name | | # | Source entity type | Target entity type | Relation type | Relation name | Inverse relation name |
|:--:|:------------------:|:-------------------:|:-------------:|:---------------------------:|:----------------------------:| |:--:|:------------------:|:-------------------:|:-------------:|:---------------------------:|:----------------------------:|
| 1 | [Project](entities/project) | [Result](entities/result) | outcome | produces | isProducedBy | | 1 | [Project](entities/project) | [Result](entities/result) | outcome | produces | isProducedBy |
| 2 | [Result](entities/result) | [Organization](entities/organization) | affiliation | hasAuthorInstitution | isAuthorInstitutionOf | | 2 | [Project](entities/project) | [Organization](entities/organization) | participation | hasParticipant | isParticipant |
| 3 | [Result](entities/result) | [Result](entities/result) | similarity | isAmongTopNSimilarDocuments | HasAmongTopNSimilarDocuments | | 3 | [Project](entities/project) | [Community](entities/community) | relationship | isRelatedTo | isRelatedTo |
| 4 | [Project](entities/project) | [Organization](entities/organization) | participation | isParticipant | hasParticipant | | 4 | [Result](entities/result) | [Result](entities/result) | similarity | isAmongTopNSimilarDocuments | HasAmongTopNSimilarDocuments |
| 5 | [Result](entities/result) | [Result](entities/result) | supplement | isSupplementTo | isSupplementedBy | | 5 | [Result](entities/result) | [Result](entities/result) | supplement | isSupplementTo | isSupplementedBy |
| 6 | [Result](entities/result) | [Result](entities/result) | relationship | isRelatedTo | isRelatedTo | | 6 | [Result](entities/result) | [Result](entities/result) | relationship | isRelatedTo | isRelatedTo |
| 7 | [Data source](entities/data-source) | [Organization](entities/organization) | provision | provides | isProvidedBy | | 7 | [Result](entities/result) | [Result](entities/result) | relationship | IsPartOf | HasPart |
| 8 | [Result](entities/result) | [Data source](entities/data-source) | provision | isHostedBy | hosts | | 8 | [Result](entities/result) | [Result](entities/result) | relationship | IsDocumentedBy | Documents |
| 9 | [Result](entities/result) | [Data source](entities/data-source) | provision | isProvidedBy | provides | | 9 | [Result](entities/result) | [Result](entities/result) | relationship | IsObsoletedBy | Obsoletes |
| 10 | [Result](entities/result) | [Community](entities/community) | relationship | isRelatedTo | isRelatedTo | | 10 | [Result](entities/result) | [Result](entities/result) | relationship | IsSourceOf | IsDerivedFrom |
| 11 | [Organization](entities/organization) | [Community](entities/community) | relationship | isRelatedTo | isRelatedTo | | 11 | [Result](entities/result) | [Result](entities/result) | relationship | IsCompiledBy | Compiles |
| 12 | [Data source](entities/data-source) | [Community](entities/community) | relationship | isRelatedTo | isRelatedTo | | 12 | [Result](entities/result) | [Result](entities/result) | relationship | IsRequiredBy | Requires |
| 13 | [Project](entities/project) | [Community](entities/community) | relationship | isRelatedTo | isRelatedTo | | 13 | [Result](entities/result) | [Result](entities/result) | relationship | IsCitedBy | Cites |
| 14 | [Result](entities/result) | [Result](entities/result) | relationship | IsReferencedBy | References |
| 15 | [Result](entities/result) | [Result](entities/result) | relationship | IsReviewedBy | IsVariantFormOf |
| 16 | [Result](entities/result) | [Result](entities/result) | relationship | IsOriginalFormOf | IsCitedBy |
| 17 | [Result](entities/result) | [Result](entities/result) | relationship | IsVersionOf | HasVersion |
| 18 | [Result](entities/result) | [Result](entities/result) | relationship | IsIdenticalTo | IsIdenticalTo |
| 19 | [Result](entities/result) | [Result](entities/result) | relationship | IsPreviousVersionOf | IsNewVersionOf |
| 20 | [Result](entities/result) | [Result](entities/result) | relationship | IsContinuedBy | Continues |
| 21 | [Result](entities/result) | [Result](entities/result) | relationship | IsDescribedBy | Describes |
| 22 | [Result](entities/result) | [Organization](entities/organization) | affiliation | hasAuthorInstitution | isAuthorInstitutionOf |
| 23 | [Result](entities/result) | [Data source](entities/data-source) | provision | isHostedBy | hosts |
| 24 | [Result](entities/result) | [Data source](entities/data-source) | provision | isProvidedBy | provides |
| 25 | [Result](entities/result) | [Community](entities/community) | relationship | isRelatedTo | isRelatedTo |
| 26 | [Organization](entities/organization) | [Community](entities/community) | relationship | isRelatedTo | isRelatedTo |
| 27 | [Data source](entities/data-source) | [Community](entities/community) | relationship | isRelatedTo | isRelatedTo |
| 28 | [Data source](entities/data-source) | [Organization](entities/organization) | provision | isProvidedBy | provides |

2
package-lock.json generated
View File

@ -22,7 +22,7 @@
"remark-math": "^3.0.1" "remark-math": "^3.0.1"
}, },
"devDependencies": { "devDependencies": {
"@docusaurus/module-type-aliases": "^2.1.0" "@docusaurus/module-type-aliases": "^2.2.0"
}, },
"engines": { "engines": {
"node": ">=16.14" "node": ">=16.14"

View File

@ -28,7 +28,7 @@
"remark-math": "^3.0.1" "remark-math": "^3.0.1"
}, },
"devDependencies": { "devDependencies": {
"@docusaurus/module-type-aliases": "^2.1.0" "@docusaurus/module-type-aliases": "^2.2.0"
}, },
"browserslist": { "browserslist": {
"production": [ "production": [