1
|
import {Component, OnDestroy, OnInit} from "@angular/core";
|
2
|
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
|
3
|
import {Stakeholder} from "../openaireLibrary/monitor/entities/stakeholder";
|
4
|
import {Subscription} from "rxjs";
|
5
|
import {Meta, Title} from "@angular/platform-browser";
|
6
|
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
|
7
|
import {properties} from "../../environments/environment";
|
8
|
import {ActivatedRoute, Router} from "@angular/router";
|
9
|
|
10
|
@Component({
|
11
|
selector: 'terminology',
|
12
|
template: `
|
13
|
<div page-content>
|
14
|
<div inner>
|
15
|
<div *ngIf="stakeholder" class="uk-container uk-container-large uk-section-small">
|
16
|
<h1 class="uk-text-center uk-h2">
|
17
|
Terminology and construction
|
18
|
</h1>
|
19
|
<div class="uk-margin-large-top">
|
20
|
<ul class="uk-tab admin customTabs uk-margin-medium-bottom" uk-tab>
|
21
|
<li [class.uk-active]="tab === 'entities'"><a (click)="tab = 'entities'"><span
|
22
|
class="title">Entities</span></a></li>
|
23
|
<li [class.uk-active]="tab === 'attributes'"><a (click)="tab = 'attributes'"><span class="title">Attributes of Research Results</span></a>
|
24
|
</li>
|
25
|
</ul>
|
26
|
<table *ngIf="tab === 'entities'">
|
27
|
<tr>
|
28
|
<th>Research Outputs</th>
|
29
|
<td>
|
30
|
<div>There are currently four different types of research outputs types in the OpenAIRE Research
|
31
|
Graph:
|
32
|
</div>
|
33
|
<ul class="portal-circle">
|
34
|
<li>Publication</li>
|
35
|
<li>Dataset</li>
|
36
|
<li>Software</li>
|
37
|
<li>Other Research Products</li>
|
38
|
</ul>
|
39
|
<div class="uk-margin-small-top">
|
40
|
OpenAIRE deduplicates (merges) different records or research outputs and keeps the metadata of all
|
41
|
instances.
|
42
|
</div>
|
43
|
</td>
|
44
|
</tr>
|
45
|
<tr>
|
46
|
<th>Publication</th>
|
47
|
<td>Research outputs intended for human reading (published articles, pre-prints, conference papers,
|
48
|
presentations, technical reports, etc.)
|
49
|
</td>
|
50
|
</tr>
|
51
|
<tr>
|
52
|
<th>Dataset</th>
|
53
|
<td>Research data (granularity is not defined by OpenAIRE, which reflects the granularity supported by
|
54
|
the sources from which the description of the dataset has been collected)
|
55
|
</td>
|
56
|
</tr>
|
57
|
<tr>
|
58
|
<th>Software</th>
|
59
|
<td>Source code or software package developed and/or used in a research context.</td>
|
60
|
</tr>
|
61
|
<tr>
|
62
|
<th>Other Research Product</th>
|
63
|
<td>Anything that does not fall in the previous categories (e.g. workflow, methods, protocols).</td>
|
64
|
</tr>
|
65
|
</table>
|
66
|
<table *ngIf="tab === 'attributes'">
|
67
|
<tr>
|
68
|
<th>Organization & Country</th>
|
69
|
<td>
|
70
|
<p><span class="uk-text-bold">For research outputs:</span> The affiliated organizations of its authors (and their country).</p>
|
71
|
<p><span class="uk-text-bold">For projects:</span> The organizations participating in the project (i.e. beneficiaries of the grant), and
|
72
|
their countries (when available).
|
73
|
</p>
|
74
|
<p>
|
75
|
<span class="uk-text-bold">Country code mapping: </span>
|
76
|
<a href="https://api.openaire.eu/vocabularies/dnet:countries" target="_blank">
|
77
|
https://api.openaire.eu/vocabularies/dnet:countries</a>
|
78
|
</p>
|
79
|
</td>
|
80
|
</tr>
|
81
|
<tr>
|
82
|
<th>Type</th>
|
83
|
<td>
|
84
|
<p>The type of research output (e.g. a publication can be a pre-print, conference proceeding, article,
|
85
|
etc.)</p>
|
86
|
<p><span class="uk-text-bold">Resource type mapping: </span>
|
87
|
<a href="https://api.openaire.eu/vocabularies/dnet:result_typologies" target="_blank">https://api.openaire.eu/vocabularies/dnet:result_typologies</a>
|
88
|
(click on the code to see the specific types for each result type)
|
89
|
</p>
|
90
|
</td>
|
91
|
</tr>
|
92
|
<tr>
|
93
|
<th>Access mode</th>
|
94
|
<td>
|
95
|
<p>The best available (across all instances) access rights of a research output.</p>
|
96
|
<p>Types: open, restricted, closed, embargo (= closed for a specific period of time, then open)</p>
|
97
|
</td>
|
98
|
</tr>
|
99
|
<tr>
|
100
|
<th>PID (persistent identifier)</th>
|
101
|
<td>
|
102
|
<p>A long-lasting reference to a resource</p>
|
103
|
<p><span class="uk-text-bold">Types: </span> <a href="http://api.openaire.eu/vocabularies/dnet:pid_types" target="_blank">http://api.openaire.eu/vocabularies/dnet:pid_types</a>
|
104
|
</p>
|
105
|
</td>
|
106
|
</tr>
|
107
|
<tr>
|
108
|
<th>Context</th>
|
109
|
<td>Related research community/initiative/infrastructure</td>
|
110
|
</tr>
|
111
|
<tr>
|
112
|
<th>Journal</th>
|
113
|
<td>The scientific journal an article is published in.</td>
|
114
|
</tr>
|
115
|
<tr>
|
116
|
<th>Publisher</th>
|
117
|
<td>The publisher of the venue (journal, book, etc.) of a research output</td>
|
118
|
</tr>
|
119
|
<tr>
|
120
|
<th>Content Provider (Datasources)</th>
|
121
|
<td>
|
122
|
<p>The different data sources ingested in the OpenAIRE Research Graph.</p>
|
123
|
<div class="uk-text-bold">Content Provider Types:</div>
|
124
|
<ul class="portal-circle">
|
125
|
<li>Repositories</li>
|
126
|
<li>Open Access Publishers & Journals</li>
|
127
|
<li>Aggregators</li>
|
128
|
<li>Entity Registries</li>
|
129
|
<li>Journal Aggregators</li>
|
130
|
<li>CRIS (Current Research Information System)</li>
|
131
|
</ul>
|
132
|
</td>
|
133
|
</tr>
|
134
|
<tr>
|
135
|
<th>Repository</th>
|
136
|
<td>Information systems where scientists upload the bibliographic metadata and payloads of their
|
137
|
research outputs (e.g. PDFs of their scientific articles, CSVs of their data, archive with their
|
138
|
software), due to obligations from their organizations, their funders, or due to community practices
|
139
|
(e.g. ArXiv, Europe PMC, Zenodo).
|
140
|
</td>
|
141
|
</tr>
|
142
|
<tr>
|
143
|
<th>Open Access Publishers & Journals</th>
|
144
|
<td>Information systems of open access publishers or relative journals, which offer bibliographic
|
145
|
metadata and PDFs of their published articles.
|
146
|
</td>
|
147
|
</tr>
|
148
|
<tr>
|
149
|
<th>Aggregators</th>
|
150
|
<td>Information systems that collect descriptive metadata about research products from multiple sources
|
151
|
in order to enable cross-data source discovery of given research products. Examples are DataCite,
|
152
|
BASE, DOAJ.
|
153
|
</td>
|
154
|
</tr>
|
155
|
<tr>
|
156
|
<th>Entity Registries</th>
|
157
|
<td>Information systems created with the intent of maintaining authoritative registries of given
|
158
|
entities in the scholarly communication, such as OpenDOAR for the institutional repositories, re3data
|
159
|
for the data repositories, CORDA and other funder databases for projects and funding information.
|
160
|
</td>
|
161
|
</tr>
|
162
|
<tr>
|
163
|
<th>CRIS (Current Research Information System)</th>
|
164
|
<td>Information systems adopted by research and academic organizations to keep track of their research
|
165
|
administration records and relative results; examples of CRIS content are articles or datasets funded
|
166
|
by projects, their principal investigators, facilities acquired thanks to funding, etc.
|
167
|
</td>
|
168
|
</tr>
|
169
|
</table>
|
170
|
<div class="uk-text-small uk-margin-small-top">
|
171
|
<img src="assets/common-assets/graph.svg" style="opacity: 0.4">
|
172
|
<span class="uk-margin-small-left uk-text-baseline uk-text-muted">More information for <a
|
173
|
href="https://graph.openaire.eu" class="graph-color">OpenAIRE Research Graph</a>.</span>
|
174
|
</div>
|
175
|
</div>
|
176
|
</div>
|
177
|
</div>
|
178
|
</div>
|
179
|
`,
|
180
|
styleUrls: ['terminology.component.css']
|
181
|
})
|
182
|
export class TerminologyComponent implements OnInit, OnDestroy {
|
183
|
|
184
|
public stakeholder: Stakeholder;
|
185
|
public tab: 'entities' | 'attributes' = 'entities';
|
186
|
private subscriptions: any[] = [];
|
187
|
|
188
|
constructor(private stakeholderService: StakeholderService,
|
189
|
private seoService: SEOService,
|
190
|
private _meta: Meta,
|
191
|
private _router: Router,
|
192
|
private route: ActivatedRoute,
|
193
|
private _title: Title) {
|
194
|
}
|
195
|
|
196
|
ngOnInit() {
|
197
|
this.subscriptions.push(this.route.fragment.subscribe(tab => {
|
198
|
if (tab === 'attributes') {
|
199
|
this.tab = tab;
|
200
|
} else {
|
201
|
this.tab = 'entities';
|
202
|
}
|
203
|
}));
|
204
|
this.subscriptions.push(this.stakeholderService.getStakeholderAsObservable().subscribe(stakeholder => {
|
205
|
this.stakeholder = stakeholder;
|
206
|
if (this.stakeholder) {
|
207
|
/* Metadata */
|
208
|
const url = properties.domain + properties.baseLink + this._router.url;
|
209
|
this.seoService.createLinkForCanonicalURL(url, false);
|
210
|
this._meta.updateTag({content: url}, "property='og:url'");
|
211
|
const description = "Terminology | " + this.stakeholder.name;
|
212
|
const title = "Terminology | " + this.stakeholder.name;
|
213
|
this._meta.updateTag({content: description}, "name='description'");
|
214
|
this._meta.updateTag({content: description}, "property='og:description'");
|
215
|
this._meta.updateTag({content: title}, "property='og:title'");
|
216
|
this._title.setTitle(title);
|
217
|
}
|
218
|
}));
|
219
|
}
|
220
|
|
221
|
ngOnDestroy() {
|
222
|
this.subscriptions.forEach(subscription => {
|
223
|
if (subscription instanceof Subscription) {
|
224
|
subscription.unsubscribe();
|
225
|
}
|
226
|
});
|
227
|
}
|
228
|
}
|