import {Component, OnDestroy, OnInit} from "@angular/core"; import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service"; import {Stakeholder} from "../openaireLibrary/monitor/entities/stakeholder"; import {Subscription} from "rxjs"; import {Meta, Title} from "@angular/platform-browser"; import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; import {properties} from "../../environments/environment"; import {ActivatedRoute, Router} from "@angular/router"; import {OpenaireEntities} from "../openaireLibrary/utils/properties/searchFields"; @Component({ selector: 'methodology', template: `

Terminology and
construction.

More information for OpenAIRE Research Graph .

Inclusion, transparency,
quality, state of the art
technology.

Our methodological approach is based on the following operational quality criteria:

  • Openness and transparency: Methodological assumptions are openly and clearly presented.
  • Coverage and accuracy: As detailed in graph.openaire.eu multiple data sources are ingested in the OpenAIRE research graph for coverage to the fullest extent possible, in order to provide meaningful indicators.
  • Clarity and replicability: We describe our construction methodology in detail, so that it can be verified and used by the scholarly communication community to create ongoing updates to our proposed statistics and indicators.
  • Readiness and timeliness: The methodology is built around well-established open databases and already tested knowledge extraction technologies - natural language processing (NLP)/machine-learning (ML) - using operational workflows in OpenAIRE to warrant timely results.
  • Trust and robustness: Our methodology also strives to be reliable, robust, and aligned to other assessment methods so that it can be operationalized, used and reused, in conjunction with other assessment methods.
The text above is modified from this report (DOI: 10.2777/268348).

Step-by-step

` }) export class MethodologyComponent implements OnInit, OnDestroy { public stakeholder: Stakeholder; public tab: 'entities' | 'attributes' = 'entities'; private subscriptions: any[] = []; public openaireEntities = OpenaireEntities; constructor(private stakeholderService: StakeholderService, private seoService: SEOService, private _meta: Meta, private _router: Router, private route: ActivatedRoute, private _title: Title) { } ngOnInit() { this.subscriptions.push(this.stakeholderService.getStakeholderAsObservable().subscribe(stakeholder => { this.stakeholder = stakeholder; if (this.stakeholder) { /* Metadata */ const url = properties.domain + properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(url, false); this._meta.updateTag({content: url}, "property='og:url'"); const description = "Methodology | " + this.stakeholder.name; const title = "Methodology | " + this.stakeholder.name; this._meta.updateTag({content: description}, "name='description'"); this._meta.updateTag({content: description}, "property='og:description'"); this._meta.updateTag({content: title}, "property='og:title'"); this._title.setTitle(title); } })); } ngOnDestroy() { this.subscriptions.forEach(subscription => { if (subscription instanceof Subscription) { subscription.unsubscribe(); } }); } }