Project

General

Profile

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
}
(2-2/3)