diff --git a/monitor/methodology/terminology.component.ts b/monitor/methodology/terminology.component.ts index 7d85c97e..dc6df2d9 100644 --- a/monitor/methodology/terminology.component.ts +++ b/monitor/methodology/terminology.component.ts @@ -6,6 +6,7 @@ import {OpenaireEntities} from "../../utils/properties/searchFields"; import {SEOService} from "../../sharedComponents/SEO/SEO.service"; import {properties} from "../../../../environments/environment"; import {Breadcrumb} from "../../utils/breadcrumbs/breadcrumbs.component"; +import Timeout = NodeJS.Timeout; declare var ResizeObserver; @@ -20,426 +21,384 @@ declare var ResizeObserver; . -
-
- -
-
+
+
+
+ +
+
+

Terminology and
construction.

+
+
+
-
-

Terminology and
construction.

-
- - - +
+
PID (persistent identifier)
+
+

A long-lasting reference to a resource

+

Types: http://api.openaire.eu/vocabularies/dnet:pid_types +

+
+
Context
+
+

Related research community, initiative or infrastructure.

+
+
Journal
+
+

The scientific journal an article is published in.

+
+
Publisher
+
+

The publisher of the venue (journal, book, etc.) of a research product.

+
+
Data sources (content providers)
+
+

The different data sources ingested in the OpenAIRE Research Graph.

+
Data Source Types:
+ +
+
Repositories
+
+

Information systems where scientists upload the bibliographic metadata and payloads of their + research products (e.g. PDFs of their scientific articles, CSVs of their data, + archive with their + software), due to obligations from their organizations, their + funders, or due to community practices + (e.g. ArXiv, Europe PMC, Zenodo).

+
+
Open Access Publishers & Journals
+
+

Information systems of open access publishers or relative journals, which offer bibliographic + metadata and PDFs of their published articles.

+
+
Aggregators
+
+

Information systems that collect descriptive metadata about research products + from multiple sources + in order to enable cross-data source discovery of given research products (e,g, + DataCite, + BASE, DOAJ).

+
+
Entity Registries
+
+

Information systems created with the intent of maintaining authoritative registries of given + entities in the scholarly communication, such as OpenDOAR for the institutional repositories, re3data + for the data repositories, CORDA and other funder databases + for projects and funding information.

+
+
CRIS (Current Research Information System)
+
+

Information systems adopted by research and academic organizations to + keep track of their research + administration records and relative results; examples of CRIS content are articles + or research data funded + by projects, their principal investigators, facilities acquired + thanks to funding, etc.

+
+
+ +
+ +
+

3. Constructed Attributes

+
+ All attributes in this tab are constructed by us, with the methodology presented below. +
+
+
+
Attribute
+
Definition
+
How we build it
+
+
+
+ Journal Business Models +
+
+
+
Fully Open Access (OA)
+
+

A journal that publishes only in open access.

+
+
+

We follow Unpaywall’s approach on defining fully Open Access journals and publishers and we construct the lists of the latter using Unpaywall data.

+

In brief, a journal is fully Open Access if one or more of the following occur:

+
    +
  1. It is in the Directory of Open Access Journals (DOAJ)
  2. +
  3. It has a known fully OA Publisher (curated list).
  4. +
  5. It only publishes OA articles.
  6. +
+
+
+
+
+
Subscription
+
+

A journal that charges for access to its articles.

+
+
+

Journals without any open access articles.

+
+
+
+
+
Hybrid
+
+

A subscription journal where some of its articles are open access.

+
+
+

Journals with open access articles that are not fully OA journals.

+
+
+
+
+
Transformative
+
+

"A Transformative Journal is a subscription/hybrid journal that is actively committed to + transitioning to a fully Open Access journal.

+

In addition, a Transformative Journal must:

+
    +
  • gradually increase the share of Open Access content; and
  • +
  • offset subscription income from payments for publishing services (to avoid double payments)." +
  • +
+

Source: Plan S initiative

+
+
+

+ We identify Transformative Journals by ISSN matching with the publicly available Transformative Journals data from Plan S initiative. +

+
+
+
+
+ Journal APC Business Models +
+
+
+
Diamond OA
+
+

A fully OA journal that does not charge article processing charges (APCs).

+

In other words, fully OA journals are either diamond, or charge APCs.

+
+
+

+ We obtain APC data from DOAJ using DOAJ’s Public Data Dump (an exportable version of the journal metadata). We used it to determine whether a particular fully OA journal charges APCs. +

+
+
+
+
+ Routes to Open Access (OA) +
+
+
+
Green OA
+
+

An open access scientific publication deposited in a repository

+
+
+

As in definition

+
+
+
+
+
Gold OA
+
+

A scientific publication published in a fully OA journal.

+
+
+

We define fully OA journals above.

+
+
+
+
+
Hybrid OA
+
+

An open access scientific publication published in a hybrid journal with an open license.

+
+
+

We define hybrid journals above.

+

At this point we consider only CC licenses “open”. We are currently working on cleaning non-CC + licenses as well to identify other open ones.

+

In principle, this means that we may be underestimating the number of hybrid OA articles and + overestimating the number of bronze.

+
+
+
+
+
Bronze OA
+
+

An open access scientific publication published in a hybrid journal without an open license.

+
+
+ +
+
+
+
+ Miscellaneous +
+
+
+
Downloads
+
+

The number of downloads of a publication’s full text in a specific time frame, from a given set of + data sources.

+
+
+

We utilize the usage data for the downloads from OpenAIRE’s Usage Counts service that harvests it from a set of + datasources. The time range of available downloads varies for each datasource.

+
+
+
+
+
+ + ` @@ -452,6 +411,10 @@ export class TerminologyComponent implements OnInit, OnDestroy { public graph_offset: number = 0; public graph_height: number = 0; @ViewChild("graph_element") graph_element; + public contentSections: string[] = ['entities', 'inherited-and-inferred-attributes', 'constructed-attributes']; + public activeSection: string; + private observer: IntersectionObserver; + private timeout: Timeout; constructor(private seoService: SEOService, private meta: Meta, @@ -469,6 +432,13 @@ export class TerminologyComponent implements OnInit, OnDestroy { this.breadcrumbs[0].route = '/' + (params['stakeholder']?params['stakeholder']:''); this.breadcrumbs[0].name = (params['stakeholder']?'dashboard':'home'); })); + this.subscriptions.push(this.route.fragment.subscribe(fragment => { + if(fragment) { + this.activeSection = fragment; + } else { + this.activeSection = 'entities'; + } + })); } ngAfterViewInit() { @@ -476,6 +446,9 @@ export class TerminologyComponent implements OnInit, OnDestroy { if(this.graph_element) { this.observeGraphElement(); } + setTimeout(() => { + this.setObserver(); + }); } } @@ -491,8 +464,35 @@ export class TerminologyComponent implements OnInit, OnDestroy { subscription.unsubscribe(); } }); + if(this.observer) { + this.observer.disconnect(); + } } + private setObserver() { + if(this.observer) { + this.observer.disconnect(); + } + this.observer = new IntersectionObserver((entries) => { + entries.forEach(entry => { + if(entry.isIntersecting) { + if(this.timeout) { + clearTimeout(this.timeout); + } + this.timeout = setTimeout(() => { + this.router.navigate(['./'], {fragment: entry.target.id, relativeTo: this.route, state: {disableScroll: true}}); + }, 200); + } + }); + }, {threshold: 0.25}); + this.contentSections.forEach(section => { + let element = document.getElementById(section); + if(element) { + this.observer.observe(element); + } + }); + } + public observeGraphElement() { let resizeObs = new ResizeObserver(entries => { entries.forEach(entry => {