[Graph | Trunk]: Create Team and References pages. Change about architecture images
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-graph-portal/trunk@60866 d315682c-612b-4755-9ff5-7f18f6832af3
|
@ -79,33 +79,32 @@
|
|||
<div class="uk-flex uk-flex-center uk-inline uk-margin-medium-top">
|
||||
<img [src]="'assets/graph-assets/about/architecture/'+architectureImage"
|
||||
class="uk-width-4-5 architecture-image">
|
||||
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 27%; top: 48%"
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 27%; top: 51.5%"
|
||||
(click)="changeTab(0)" routerLink="/about" fragment="tabs_card"
|
||||
(mouseenter)="architectureImage = 'aggregation_hover.png'" (mouseleave)="architectureImage = 'gray.png'">
|
||||
<action-point [class.uk-invisible]="architectureImage == 'aggregation_hover.png'"></action-point>
|
||||
</a>
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 47%; top: 48%"
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 47%; top: 51.5%"
|
||||
(click)="changeTab(1)" routerLink="/about" fragment="tabs_card"
|
||||
(mouseenter)="architectureImage = 'deduplication_hover.png'" (mouseleave)="architectureImage = 'gray.png'">
|
||||
<action-point [class.uk-invisible]="architectureImage == 'deduplication_hover.png'"></action-point>
|
||||
</a>
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 58%; top: 48%"
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 58%; top: 51.5%"
|
||||
(click)="changeTab(2)" routerLink="/about" fragment="tabs_card"
|
||||
(mouseenter)="architectureImage = 'enrichment_hover.png'" (mouseleave)="architectureImage = 'gray.png'">
|
||||
<action-point [class.uk-invisible]="architectureImage == 'enrichment_hover.png'"></action-point>
|
||||
</a>
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 70%; top: 48%"
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 70%; top: 51.5%"
|
||||
(click)="changeTab(3)" routerLink="/about" fragment="tabs_card"
|
||||
(mouseenter)="architectureImage = 'post_cleaning_hover.png'" (mouseleave)="architectureImage = 'gray.png'">
|
||||
<action-point [class.uk-invisible]="architectureImage == 'post_cleaning_hover.png'"></action-point>
|
||||
</a>
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 76%; top: 32%"
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 75%; top: 35%;"
|
||||
(click)="changeTab(4)" routerLink="/about" fragment="tabs_card"
|
||||
(mouseenter)="architectureImage = 'indexing_hover.png'" (mouseleave)="architectureImage = 'gray.png'">
|
||||
<action-point [class.uk-invisible]="architectureImage == 'indexing_hover.png'"></action-point>
|
||||
</a>
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 76%; top: 72%"
|
||||
<a class="uk-position-absolute uk-transform-center uk-padding" style="left: 75%; top: 72%"
|
||||
(click)="changeTab(5)" routerLink="/about" fragment="tabs_card"
|
||||
(mouseenter)="architectureImage = 'stats_analysis_hover.png'" (mouseleave)="architectureImage = 'gray.png'">
|
||||
<action-point [class.uk-invisible]="architectureImage == 'stats_analysis_hover.png'"></action-point>
|
||||
|
@ -122,16 +121,13 @@
|
|||
<li><a>Indexing</a></li>
|
||||
<li><a>Stats Analysis</a></li>
|
||||
</ul>
|
||||
|
||||
<ul class="uk-switcher uk-margin">
|
||||
<li>
|
||||
<!-- uk-grid-->
|
||||
<div class=" uk-margin-large-top uk-text-small">
|
||||
<!-- <div class="uk-width-3-5@m">-->
|
||||
<img class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image"
|
||||
src="assets/graph-assets/about/architecture/aggregation.png" alt="Aggregation">
|
||||
<div
|
||||
[class]="'uk-margin-bottom uk-margin-medium-right '+(aggregationReadMore ? '' : 'lines-18 multi-line-ellipsis')">
|
||||
<div class="uk-margin-bottom uk-margin-medium-right uk-text-small lines-18"
|
||||
[class.multi-line-ellipsis]="!aggregationReadMore">
|
||||
<div>
|
||||
OpenAIRE collects metadata records from a variety of content providers as described in
|
||||
<a href="https://www.openaire.eu/aggregation-and-content-provision-workflows" target="_blank">https://www.openaire.eu/aggregation-and-content-provision-workflows</a>.
|
||||
|
@ -139,65 +135,66 @@
|
|||
OpenAIRE aggregates metadata records describing objects of the research life-cycle from content
|
||||
providers compliant to the
|
||||
<a href="https://guidelines.openaire.eu" target="_blank">OpenAIRE guidelines</a>
|
||||
and from entity registries (i.e. data sources offering authoritative lists of entities, like OpenDOAR,
|
||||
and from entity registries (i.e. data sources offering authoritative lists of entities, like
|
||||
OpenDOAR,
|
||||
re3data, DOAJ, and funder databases).
|
||||
After collection, metadata are transformed according to the OpenAIRE internal metadata model, which is
|
||||
After collection, metadata are transformed according to the OpenAIRE internal metadata model, which
|
||||
is
|
||||
used to generate the final OpenAIRE Research Graph that you can access from the OpenAIRE portal and
|
||||
the
|
||||
APIs.
|
||||
<br><br>
|
||||
The transformation process includes the application of cleaning functions whose goal is to ensure that
|
||||
The transformation process includes the application of cleaning functions whose goal is to ensure
|
||||
that
|
||||
values are harmonised according to a common format (e.g. dates as YYYY-MM-dd) and, whenever
|
||||
applicable,
|
||||
to a common controlled vocabulary.
|
||||
The controlled vocabularies used for cleansing are accessible at
|
||||
<a href="http://api.openaire.eu/vocabularies" target="_blank">http://api.openaire.eu/vocabularies</a>.
|
||||
<a href="http://api.openaire.eu/vocabularies"
|
||||
target="_blank">http://api.openaire.eu/vocabularies</a>.
|
||||
Each vocabulary features a set of controlled terms, each with one code, one label, and a set of
|
||||
synonyms.
|
||||
If a synonym is found as field value, the value is updated with the corresponding term.
|
||||
Also, the OpenAIRE Research Graph is extended with other relevant scholarly communication sources that
|
||||
are too big to be integrated via the “normal” aggregation mechanism: DOIBoost (which merges Crossref,
|
||||
ORCID, Microsoft Academic Graph, and Unpaywall), and ScholeXplorer, one of the Scholix hubs offering a
|
||||
Also, the OpenAIRE Research Graph is extended with other relevant scholarly communication sources
|
||||
that
|
||||
are too big to be integrated via the “normal” aggregation mechanism: DOIBoost (which merges
|
||||
Crossref,
|
||||
ORCID, Microsoft Academic Graph, and Unpaywall), and ScholeXplorer, one of the Scholix hubs offering
|
||||
a
|
||||
large set of links between research literature and data.
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="!aggregationReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="aggregationReadMore = true">
|
||||
<a class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
<div *ngIf="!aggregationReadMore" class="uk-text-center clickable">
|
||||
<a (click)="aggregationReadMore = true" class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
</div>
|
||||
<div *ngIf="aggregationReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="aggregationReadMore = false">
|
||||
<a class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
<div *ngIf="aggregationReadMore" class="uk-text-center clickable">
|
||||
<a (click)="aggregationReadMore = false" routerLink="./" fragment="tabs_card" class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
</div>
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-width-expand">-->
|
||||
<!-- <img src="assets/graph-assets/about/architecture/aggregation.png">-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="uk-grid">
|
||||
<!-- <div class="uk-width-3-5@m">-->
|
||||
<div class="uk-margin-bottom uk-margin-medium-right uk-text-small">
|
||||
<div class="uk-margin-bottom uk-text-small">
|
||||
<ul class="uk-subnav button-tab" uk-switcher>
|
||||
<li><a>Clustering</a></li>
|
||||
<li><a>Matching & Election</a></li>
|
||||
</ul>
|
||||
|
||||
<ul class="uk-switcher uk-margin align-list">
|
||||
<li>
|
||||
<img class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image"
|
||||
src="assets/graph-assets/about/architecture/deduplication.svg" alt="Deduplication">
|
||||
<div
|
||||
[class]="'uk-margin-bottom uk-margin-medium-right uk-text-small '+(dedupClusteringReadMore ? '' : 'lines-18 multi-line-ellipsis')">
|
||||
<div class="uk-margin-bottom uk-margin-medium-right uk-text-small lines-18"
|
||||
[class.multi-line-ellipsis]="!dedupClusteringReadMore">
|
||||
<div>
|
||||
<div>
|
||||
Clustering is a common heuristics used to overcome the N x N complexity required to match all
|
||||
Clustering is a common heuristics used to overcome the N x N complexity required to match
|
||||
all
|
||||
pairs of objects to identify the equivalent ones.
|
||||
The challenge is to identify a clustering function that maximizes the chance of comparing only
|
||||
The challenge is to identify a clustering function that maximizes the chance of comparing
|
||||
only
|
||||
records that may lead to a match, while minimizing the number of records that will not be
|
||||
matched while being equivalent.
|
||||
Since the equivalence function is to some level tolerant to minimal errors (e.g. switching of
|
||||
Since the equivalence function is to some level tolerant to minimal errors (e.g. switching
|
||||
of
|
||||
characters in the title, or minimal difference in letters), we need this function to be not
|
||||
too
|
||||
precise (e.g. a hash of the title), but also not too flexible (e.g. random ngrams of the
|
||||
|
@ -207,7 +204,6 @@
|
|||
different versions and no clustering function will ever bring them into the same cluster.
|
||||
To match these requirements OpenAIRE clustering for products works with two functions:
|
||||
</div>
|
||||
|
||||
<ul class="portal-circle">
|
||||
<li>
|
||||
<div>DOI: the function generates the DOI when this is provided as part of the record
|
||||
|
@ -233,7 +229,8 @@
|
|||
</ul>
|
||||
<div>
|
||||
To give an idea, this configuration generates around 77Mi blocks, which we limited to 200
|
||||
records each (only 15K blocks are affected by the cut), and entails 260Bi matches. Matches in
|
||||
records each (only 15K blocks are affected by the cut), and entails 260Bi matches. Matches
|
||||
in
|
||||
a
|
||||
block are performed using a “sliding window” set to 80 records. The records are sorted
|
||||
lexicographically on a normalized version of their titles. The 1st record is matched against
|
||||
|
@ -242,20 +239,19 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="!dedupClusteringReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="dedupClusteringReadMore = true">
|
||||
<a class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
<div *ngIf="!dedupClusteringReadMore" class="uk-text-center clickable">
|
||||
|
||||
<a (click)="dedupClusteringReadMore = true" class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
</div>
|
||||
<div *ngIf="dedupClusteringReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="dedupClusteringReadMore = false">
|
||||
<a class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
<div *ngIf="dedupClusteringReadMore" class="uk-text-center clickable">
|
||||
<a (click)="dedupClusteringReadMore = false;" routerLink="./" fragment="tabs_card" class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<img class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image"
|
||||
src="assets/graph-assets/about/architecture/deduplication.svg" alt="Deduplication">
|
||||
<div
|
||||
[class]="'uk-margin-bottom uk-margin-medium-right uk-text-small '+(dedupMatchingAndElectionReadMore ? '' : 'lines-18 multi-line-ellipsis')">
|
||||
<div class="uk-margin-bottom uk-margin-medium-right uk-text-small lines-18"
|
||||
[class.multi-line-ellipsis]="!dedupMatchingAndElectionReadMore">
|
||||
<div>
|
||||
<div>
|
||||
Once the clusters have been built, the algorithm proceeds with the comparisons.
|
||||
|
@ -305,7 +301,8 @@
|
|||
The titles of the two records are normalised and compared for similarity by applying
|
||||
the
|
||||
Levenstein distance algorithm.
|
||||
The algorithm returns a number in the range [0,1], where 0 means “very different” and
|
||||
The algorithm returns a number in the range [0,1], where 0 means “very different”
|
||||
and
|
||||
1
|
||||
means “equal”.
|
||||
If the distance is greater than or equal 0,99 the two records are identified as
|
||||
|
@ -314,7 +311,8 @@
|
|||
</li>
|
||||
<li>
|
||||
<div>Dates are not regarded for equivalence matching because different versions of the
|
||||
same records should be merged and may be published on different dates, e.g. pre-print
|
||||
same records should be merged and may be published on different dates, e.g.
|
||||
pre-print
|
||||
and published version of an article.
|
||||
</div>
|
||||
</li>
|
||||
|
@ -322,9 +320,11 @@
|
|||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
Once the equivalence relationships between pairs of records are set, the groups of equivalent
|
||||
Once the equivalence relationships between pairs of records are set, the groups of
|
||||
equivalent
|
||||
records are obtained (transitive closure, i.e. “mesh”).
|
||||
From such sets a new representative object is obtained, which inherits all properties from the
|
||||
From such sets a new representative object is obtained, which inherits all properties from
|
||||
the
|
||||
merged records and keeps track of their provenance.
|
||||
The ID of the record is obtained by appending the prefix “dedup_” to the MD5 of the first ID
|
||||
(given their lexicographical ordering).
|
||||
|
@ -334,176 +334,138 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="!dedupMatchingAndElectionReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="dedupMatchingAndElectionReadMore = true">
|
||||
<a class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
<div *ngIf="!dedupMatchingAndElectionReadMore" class="uk-text-center clickable">
|
||||
<a (click)="dedupMatchingAndElectionReadMore = true" class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
</div>
|
||||
<div *ngIf="dedupMatchingAndElectionReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="dedupMatchingAndElectionReadMore = false">
|
||||
<a class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
<div *ngIf="dedupMatchingAndElectionReadMore" class="uk-text-center clickable">
|
||||
<a (click)="dedupMatchingAndElectionReadMore = false" routerLink="./" fragment="tabs_card" class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-width-expand">-->
|
||||
<!-- <img src="assets/graph-assets/about/architecture/deduplication.svg">-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="uk-grid">
|
||||
<!-- <div class="uk-width-3-5@m">-->
|
||||
<div class="uk-margin-bottom uk-margin-medium-right uk-text-small">
|
||||
<div class="uk-margin-bottom uk-text-small">
|
||||
<ul class="uk-subnav button-tab uk-grid uk-grid-small" uk-switcher>
|
||||
<li><a>General</a></li>
|
||||
<li><a>Mining</a></li>
|
||||
<li><a>Bulk tagging/ Deduction</a></li>
|
||||
<li><a>Propagation</a></li>
|
||||
</ul>
|
||||
|
||||
<ul class="uk-switcher uk-margin">
|
||||
<li>
|
||||
<img class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image"
|
||||
src="assets/graph-assets/about/architecture/enrichment.svg" alt="Enrichment">
|
||||
<div class="uk-margin-bottom uk-margin-medium-right uk-text-small">
|
||||
<p>
|
||||
The aggregation processes are continuously running and apply vocabularies as they are in a given
|
||||
moment of time.
|
||||
It could be the case that a vocabulary changes after the aggregation of one data source has
|
||||
finished,
|
||||
thus the aggregated content does not reflect the current status of the controlled vocabularies.
|
||||
<br><br>
|
||||
In addition, the integration of ScholeXplorer and DOIBooost and some enrichment processes
|
||||
applied
|
||||
on the raw
|
||||
and on the de-duplicated graph may introduce values that do not comply with the current status
|
||||
of
|
||||
the OpenAIRE controlled vocabularies.
|
||||
For these reasons, we included a final step of cleansing at the end of the workflow
|
||||
materialisation.
|
||||
The output of the final cleansing step is the final version of the OpenAIRE Research Graph.
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<img class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image"
|
||||
src="assets/graph-assets/about/architecture/enrichment.svg" alt="Enrichment">
|
||||
<div
|
||||
[class]="'uk-margin-bottom uk-margin-medium-right uk-text-small '+(enrichmentMiningReadMore ? '' : 'lines-18 multi-line-ellipsis')">
|
||||
<div class="uk-margin-bottom uk-margin-medium-right uk-text-small lines-18"
|
||||
[class.multi-line-ellipsis]="!enrichmentMiningReadMore">
|
||||
<div>
|
||||
<div>
|
||||
The OpenAIRE Research Graph is enriched by links mined by OpenAIRE’s full-text mining
|
||||
algorithms
|
||||
that scan the plaintexts of publications for funding information, references to datasets,
|
||||
software URIs, accession numbers of bioetities, and EPO patent mentions.
|
||||
Custom mining modules also link research objects to specific research communities, initiatives
|
||||
and infrastructures.
|
||||
In addition, other inference modules provide content-based document classification, document
|
||||
similarity, citation matching, and author affiliation matching.
|
||||
<br><br>
|
||||
<span class="portal-color">Project mining</span>
|
||||
in OpenAIRE text mines the full-texts of publications in order to extract matches to funding
|
||||
project codes/IDs.
|
||||
The mining algorithm works by utilising
|
||||
(i) the grant identifier, and
|
||||
(ii) the project acronym (if available) of each project.
|
||||
The mining algorithm:
|
||||
(1) Preprocesses/normalizes the full-texts using several functions, which depend on the
|
||||
characteristics of each funder (i.e., the format of the grant identifiers), such as stopword
|
||||
and/or punctuation removal, tokenization, stemming, converting to lowercase; then
|
||||
(2) String matching of grant identifiers against the normalized text is done using database
|
||||
techniques; and
|
||||
(3) The results are validated and cleaned using the context near the match by looking at the
|
||||
context around the matched ID for relevant metadata and positive or negative words/phrases, in
|
||||
order to calculate a confidence value for each publication-->project link.
|
||||
A confidence threshold is set to optimise high accuracy while minimising false positives, such
|
||||
as matches with page or report numbers, post/zip codes, parts of telephone numbers, DOIs or
|
||||
URLs, accession numbers.
|
||||
The algorithm also applies rules for disambiguating results, as different funders can share
|
||||
identical project IDs; for example, grant number 633172 could refer to H2020 project EuroMix
|
||||
but
|
||||
also to Australian-funded NHMRC project “Brain activity (EEG) analysis and brain imaging
|
||||
techniques to measure the neurobiological effects of sleep apnea”.
|
||||
Project mining works very well and was the first Text & Data Mining (TDM) service of OpenAIRE.
|
||||
Performance results vary from funder to funder but precision is higher than 98% for all
|
||||
funders
|
||||
and 99.5% for EC projects.
|
||||
Recall is higher than 95% (99% for EC projects), when projects are properly acknowledged using
|
||||
project/grant IDs.
|
||||
<br><br>
|
||||
<span class="portal-color">Dataset extraction</span>
|
||||
runs on publications full-texts as described in “High pass text-filtering for Citation
|
||||
matching”, TPDL 2017[1].
|
||||
In particular, we search for citations to datasets using their DOIs, titles and other metadata
|
||||
(i.e., dates, creator names, publishers, etc.).
|
||||
We extract parts of the text which look like citations and search for datasets using database
|
||||
join and pattern matching techniques.
|
||||
Based on the experiments described in the paper, precision of the dataset extraction module is
|
||||
98.5% and recall is 97.4% but it is also probably overestimated since it does not take into
|
||||
account corruptions that may take place during pdf to text extraction.
|
||||
It is calculated on the extracted full-texts of small samples from PubMed and arXiv.
|
||||
<br><br>
|
||||
<span class="portal-color">Software extraction</span>
|
||||
runs also on parts of the text which look like citations.
|
||||
We search the citations for links to software in open software repositories, specifically
|
||||
github, sourceforge, bitbucket and the google code archive.
|
||||
After that, we search for links that are included in Software Heritage (SH,
|
||||
https://www.softwareheritage.org) and return the permanent URL that SH provides for each
|
||||
software project.
|
||||
We also enrich this content with user names, titles and descriptions of the software projects
|
||||
using web mining techniques.
|
||||
Since software mining is based on URL matching, our precision is 100% (we return a software
|
||||
link
|
||||
only if we find it in the text and there is no need to disambiguate).
|
||||
As for recall rate, this is not calculable for this mining task.
|
||||
Although we apply all the necessary normalizations to the URLs in order to overcome usual
|
||||
issues
|
||||
(e.g., http or https, existence of www or not, lower/upper case), we do not calculate cases
|
||||
where a software is mentioned using its name and not by a link from the supported software
|
||||
repositories.
|
||||
<br><br>
|
||||
<span class="portal-color">For the extraction of bio-entities</span>, we focus on Protein Data
|
||||
Bank (PDB) entries.
|
||||
We have downloaded the database with PDB codes and we update it regularly.
|
||||
We search through the whole publication’s full-text for references to PDB codes.
|
||||
We apply disambiguation rules (e.g., there are PDB codes that are the same as antibody codes
|
||||
or
|
||||
other issues) so that we return valid results.
|
||||
Current precision is 98%.
|
||||
Although it's risky to mention recall rates since these are usually overestimated, we have
|
||||
calculated a recall rate of 98% using small samples from pubmed publications.
|
||||
Moreover, our technique is able to identify about 30% more links to proteins than the ones
|
||||
that
|
||||
are tagged in Pubmed xmls.
|
||||
<br><br>
|
||||
<span class="portal-color">Other text-mining modules</span> include mining for links to EPO
|
||||
patents, or custom mining modules for linking research objects to specific research
|
||||
communities,
|
||||
initiatives and infrastructures, e.g. COVID-19 mining module.
|
||||
Apart from text-mining modules, OpenAIRE also provides a document classification service that
|
||||
employs analysis of free text stemming from the abstracts of the publications.
|
||||
The purpose of applying a document classification module is to assign a scientific text one or
|
||||
more predefined content classes.
|
||||
In OpenAIRE, the currently used taxonomies are arXiv, MeSH (Medical Subject Headings), ACM and
|
||||
DDC (Dewey Decimal Classification, or Dewey Decimal System).
|
||||
<br><br>
|
||||
<hr>
|
||||
[1] Foufoulas, Y., Stamatogiannakis, L., Dimitropoulos, H., & Ioannidis, Y. (2017, September).
|
||||
High-Pass Text Filtering for Citation Matching.
|
||||
In International Conference on Theory and Practice of Digital Libraries (pp. 355-366).
|
||||
Springer,
|
||||
Cham.
|
||||
</div>
|
||||
The OpenAIRE Research Graph is enriched by links mined by OpenAIRE’s full-text mining
|
||||
algorithms
|
||||
that scan the plaintexts of publications for funding information, references to datasets,
|
||||
software URIs, accession numbers of bioetities, and EPO patent mentions.
|
||||
Custom mining modules also link research objects to specific research communities, initiatives
|
||||
and infrastructures.
|
||||
In addition, other inference modules provide content-based document classification, document
|
||||
similarity, citation matching, and author affiliation matching.
|
||||
<br><br>
|
||||
<span class="portal-color">Project mining</span>
|
||||
in OpenAIRE text mines the full-texts of publications in order to extract matches to funding
|
||||
project codes/IDs.
|
||||
The mining algorithm works by utilising
|
||||
(i) the grant identifier, and
|
||||
(ii) the project acronym (if available) of each project.
|
||||
The mining algorithm:
|
||||
(1) Preprocesses/normalizes the full-texts using several functions, which depend on the
|
||||
characteristics of each funder (i.e., the format of the grant identifiers), such as stopword
|
||||
and/or punctuation removal, tokenization, stemming, converting to lowercase; then
|
||||
(2) String matching of grant identifiers against the normalized text is done using database
|
||||
techniques; and
|
||||
(3) The results are validated and cleaned using the context near the match by looking at the
|
||||
context around the matched ID for relevant metadata and positive or negative words/phrases, in
|
||||
order to calculate a confidence value for each publication-->project link.
|
||||
A confidence threshold is set to optimise high accuracy while minimising false positives, such
|
||||
as matches with page or report numbers, post/zip codes, parts of telephone numbers, DOIs or
|
||||
URLs, accession numbers.
|
||||
The algorithm also applies rules for disambiguating results, as different funders can share
|
||||
identical project IDs; for example, grant number 633172 could refer to H2020 project EuroMix
|
||||
but
|
||||
also to Australian-funded NHMRC project “Brain activity (EEG) analysis and brain imaging
|
||||
techniques to measure the neurobiological effects of sleep apnea”.
|
||||
Project mining works very well and was the first Text & Data Mining (TDM) service of OpenAIRE.
|
||||
Performance results vary from funder to funder but precision is higher than 98% for all
|
||||
funders
|
||||
and 99.5% for EC projects.
|
||||
Recall is higher than 95% (99% for EC projects), when projects are properly acknowledged using
|
||||
project/grant IDs.
|
||||
<br><br>
|
||||
<span class="portal-color">Dataset extraction</span>
|
||||
runs on publications full-texts as described in “High pass text-filtering for Citation
|
||||
matching”, TPDL 2017[1].
|
||||
In particular, we search for citations to datasets using their DOIs, titles and other metadata
|
||||
(i.e., dates, creator names, publishers, etc.).
|
||||
We extract parts of the text which look like citations and search for datasets using database
|
||||
join and pattern matching techniques.
|
||||
Based on the experiments described in the paper, precision of the dataset extraction module is
|
||||
98.5% and recall is 97.4% but it is also probably overestimated since it does not take into
|
||||
account corruptions that may take place during pdf to text extraction.
|
||||
It is calculated on the extracted full-texts of small samples from PubMed and arXiv.
|
||||
<br><br>
|
||||
<span class="portal-color">Software extraction</span>
|
||||
runs also on parts of the text which look like citations.
|
||||
We search the citations for links to software in open software repositories, specifically
|
||||
github, sourceforge, bitbucket and the google code archive.
|
||||
After that, we search for links that are included in Software Heritage (SH,
|
||||
https://www.softwareheritage.org) and return the permanent URL that SH provides for each
|
||||
software project.
|
||||
We also enrich this content with user names, titles and descriptions of the software projects
|
||||
using web mining techniques.
|
||||
Since software mining is based on URL matching, our precision is 100% (we return a software
|
||||
link
|
||||
only if we find it in the text and there is no need to disambiguate).
|
||||
As for recall rate, this is not calculable for this mining task.
|
||||
Although we apply all the necessary normalizations to the URLs in order to overcome usual
|
||||
issues
|
||||
(e.g., http or https, existence of www or not, lower/upper case), we do not calculate cases
|
||||
where a software is mentioned using its name and not by a link from the supported software
|
||||
repositories.
|
||||
<br><br>
|
||||
<span class="portal-color">For the extraction of bio-entities</span>, we focus on Protein Data
|
||||
Bank (PDB) entries.
|
||||
We have downloaded the database with PDB codes and we update it regularly.
|
||||
We search through the whole publication’s full-text for references to PDB codes.
|
||||
We apply disambiguation rules (e.g., there are PDB codes that are the same as antibody codes
|
||||
or
|
||||
other issues) so that we return valid results.
|
||||
Current precision is 98%.
|
||||
Although it's risky to mention recall rates since these are usually overestimated, we have
|
||||
calculated a recall rate of 98% using small samples from pubmed publications.
|
||||
Moreover, our technique is able to identify about 30% more links to proteins than the ones
|
||||
that
|
||||
are tagged in Pubmed xmls.
|
||||
<br><br>
|
||||
<span class="portal-color">Other text-mining modules</span> include mining for links to EPO
|
||||
patents, or custom mining modules for linking research objects to specific research
|
||||
communities,
|
||||
initiatives and infrastructures, e.g. COVID-19 mining module.
|
||||
Apart from text-mining modules, OpenAIRE also provides a document classification service that
|
||||
employs analysis of free text stemming from the abstracts of the publications.
|
||||
The purpose of applying a document classification module is to assign a scientific text one or
|
||||
more predefined content classes.
|
||||
In OpenAIRE, the currently used taxonomies are arXiv, MeSH (Medical Subject Headings), ACM and
|
||||
DDC (Dewey Decimal Classification, or Dewey Decimal System).
|
||||
<br><br>
|
||||
<hr>
|
||||
[1] Foufoulas, Y., Stamatogiannakis, L., Dimitropoulos, H., & Ioannidis, Y. (2017, September).
|
||||
High-Pass Text Filtering for Citation Matching.
|
||||
In International Conference on Theory and Practice of Digital Libraries (pp. 355-366).
|
||||
Springer,
|
||||
Cham.
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="!enrichmentMiningReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="enrichmentMiningReadMore = true">
|
||||
<a class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
<div *ngIf="!enrichmentMiningReadMore" class="uk-text-center clickable">
|
||||
<a (click)="enrichmentMiningReadMore = true" class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
</div>
|
||||
<div *ngIf="enrichmentMiningReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="enrichmentMiningReadMore = false">
|
||||
<a class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
<div *ngIf="enrichmentMiningReadMore" class="uk-text-center clickable">
|
||||
<a (click)="enrichmentMiningReadMore = false" routerLink="./" fragment="tabs_card" class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -521,7 +483,8 @@
|
|||
<li>Zenodo community (16K results tagged)</li>
|
||||
<li>the data source it comes from (250K results tagged)</li>
|
||||
</ul>
|
||||
The list of subjects, Zenodo communities and data sources used to enrich the products are defined
|
||||
The list of subjects, Zenodo communities and data sources used to enrich the products are
|
||||
defined
|
||||
by
|
||||
the managers of the community gateway or infrastructure monitoring dashboard associated with the
|
||||
RC/RI.
|
||||
|
@ -530,11 +493,11 @@
|
|||
<li>
|
||||
<img class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image"
|
||||
src="assets/graph-assets/about/architecture/enrichment.svg" alt="Enrichment">
|
||||
<div
|
||||
[class]="'uk-margin-bottom uk-margin-medium-right uk-text-small '+(enrichmentPropagationReadMore ? '' : 'lines-18 multi-line-ellipsis')">
|
||||
<div>
|
||||
<div class="uk-margin-bottom uk-margin-medium-right uk-text-small lines-18"
|
||||
[class.multi-line-ellipsis]="!enrichmentPropagationReadMore">
|
||||
<div>
|
||||
This process “propagates” properties and links from one product to another if between the two
|
||||
This process “propagates” properties and links from one product to another if between the
|
||||
two
|
||||
there is a “strong” semantic relationship.
|
||||
<br><br>
|
||||
As of September 2020, the following procedures are in place:
|
||||
|
@ -549,13 +512,16 @@
|
|||
by”
|
||||
a dataset D.
|
||||
Dataset D will get the link to project P.
|
||||
The relationships considered for this procedure are “isSupplementedBy” and “supplements”.
|
||||
The relationships considered for this procedure are “isSupplementedBy” and
|
||||
“supplements”.
|
||||
</li>
|
||||
<li>
|
||||
Propagation of related community/infrastructure/initiative from organizations to products
|
||||
Propagation of related community/infrastructure/initiative from organizations to
|
||||
products
|
||||
via affiliation relationships: e.g. a publication with an author affiliated with
|
||||
organization O.
|
||||
The manager of the community gateway C declared that the outputs of O are all relevant for
|
||||
The manager of the community gateway C declared that the outputs of O are all relevant
|
||||
for
|
||||
his/her community C.
|
||||
The publication is tagged as relevant for C.
|
||||
</li>
|
||||
|
@ -563,7 +529,8 @@
|
|||
Propagation of related community/infrastructure/initiative to related products: e.g.
|
||||
publication associated to community C is supplemented by a dataset D.
|
||||
Dataset D will get the association to C.
|
||||
The relationships considered for this procedure are “isSupplementedBy” and “supplements”.
|
||||
The relationships considered for this procedure are “isSupplementedBy” and
|
||||
“supplements”.
|
||||
</li>
|
||||
<li>
|
||||
Propagation of ORCID identifiers to related products, if the products have the same
|
||||
|
@ -573,53 +540,45 @@
|
|||
the same authors as the publication. Authors of D are enriched with the ORCIDs available
|
||||
in
|
||||
the publication.
|
||||
The relationships considered for this procedure are “isSupplementedBy” and “supplements”.
|
||||
The relationships considered for this procedure are “isSupplementedBy” and
|
||||
“supplements”.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="!enrichmentPropagationReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="enrichmentPropagationReadMore = true">
|
||||
<a class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
<div *ngIf="!enrichmentPropagationReadMore" class="uk-text-center clickable">
|
||||
<a (click)="enrichmentPropagationReadMore = true" class="custom-explore-toggle">Read more<span uk-icon="chevron-down"></span></a>
|
||||
</div>
|
||||
<div *ngIf="enrichmentPropagationReadMore" class="uk-width-3-5@m uk-text-center clickable"
|
||||
(click)="enrichmentPropagationReadMore = false">
|
||||
<a class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
<div *ngIf="enrichmentPropagationReadMore" class="uk-text-center clickable">
|
||||
<a (click)="enrichmentPropagationReadMore = false" routerLink="./" fragment="tabs_card" class="custom-explore-toggle">Read less<span uk-icon="chevron-up"></span></a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-width-expand">-->
|
||||
<!-- <img src="assets/graph-assets/about/architecture/enrichment.svg">-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="uk-text-small uk-margin-large-top">
|
||||
<!-- <div class="uk-width-3-5@m">-->
|
||||
<img class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image"
|
||||
src="assets/graph-assets/about/architecture/post_cleaning.svg" alt="Post Cleaning">
|
||||
<div class="uk-margin-bottom uk-margin-medium-right">
|
||||
<p>
|
||||
The aggregation processes are continuously running and apply vocabularies as they are in a given moment of time.
|
||||
It could be the case that a vocabulary changes after the aggregation of one data source has finished, thus the aggregated content does not reflect the current status of the controlled vocabularies.
|
||||
The aggregation processes are continuously running and apply vocabularies as they are in a given
|
||||
moment of time.
|
||||
It could be the case that a vocabulary changes after the aggregation of one data source has
|
||||
finished, thus the aggregated content does not reflect the current status of the controlled
|
||||
vocabularies.
|
||||
<br><br>
|
||||
In addition, the integration of ScholeXplorer and DOIBoost and some enrichment processes applied on the raw and on the de-duplicated graph may introduce values that do not comply with the current status of the OpenAIRE controlled vocabularies.
|
||||
In addition, the integration of ScholeXplorer and DOIBoost and some enrichment processes applied on
|
||||
the raw and on the de-duplicated graph may introduce values that do not comply with the current
|
||||
status of the OpenAIRE controlled vocabularies.
|
||||
For these reasons, we included a final step of cleansing at the end of the workflow materialisation.
|
||||
The output of the final cleansing step is the final version of the OpenAIRE Research Graph.
|
||||
</p>
|
||||
</div>
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-width-expand">-->
|
||||
<!-- <img src="assets/graph-assets/about/architecture/post_cleaning.svg">-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="uk-text-small uk-margin-large-top">
|
||||
<!-- <div class="uk-width-3-5@m">-->
|
||||
<img class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image"
|
||||
src="assets/graph-assets/about/architecture/indexing.svg" alt="Indexing">
|
||||
<div class="uk-margin-bottom uk-margin-medium-right">
|
||||
|
@ -637,7 +596,8 @@
|
|||
</li>
|
||||
<li class="uk-margin-small-bottom">
|
||||
<span class="portal-color">DSpace & EPrints</span>
|
||||
repositories can install the OpenAIRE plugin to expose OpenAIRE compliant metadata records via their
|
||||
repositories can install the OpenAIRE plugin to expose OpenAIRE compliant metadata records via
|
||||
their
|
||||
OAI-PMH endpoint and offer to researchers the possibility to link their depositions to the funding
|
||||
project, by selecting it from the list of project provided by OpenAIRE
|
||||
</li>
|
||||
|
@ -647,20 +607,16 @@
|
|||
Sygma automatically fetches from the OpenAIRE Search API the list of publications and datasets in
|
||||
the
|
||||
OpenAIRE Research Graph that are linked to the project.
|
||||
The user can select the research products from the list and easily compile the continuous reporting
|
||||
The user can select the research products from the list and easily compile the continuous
|
||||
reporting
|
||||
data of the project.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-width-expand">-->
|
||||
<!-- <img src="assets/graph-assets/about/architecture/indexing.svg">-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="uk-text-small uk-margin-large-top">
|
||||
<!-- <div class="uk-width-3-5@m">-->
|
||||
<img
|
||||
class="uk-width-2-5@m uk-align-right@m uk-margin-remove-adjacent tab-image uk-padding-large uk-padding-remove-top uk-padding-remove-horizontal"
|
||||
src="assets/graph-assets/about/architecture/stats_analysis.svg" alt="Stats Analysis">
|
||||
|
@ -670,7 +626,8 @@
|
|||
producing
|
||||
the charts for funders, research initiative, infrastructures, and policy makers that you can see on
|
||||
MONITOR.
|
||||
Based on the information available on the graph, OpenAIRE provides a set of indicators for monitoring
|
||||
Based on the information available on the graph, OpenAIRE provides a set of indicators for
|
||||
monitoring
|
||||
the funding and research impact and the uptake of Open Science publishing practices,
|
||||
such as Open Access publishing of publications and datasets, availability of interlinks between
|
||||
research
|
||||
|
@ -678,10 +635,6 @@
|
|||
etc.
|
||||
</p>
|
||||
</div>
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-width-expand">-->
|
||||
<!-- <img src="assets/graph-assets/about/architecture/stats_analysis.svg">-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -692,7 +645,7 @@
|
|||
<ul class="uk-text-small portal-circle">
|
||||
<li>
|
||||
<a href="https://aka.ms/msracad" target="_blank">Microsoft Academic Graph</a>
|
||||
which is made available under the ODC Attribution License.
|
||||
which is made available under the ODC Attribution License.<br>
|
||||
For more information on Microsoft Academic Graph please also read
|
||||
<a href="https://docs.microsoft.com/en-us/academic-services/graph/resources-faq" target="_blank">here</a>.
|
||||
</li>
|
||||
|
@ -700,21 +653,16 @@
|
|||
<a href="https://www.openaire.eu/aggregation-and-content-provision-workflows" target="_blank">https://www.openaire.eu/aggregation-and-content-provision-workflows</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="portal-link uk-icon-link uk-text-small uk-text-bold uk-text-uppercase" routerLink="/resources/references">
|
||||
See all references <icon name="arrow_right" class="uk-margin-small-left"></icon>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="metrics" class="uk-container uk-container-large uk-section">
|
||||
<div class="uk-padding-small">
|
||||
<h2 class="uk-text-center">Data & Metrics</h2>
|
||||
<h4 class="uk-text-center uk-margin-medium-top portal-color">Coming soon...</h4>
|
||||
<!-- <div>-->
|
||||
<!-- <h3 class="uk-margin-medium-top portal-color">Data</h3>-->
|
||||
<!-- <div></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div>-->
|
||||
<!-- <h3 class="uk-margin-medium-top portal-color">Metrics</h3>-->
|
||||
<!-- <div></div>-->
|
||||
<!-- </div>-->
|
||||
<h2 class="uk-text-center uk-margin-xlarge-bottom">Data & Metrics</h2>
|
||||
<numbers [backgroundClass]="null"></numbers>
|
||||
</div>
|
||||
</div>
|
||||
<div id="infrastructure" class="uk-container uk-section">
|
||||
|
@ -722,31 +670,35 @@
|
|||
<h2 class="uk-text-center">Infrastructure</h2>
|
||||
<div>
|
||||
<div class="uk-flex uk-flex-center uk-grid uk-grid-stack">
|
||||
<!-- <div>-->
|
||||
<p class="uk-width-4-5@m uk-padding-small">
|
||||
The OpenAIRE Research Graph is operated and maintained at the <a
|
||||
<p class="uk-width-4-5@m uk-padding-small">
|
||||
The OpenAIRE Research Graph is operated and maintained at the <a
|
||||
href="https://icm.edu.pl/en/centre-of-technology/" target="_blank">ICM cutting-edge Technology centre</a>
|
||||
with the facilities and staff guaranteeing robust operation of the whole system.
|
||||
Okeanos SuperComputer hosting the graph consists of 26016 cores in total providing 1082 Tflops/s.
|
||||
Whole setup is energy efficient with 1.554 Gflops/Watts Power Efficiency resulting in 160th place on the "Top500 by energy-eficiency" list (as of 2019).
|
||||
</p>
|
||||
<img class="infrastructure-image uk-margin-top uk-margin-bottom" src="assets/graph-assets/about/infrastructure.png">
|
||||
<p class="uk-width-4-5@m uk-padding-small">
|
||||
ICM supports the continuous operation of the infrastructure including data aggregation, deduplication, inference and provision ensuring seamless 24/7 system uptime and availability.
|
||||
System administration activities cover hardware maintenance and provisioning of the new computational resources, providing High Availability solutions to address resilience to failures by service-level redundancy and Load Balancing to distribute workloads uniformly across servers.
|
||||
The most crucial parts of the persisted graph are covered with backups along with well defined restore procedures.
|
||||
All the monitoring activities rely on an aggregated system-level monitoring accessible via various dashboards giving the better overview of system stability and potential requirements for system elements extension.
|
||||
System level monitoring is supplemented with monitoring availability of all the publicly accessible endpoints.
|
||||
Hence, the offer of the public API of OpenAIRE to third parties, is of high-standards.
|
||||
</p>
|
||||
<p class="uk-width-4-5@m uk-padding-small">
|
||||
All the maintenance operations undertaken by experienced system administrators are founded on well established routines and emergency maintenance procedures.
|
||||
</p>
|
||||
|
||||
<!-- The OpenAIRE graph operates based on a vast variety of hardware and software. As of December 2019, the-->
|
||||
<!-- hardware infrastructure is the following:-->
|
||||
<!-- </p>-->
|
||||
<!-- </div>-->
|
||||
with the facilities and staff guaranteeing robust operation of the whole system.
|
||||
Okeanos SuperComputer hosting the graph consists of 26016 cores in total providing 1082 Tflops/s.
|
||||
Whole setup is energy efficient with 1.554 Gflops/Watts Power Efficiency resulting in 160th place on the
|
||||
"Top500 by energy-eficiency" list (as of 2019).
|
||||
</p>
|
||||
<img class="infrastructure-image uk-margin-top uk-margin-bottom"
|
||||
src="assets/graph-assets/about/infrastructure.png">
|
||||
<p class="uk-width-4-5@m uk-padding-small">
|
||||
ICM supports the continuous operation of the infrastructure including data aggregation, deduplication,
|
||||
inference and provision ensuring seamless 24/7 system uptime and availability.
|
||||
System administration activities cover hardware maintenance and provisioning of the new computational
|
||||
resources, providing High Availability solutions to address resilience to failures by service-level
|
||||
redundancy and Load Balancing to distribute workloads uniformly across servers.
|
||||
The most crucial parts of the persisted graph are covered with backups along with well defined restore
|
||||
procedures.
|
||||
All the monitoring activities rely on an aggregated system-level monitoring accessible via various
|
||||
dashboards giving the better overview of system stability and potential requirements for system elements
|
||||
extension.
|
||||
System level monitoring is supplemented with monitoring availability of all the publicly accessible
|
||||
endpoints.
|
||||
Hence, the offer of the public API of OpenAIRE to third parties, is of high-standards.
|
||||
</p>
|
||||
<p class="uk-width-4-5@m uk-padding-small">
|
||||
All the maintenance operations undertaken by experienced system administrators are founded on well
|
||||
established routines and emergency maintenance procedures.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -756,11 +708,6 @@
|
|||
<h2 class="uk-text-center">Team</h2>
|
||||
<div>
|
||||
<div class="uk-margin-bottom">
|
||||
<!-- <div class="uk-flex uk-flex-middle uk-grid" uk-grid="">-->
|
||||
<!-- <div class="uk-text-center uk-width-1-1@s uk-width-1-3@m uk-first-column">-->
|
||||
<!-- <img src="assets/graph-assets/about/team.svg">-->
|
||||
<!-- </div>-->
|
||||
|
||||
<img class="uk-align-center uk-align-left@m uk-margin-remove-adjacent"
|
||||
src="assets/graph-assets/about/team.svg" alt="Team">
|
||||
|
||||
|
@ -768,14 +715,12 @@
|
|||
<div class="uk-margin-medium-bottom">
|
||||
Key team members contributing to the Research Graph
|
||||
</div>
|
||||
<div>
|
||||
<a class="uk-button portal-button" target="_blank" href="https://www.openaire.eu/research-graph-team">
|
||||
<div><a class="uk-button portal-button" routerLink="./team">
|
||||
Meet the team
|
||||
<icon name="arrow_right" ratio="0.8" class="space"></icon>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -55,15 +55,6 @@ export class AboutComponent implements OnInit {
|
|||
this.subs.push(this._piwikService.trackView(this.properties, this.title).subscribe());
|
||||
}
|
||||
}
|
||||
|
||||
goTo(id: string) {
|
||||
const yOffset = -100;
|
||||
const element = document.getElementById(id);
|
||||
if(element) {
|
||||
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
||||
window.scrollTo({top: y, behavior: 'smooth'});
|
||||
}
|
||||
}
|
||||
|
||||
changeTab(index: number) {
|
||||
UIkit.switcher(this.tabs.nativeElement).show(index);
|
||||
|
|
|
@ -9,18 +9,22 @@ import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
|||
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
|
||||
import {arrow_right} from "../openaireLibrary/utils/icons/icons";
|
||||
import {Schema2jsonldModule} from '../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module';
|
||||
import {NumbersModule} from '../openaireLibrary/sharedComponents/numbers/numbers.module';
|
||||
import {TeamComponent} from './team.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterModule.forChild([{
|
||||
path: '', component: AboutComponent
|
||||
}]),
|
||||
RouterModule.forChild([
|
||||
{path: '', component: AboutComponent},
|
||||
{path: 'team', component: TeamComponent},
|
||||
]),
|
||||
BreadcrumbsModule,
|
||||
IconsModule,
|
||||
Schema2jsonldModule
|
||||
Schema2jsonldModule,
|
||||
NumbersModule
|
||||
],
|
||||
declarations: [AboutComponent, ActionPointComponent],
|
||||
declarations: [AboutComponent, ActionPointComponent, TeamComponent],
|
||||
exports: [AboutComponent]
|
||||
})
|
||||
export class AboutModule {
|
||||
|
|
|
@ -7,12 +7,12 @@ import {animate, state, style, transition, trigger} from "@angular/animations";
|
|||
<div class="uk-position-relative" style="width: 15px; height: 15px;">
|
||||
<div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15" fill="none">
|
||||
<circle cx="7.5" cy="7.5" r="7.5" fill="#ee2540"/>
|
||||
<circle cx="7.5" cy="7.5" r="7.5" fill="var(--portal-main-color)"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="uk-position-top-left" [@move]="state" (@move.done)="onEnd($event)">
|
||||
<svg width="15" height="15" viewBox="0 0 15 15" fill="none">
|
||||
<circle cx="7.4" cy="6.6" r="5" stroke="#ee2540" stroke-width="2.5" fill="none" />
|
||||
<circle cx="7.5" cy="6.5" r="5" stroke="var(--portal-main-color)" stroke-width="2.5" fill="none" />
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
export const faqs = [
|
||||
/* {
|
||||
question: 'Test',
|
||||
answer: 'Test'
|
||||
}*/
|
||||
];
|
|
@ -0,0 +1,32 @@
|
|||
.uk-card .uk-card-flip-inner .front,
|
||||
.uk-card .uk-card-flip-inner .back {
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 2px 5px #0000001a;
|
||||
border: 1px solid #E0E0E0;
|
||||
font-size: 14px;
|
||||
font-family: "Roboto", sans-serif;
|
||||
line-height: 19px;
|
||||
color: rgba(26, 26, 26, 0.8);
|
||||
}
|
||||
|
||||
.uk-card:hover .uk-card-flip-inner .front,
|
||||
.uk-card:hover .uk-card-flip-inner .back {
|
||||
box-shadow: 0 6px 15px #0000001A;
|
||||
}
|
||||
|
||||
.uk-card .front img,
|
||||
.uk-card .back img {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
border-radius: 50%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.uk-card .back img {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.uk-card .uk-card-flip-inner .uk-text-muted {
|
||||
color: rgba(26, 26, 26, 0.6);
|
||||
}
|
|
@ -0,0 +1,85 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {Breadcrumb} from '../openaireLibrary/utils/breadcrumbs/breadcrumbs.component';
|
||||
import {member, team} from './team';
|
||||
|
||||
@Component({
|
||||
selector: 'team',
|
||||
template: `
|
||||
<div>
|
||||
<div class="uk-section">
|
||||
<div class="uk-margin-large-left uk-margin-medium-bottom">
|
||||
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
||||
</div>
|
||||
<div class="uk-container">
|
||||
<h2 class="uk-text-center">Meet The Team</h2>
|
||||
<div class="uk-padding-small">
|
||||
<div class="uk-grid uk-child-width-1-3@m uk-child-width-1-2@s uk-child-width-1-1 uk-margin-large-top" uk-grid>
|
||||
<div *ngFor="let member of team;" class="uk-card uk-card-flip" [class.uk-active]="member.active === true">
|
||||
<div class="uk-card-flip-inner">
|
||||
<div class="front">
|
||||
<div class="uk-padding">
|
||||
<div class="uk-text-center">
|
||||
<img [src]="'assets/graph-assets/about/team/' + member.photo">
|
||||
<div class="uk-margin-medium-top role">
|
||||
<h6 class="portal-color">{{member.name}}</h6>
|
||||
<div class="uk-text-muted">
|
||||
{{member.role}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-position-bottom-center uk-margin-bottom">
|
||||
<a class="portal-link" (click)="member.active = true">Learn more</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="back">
|
||||
<div class="uk-padding">
|
||||
<div class="uk-text-center">
|
||||
<img [src]="'assets/graph-assets/about/team/' + member.photo">
|
||||
<div class="uk-margin-medium-top">
|
||||
<h6 class="uk-text-center portal-color">{{member.name}}</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-margin-small-bottom">
|
||||
<span class="uk-text-bold">Role: </span> {{member.role}}
|
||||
</div>
|
||||
<div class="uk-margin-small-bottom">
|
||||
<span class="uk-text-bold">Affiliation: </span> {{member.affiliation}}
|
||||
</div>
|
||||
<div>
|
||||
<span class="uk-text-bold">Country: </span> {{member.country}}
|
||||
</div>
|
||||
<!-- <div>
|
||||
<span class="uk-text-bold">Responsibilities: </span> {{member.responsibilities}}
|
||||
</div>-->
|
||||
</div>
|
||||
<div class="uk-position-bottom-center uk-margin-bottom">
|
||||
<a class="portal-link" (click)="member.active = false">Back</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`,
|
||||
styleUrls: ['team.component.css']
|
||||
})
|
||||
export class TeamComponent {
|
||||
public team: member[] = team;
|
||||
public breadcrumbs: Breadcrumb[] = [
|
||||
{
|
||||
name: 'home',
|
||||
route: '/'
|
||||
},
|
||||
{
|
||||
name: 'about',
|
||||
route: '/about'
|
||||
},
|
||||
{
|
||||
name: 'Team'
|
||||
}
|
||||
];
|
||||
}
|
|
@ -0,0 +1,135 @@
|
|||
export interface member {
|
||||
name: string,
|
||||
role: string,
|
||||
affiliation: string,
|
||||
country: string,
|
||||
responsibilities: string,
|
||||
photo: string,
|
||||
active?: boolean
|
||||
}
|
||||
|
||||
export const team: member[] = [
|
||||
{
|
||||
name: 'Alessia Bardi',
|
||||
role: 'Researcher / Product Manager of the OpenAIRE Research Community Dashboard (CONNECT)',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities:
|
||||
'Responsible for the design and operation of the pipeline for the materialisation and data quality evaluation of the graph\n' +
|
||||
'Responsible for the integration of content for the communities using OpenAIRE CONNECT services.',
|
||||
photo: 'alessia.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Amelie Bäcker',
|
||||
role: 'Librarian',
|
||||
affiliation: 'Bielefeld University Library',
|
||||
country: 'Germany',
|
||||
responsibilities: 'Metadata integration (standard cases), helpdesk support (OpenAIRE Guidelines, metadata integration).',
|
||||
photo: 'amelie.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Andrea Dell Amico',
|
||||
role: 'Τechnical Team - Systems Administrator',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities: 'Working on the computing and storage infrastructure on the CNR side, maintaining the Hadoop and ElasticSearch clusters.',
|
||||
photo: 'dell_amico.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Andrea Mannocci',
|
||||
role: 'Researcher/Data scientist',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities: 'Working on data analysis and quality of data.',
|
||||
photo: 'mannocci.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Andreas Czerniak',
|
||||
role: 'OpenAIRE Project Officer',
|
||||
affiliation: 'Bielefeld University Library',
|
||||
country: 'Germany',
|
||||
responsibilities: 'Responsible with the UniBI team for the aggregation (collection and transformation) of metadata.',
|
||||
photo: 'czerniak.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Claudio Atzori',
|
||||
role: 'Software & Data Engineer / Data quality',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities:
|
||||
'Responsible for the design of graph processing pipeline, glueing the different stages together, from the content aggregation, to the end of the supply chain at the indexing stage.',
|
||||
photo: 'claudio.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Eleni Zacharia-Lamprou',
|
||||
role: 'Software Engineer - Postdoctoral Researcher',
|
||||
affiliation: 'Athena Research Center (ARC)',
|
||||
country: 'Greece',
|
||||
responsibilities: 'Implementation of Text and Data Mining (TDM) modules, used in the graph Enrichment phase.',
|
||||
photo: 'eleni.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Enrico Ottonello',
|
||||
role: 'Technical Team',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities: 'Data engineering, aggregation, data curation along the graph enrichment steps.',
|
||||
photo: 'enrico.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Harry Dimitropoulos',
|
||||
role: 'Senior Scientific Associate',
|
||||
affiliation: 'Athena Research Center (ARC)',
|
||||
country: 'Greece',
|
||||
responsibilities: 'Responsible for the Text and Data Mining (TDM) modules used in the graph Enrichment phase.',
|
||||
photo: 'dimitropoulos.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Lampros Smyrnaios',
|
||||
role: 'Software & Data Engineer / Research Assistant',
|
||||
affiliation: 'Athena Research Center (ARC)',
|
||||
country: 'Greece',
|
||||
responsibilities: 'Development of a software to extract the full-texts from publications\' web-pages. These full-texts are used by the Text and Data Mining (TDM) modules. Implementation of Text and Data Mining (TDM) modules, used in the graph Enrichment phase.',
|
||||
photo: 'lampros.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Michele De Bonis',
|
||||
role: 'Technical Team',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities: 'Responsible for the deduplication phase and the creation of algorithms to identify groups of data into the graph.',
|
||||
photo: 'de_bonis.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Miriam Baglioni',
|
||||
role: 'Researcher / Software & Data Engineer / Data quality',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities: 'Responsible for the graph enrichment steps not related to mining, and to the production of the graph dumps.',
|
||||
photo: 'miriam.jpeg'
|
||||
},
|
||||
{
|
||||
name: 'Paolo Manghi',
|
||||
role: 'Chief Technical Officer',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities: 'Responsible for the design and roadmapping of the OpenAIRE infrastructure services, their operation, evolution, and interaction with third-parties.',
|
||||
photo: 'paolo.png'
|
||||
},
|
||||
{
|
||||
name: 'Sandro La Bruzzo',
|
||||
role: 'Technical Team',
|
||||
affiliation: 'Institute of Information Science and Technologies, Italian National Research Council',
|
||||
country: 'Italy',
|
||||
responsibilities: 'Responsible for the graph enrichment steps including the generation of DOIBoost.',
|
||||
photo: 'sandro.jpg'
|
||||
},
|
||||
{
|
||||
name: 'Yannis Foufoulas',
|
||||
role: 'Software Engineer / Researcher',
|
||||
affiliation: 'Athena Research Center (ARC)',
|
||||
country: 'Greece',
|
||||
responsibilities: 'Implementation of Text and Data Mining (TDM) modules used in the graph Enrichment phase.',
|
||||
photo: 'yiannis.jpg'
|
||||
}
|
||||
]
|
|
@ -64,18 +64,13 @@ export class AppComponent implements OnInit, OnDestroy {
|
|||
{
|
||||
rootItem: new MenuItem("resources", "Resources", "", "/resources", false, [], null, {}),
|
||||
items: [
|
||||
// new MenuItem("api", "API", "", "/resources", false, [], null, {}),
|
||||
// new MenuItem("schema", "Metadata Schema", "", "/resources", false, [], null, {}, null, "schema"),
|
||||
// new MenuItem("sources", "Sources", "", "/resources", false, [], null, {}, null, "sources"),
|
||||
new MenuItem("api", "API", "", "/resources", false, [], null, {}),
|
||||
new MenuItem("references", "References", "", "/resources/references", false, [], null, {})
|
||||
]
|
||||
},
|
||||
{
|
||||
rootItem: new MenuItem("contact", "Support", "", "/support", false, [], null, {}),
|
||||
items: [
|
||||
// new MenuItem("contact", "Contact", "", "/support", false, [], null, {}),
|
||||
// new MenuItem("documentation", "Documentation", "", "/support", false, [], null, {}, null, "documentation"),
|
||||
// new MenuItem("faq", "FAQs", "", "/support", false, [], null, {}, null, "faq"),
|
||||
]
|
||||
items: []
|
||||
}
|
||||
];
|
||||
if(!isHome) {
|
||||
|
|
|
@ -83,9 +83,9 @@
|
|||
<div class="uk-margin-top">
|
||||
<div class="target uk-text-center" style="">
|
||||
<a class="uk-link uk-button uk-text-capitalize uk-text-small"
|
||||
href="https://subugoe.github.io/scholcomm_analytics/posts/oaire_graph_2020/"
|
||||
href="https://www.openaire.eu/factsheet-research-graph/view-document"
|
||||
target="_blank">
|
||||
How to
|
||||
Support Material
|
||||
<icon name="arrow_right" class="space"></icon>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -51,10 +51,6 @@
|
|||
animation-duration: 1.5s;
|
||||
}
|
||||
|
||||
.numbers-background {
|
||||
background: transparent url('assets/graph-assets/home/5.svg') repeat-x center bottom;
|
||||
}
|
||||
|
||||
.fade-out {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
|
|
|
@ -115,6 +115,24 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
Explore
|
||||
</div>
|
||||
<div id="cases">
|
||||
<div class="uk-section uk-container uk-container-large">
|
||||
<div class="uk-padding-small">
|
||||
<div class="uk-text-center">
|
||||
<h2 class="uk-margin-remove-bottom">Use Cases</h2>
|
||||
<h6 class="uk-margin-small-top">Brief presentations of our success stories</h6>
|
||||
</div>
|
||||
<div class="uk-grid uk-child-width-1-3@m uk-child-width-1-1" uk-grid>
|
||||
<div class="">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="services">
|
||||
<div class="uk-section uk-container uk-container-large">
|
||||
|
@ -285,88 +303,10 @@
|
|||
<h2 class="uk-text-center">
|
||||
We believe in <span class="uk-text-bold">Numbers</span>
|
||||
</h2>
|
||||
<div class="uk-margin-large-top uk-container uk-margin-bottom uk-text-center">
|
||||
<div class="uk-grid uk-child-width-1-3@m">
|
||||
<div *ngIf="fundersSize">
|
||||
<h3>
|
||||
<a href="https://explore.openaire.eu/search/find/projects" target="_blank" class="uk-text-bold number">
|
||||
{{fundersSize.number|number}}<span class="number-size">{{fundersSize.size}}</span>
|
||||
</a>
|
||||
</h3>
|
||||
<span class="uk-text-uppercase uk-text-large">Funders</span>
|
||||
</div>
|
||||
<div *ngIf="datasourcesSize">
|
||||
<h3>
|
||||
<a href="https://explore.openaire.eu/search/find/dataproviders" target="_blank"
|
||||
class="uk-text-bold number">
|
||||
{{datasourcesSize.number|number}}<span class="number-size">{{datasourcesSize.size}}</span>
|
||||
</a>
|
||||
</h3>
|
||||
<span class="uk-text-uppercase uk-text-large">Content providers</span>
|
||||
</div>
|
||||
<div *ngIf="projectsSize">
|
||||
<h3>
|
||||
<a href="https://explore.openaire.eu/search/find/projects" target="_blank" class="uk-text-bold number">
|
||||
{{projectsSize.number|number}}<span class="number-size">{{projectsSize.size}}</span>
|
||||
</a>
|
||||
</h3>
|
||||
<span class="uk-text-uppercase uk-text-large">Projects</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="numbers-background uk-section">
|
||||
<div class="uk-container">
|
||||
<div class="uk-grid uk-margin-auto-left uk-margin-auto-right uk-grid-large" uk-grid>
|
||||
<div *ngIf="publicationsSize" class="uk-width-1-2@m uk-flex uk-flex-center">
|
||||
<div class="number-width">
|
||||
<a href="https://explore.openaire.eu/search/find/research-outcomes?type=publications&qf=false"
|
||||
target="_blank" class="number uk-text-bold uk-margin-bottom">{{publicationsSize.count|number}} </a>
|
||||
<div class="uk-text-uppercase uk-flex uk-flex-middle">
|
||||
<icon name="book" ratio="1.5" [flex]="true" class="uk-margin-right"
|
||||
customClass="uk-text-secondary"></icon>
|
||||
<span>publications</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="datasetsSize" class="uk-width-1-2@m uk-flex uk-flex-center">
|
||||
<div class="number-width">
|
||||
<a href="https://explore.openaire.eu/search/find/research-outcomes?type=datasets&qf=false"
|
||||
target="_blank" class="number uk-text-bold uk-margin-bottom">{{datasetsSize.count|number}} </a>
|
||||
<div class="uk-text-uppercase uk-flex uk-flex-middle">
|
||||
<icon name="database" ratio="1.5" [flex]="true" class="uk-margin-right"
|
||||
customClass="uk-text-secondary"></icon>
|
||||
<span>research data</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="softwareSize" class="uk-width-1-2@m uk-flex uk-flex-center">
|
||||
<div class="number-width">
|
||||
<a href="https://explore.openaire.eu/search/find/research-outcomes?type=software&qf=false"
|
||||
target="_blank" class="number uk-text-bold uk-margin-bottom">{{softwareSize.count|number}} </a>
|
||||
<div class="uk-text-uppercase uk-flex uk-flex-middle">
|
||||
<icon name="cog" ratio="1.5" [flex]="true" class="uk-margin-right"
|
||||
customClass="uk-text-secondary"></icon>
|
||||
<span>software</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="otherSize" class="uk-width-1-2@m uk-flex uk-flex-center">
|
||||
<div class="number-width">
|
||||
<a href="https://explore.openaire.eu/search/find/research-outcomes?type=other&qf=false"
|
||||
target="_blank" class="number uk-text-bold uk-margin-bottom">{{otherSize.count|number}} </a>
|
||||
<div class="uk-text-uppercase uk-flex uk-flex-middle">
|
||||
<icon name="earth" ratio="1.5" [flex]="true" class="uk-margin-right"
|
||||
customClass="uk-text-secondary"></icon>
|
||||
<span>other research products</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<numbers></numbers>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="uk-section uk-container">
|
||||
<div class="uk-padding-small">
|
||||
|
|
|
@ -27,15 +27,6 @@ import {portals} from "./portals";
|
|||
})
|
||||
export class HomeComponent {
|
||||
public pageTitle = "OpenAIRE - Research Graph";
|
||||
public publicationsSize: any = null;
|
||||
public datasetsSize: any = null;
|
||||
public datasetsLinkedSize: any = null;
|
||||
public softwareLinkedSize: any = null;
|
||||
public softwareSize: any = null;
|
||||
public otherSize: any = null;
|
||||
public fundersSize: any = null;
|
||||
public projectsSize: any = null;
|
||||
public datasourcesSize: any = null;
|
||||
public portals: any[] = portals;
|
||||
public state: number = 0;
|
||||
public properties: EnvProperties = properties;
|
||||
|
@ -45,11 +36,6 @@ export class HomeComponent {
|
|||
constructor(
|
||||
private route: ActivatedRoute,
|
||||
private _router: Router,
|
||||
private _searchResearchResultsService: SearchResearchResultsService,
|
||||
private _searchDataprovidersService: SearchDataprovidersService,
|
||||
private _searchProjectsService: SearchProjectsService,
|
||||
private _searchOrganizationsService: SearchOrganizationsService,
|
||||
private _refineFieldResultsService: RefineFieldResultsService,
|
||||
private location: Location, private _piwikService: PiwikService,
|
||||
private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService
|
||||
) {
|
||||
|
@ -70,7 +56,6 @@ export class HomeComponent {
|
|||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||
this.subs.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||
}
|
||||
this.getNumbers();
|
||||
this.animation();
|
||||
}
|
||||
}
|
||||
|
@ -105,101 +90,4 @@ export class HomeComponent {
|
|||
});
|
||||
this.state = 0;
|
||||
}
|
||||
|
||||
private getNumbers() {
|
||||
this.subs.push(this._searchResearchResultsService.numOfSearchResults("publication", "", this.properties).subscribe(
|
||||
data => {
|
||||
if (data && data > 0) {
|
||||
this.publicationsSize = NumberUtils.roundNumber(data);
|
||||
|
||||
}
|
||||
},
|
||||
err => {
|
||||
this.handleError("Error getting number of publications", err);
|
||||
}
|
||||
));
|
||||
this.subs.push(this._searchResearchResultsService.numOfSearchResults("dataset", "", this.properties).subscribe(
|
||||
data => {
|
||||
if (data && data > 0) {
|
||||
this.datasetsSize = NumberUtils.roundNumber(data);
|
||||
}
|
||||
},
|
||||
err => {
|
||||
//console.log(err);
|
||||
this.handleError("Error getting number of research data", err);
|
||||
}
|
||||
));
|
||||
this.subs.push(this._searchResearchResultsService.numOfSearchResultsLinkedToPub("dataset", this.properties).subscribe(
|
||||
data => {
|
||||
if (data && data > 0) {
|
||||
this.datasetsLinkedSize = NumberUtils.roundNumber(data);
|
||||
}
|
||||
},
|
||||
err => {
|
||||
this.handleError("Error getting number of linkedresearch data", err);
|
||||
}
|
||||
));
|
||||
this.subs.push(this._searchResearchResultsService.numOfSearchResults("software", "", this.properties).subscribe(
|
||||
data => {
|
||||
if (data && data > 0) {
|
||||
this.softwareSize = NumberUtils.roundNumber(data);
|
||||
}
|
||||
},
|
||||
err => {
|
||||
this.handleError("Error getting number of software data", err);
|
||||
}
|
||||
));
|
||||
this.subs.push(this._searchResearchResultsService.numOfSearchResultsLinkedToPub("software", this.properties).subscribe(
|
||||
data => {
|
||||
if (data && data > 0) {
|
||||
this.softwareLinkedSize = NumberUtils.roundNumber(data);
|
||||
}
|
||||
},
|
||||
err => {
|
||||
this.handleError("Error getting number of linked software", err);
|
||||
}
|
||||
));
|
||||
this.subs.push(this._searchResearchResultsService.numOfSearchResults("other", "", this.properties).subscribe(
|
||||
data => {
|
||||
if (data && data > 0) {
|
||||
this.otherSize = NumberUtils.roundNumber(data);
|
||||
}
|
||||
},
|
||||
err => {
|
||||
this.handleError("Error getting number of software data", err);
|
||||
}
|
||||
));
|
||||
this.subs.push(this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"], "project", this.properties).subscribe(
|
||||
data => {
|
||||
|
||||
|
||||
if (data[0] && data[0] > 0) {
|
||||
this.projectsSize = NumberUtils.roundNumber(data[0]);
|
||||
}
|
||||
if (data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values) {
|
||||
this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
|
||||
}
|
||||
|
||||
},
|
||||
err => {
|
||||
this.handleError("Error getting 'funder' field results of projects", err);
|
||||
})
|
||||
);
|
||||
|
||||
this.subs.push(this._searchDataprovidersService.numOfSearchDataproviders("", this.properties).subscribe(
|
||||
data => {
|
||||
if (data && data > 0) {
|
||||
this.datasourcesSize = NumberUtils.roundNumber(data);
|
||||
}
|
||||
|
||||
},
|
||||
err => {
|
||||
this.handleError("Error getting number of content providers", err);
|
||||
}
|
||||
));
|
||||
}
|
||||
|
||||
private handleError(message: string, error) {
|
||||
console.error("Home Page: " + message, error);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import {QuickSelectionsModule} from "../openaireLibrary/searchPages/searchUtils/
|
|||
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
|
||||
import {arrow_right, book, cog, database, earth} from "../openaireLibrary/utils/icons/icons";
|
||||
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
||||
import {NumbersModule} from '../openaireLibrary/sharedComponents/numbers/numbers.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -32,14 +33,12 @@ import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
|||
RouterModule.forChild([{
|
||||
path: '', component: HomeComponent,
|
||||
}]),
|
||||
RefineFieldResultsServiceModule,
|
||||
DataProvidersServiceModule, SearchResearchResultsServiceModule,
|
||||
ProjectsServiceModule, OrganizationsServiceModule,
|
||||
SearchFormModule,
|
||||
PiwikServiceModule,
|
||||
HelperModule,
|
||||
ErrorMessagesModule,
|
||||
SEOServiceModule, OtherPortalsModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule
|
||||
SEOServiceModule, OtherPortalsModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule
|
||||
],
|
||||
declarations: [
|
||||
HomeComponent
|
||||
|
@ -53,6 +52,6 @@ import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
|||
})
|
||||
export class HomeModule {
|
||||
constructor(private iconsService: IconsService) {
|
||||
this.iconsService.registerIcons([arrow_right, book, database, cog, earth])
|
||||
this.iconsService.registerIcons([arrow_right])
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,178 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {Breadcrumb} from '../openaireLibrary/utils/breadcrumbs/breadcrumbs.component';
|
||||
|
||||
@Component({
|
||||
selector: 'references',
|
||||
template: `
|
||||
<div>
|
||||
<div class="uk-section">
|
||||
<div class="uk-margin-large-left uk-margin-medium-bottom">
|
||||
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
||||
</div>
|
||||
<div class="uk-container">
|
||||
<h2 class="uk-text-center">How to cite the graph</h2>
|
||||
<div class="uk-padding-small">
|
||||
<ul class="portal-circle">
|
||||
<li>If you use one of the <a href="https://zenodo.org/record/4201546" target="_blank">dumps of the OpenAIRE Research Graph</a>,
|
||||
please cite it following the recommendation that you find on the Zenodo page.
|
||||
</li>
|
||||
<li><span class="uk-text-bold">All datasets and software</span> are available in our Zenodo community for the OpenAIRE
|
||||
Research graph: <a href="https://zenodo.org/communities/openaire-research-graph" target="_blank">https://zenodo.org/communities/openaire-research-graph</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-container uk-section">
|
||||
<h2 class="uk-text-center">References</h2>
|
||||
<div class="uk-padding-small">
|
||||
This document gathers the bibliographic references relative to the implementation of the OpenAIRE graph processing pipeline, as
|
||||
well as the indications on how to cite the graph results.
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-container uk-section">
|
||||
<h2 class="uk-text-center">References on the graph pipeline</h2>
|
||||
<div class="uk-padding-small">
|
||||
<div class="uk-padding-large uk-padding-remove-horizontal">
|
||||
<h3 class="portal-color">Aggregation system</h3>
|
||||
<ul class="portal-circle uk-margin-medium-top">
|
||||
<li>Manghi, P., Artini, M., Atzori, C., Bardi, A., Mannocci, A., La Bruzzo, S., Candela, L., Castelli, D. and Pagano, P.
|
||||
(2014), “The D-NET software toolkit: A framework for the realization, maintenance, and operation of aggregative
|
||||
infrastructures”, Program: electronic library and information systems, Vol. 48 No. 4, pp. 322-354.
|
||||
<a href="https://doi.org/10.1108/PROG-08-2013-0045" target="_blank">https://doi.org/10.1108/PROG-08-2013-0045</a>
|
||||
</li>
|
||||
<li>
|
||||
Michele Artini, Claudio Atzori, Alessia Bardi, Sandro La Bruzzo, Paolo Manghi, & Andrea Mannocci. (2016, November 24). The
|
||||
D-NET software toolkit: dnet-basic-aggregator (Version 1.3.0). Zenodo.
|
||||
<a href="http://doi.org/10.5281/zenodo.168362" target="_blank">http://doi.org/10.5281/zenodo.168362</a>
|
||||
</li>
|
||||
<li>Atzori, C., Bardi, A., Manghi, P., & Mannocci, A. (2017, January). The OpenAIRE workflows for data management. In Italian
|
||||
Research Conference on Digital Libraries (pp. 95-107). Springer, Cham.
|
||||
</li>
|
||||
<li>
|
||||
Mannocci, A., & Manghi, P. (2016, September). DataQ: a data flow quality monitoring system for aggregative data
|
||||
infrastructures. In International Conference on Theory and Practice of Digital Libraries (pp. 357-369). Springer, Cham.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-margin-large-bottom">
|
||||
<h3 class="portal-color">Deduplication</h3>
|
||||
<ul class="portal-circle uk-margin-medium-top">
|
||||
<li>Claudio Atzori, & Paolo Manghi. (2017, February 17). gdup: a big graph entity deduplication system (Version 4.0.5).
|
||||
Zenodo. <a href="http://doi.org/10.5281/zenodo.4302081" target="_blank">http://doi.org/10.5281/zenodo.4302081</a>,
|
||||
<a href="https://code-repo.d4science.org/D-Net/dnet-dedup/releases" target="_blank">https://code-repo.d4science.org/D-Net/dnet-dedup/releases</a>
|
||||
</li>
|
||||
<li>
|
||||
Manghi, Paolo, Marko Mikulicic, and Claudio Atzori. "De-duplication of aggregation authority files." International Journal
|
||||
of Metadata, Semantics and Ontologies 7.2 (2012): 114-130. 10.1504/IJMSO.2012.050014.
|
||||
</li>
|
||||
<li>Manghi, P., Atzori, C., De Bonis, M., & Bardi, A. (2020). Entity deduplication in big data graphs for scholarly
|
||||
communication. Data Technologies and Applications. 10.1108/DTA-09-2019-0163.
|
||||
</li>
|
||||
<li>
|
||||
Atzori, C., Manghi, P., & Bardi, A. (2018, December). GDup: de-duplication of scholarly communication big graphs. In 2018
|
||||
IEEE/ACM 5th International Conference on Big Data Computing Applications and Technologies (BDCAT) (pp. 142-151). IEEE.
|
||||
10.1109/BDCAT.2018.00025.
|
||||
</li>
|
||||
<li>
|
||||
Atzori, Claudio. "GDup: an Integrated, Scalable Big Graph Deduplication System." (2016). 10.5281/zenodo.1454880.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-margin-large-bottom">
|
||||
<h3 class="portal-color">Mining</h3>
|
||||
<ul class="portal-circle uk-margin-medium-top">
|
||||
<li>M. Kobos, Ł. Bolikowski, M. Horst, P. Manghi, N. Manola, J. Schirrwagen, “Information inference in scholarly communication
|
||||
infrastructures: the OpenAIREplus project experience”, Procedia Computer Science 38, 92-99,
|
||||
<a href="http://dx.doi.org/10.1016/j.procs.2014.10.016" target="_blank">http://dx.doi.org/10.1016/j.procs.2014.10.016</a>
|
||||
</li>
|
||||
<li>
|
||||
Tkaczyk, D., Szostek, P., Fedoryszak, M. et al. CERMINE: automatic extraction of structured metadata from scientific
|
||||
literature. IJDAR 18, 317–335 (2015). <a href="https://doi.org/10.1007/s10032-015-0249-8" target="_blank">https://doi.org/10.1007/s10032-015-0249-8</a>
|
||||
</li>
|
||||
<li>Giannakopoulos T., Foufoulas Y., Dimitropoulos H., Manola N. (2019) “Interactive Text Analysis and Information
|
||||
Extraction”. In: Manghi P., Candela L., Silvello G. (eds) Digital Libraries: Supporting Open Science. IRCDL 2019.
|
||||
Communications in Computer and Information Science, vol 988. Springer, Cham.
|
||||
<a href="https://doi.org/10.1007/978-3-030-11226-4_27" target="_blank">https://doi.org/10.1007/978-3-030-11226-4_27</a>
|
||||
</li>
|
||||
<li>
|
||||
Foufoulas Y., Stamatogiannakis L., Dimitropoulos H., Ioannidis Y. (2017) “High-Pass Text Filtering for Citation Matching”.
|
||||
In: Kamps J., Tsakonas G., Manolopoulos Y., Iliadis L., Karydis I. (eds) Research and Advanced Technology for Digital
|
||||
Libraries. TPDL 2017. Lecture Notes in Computer Science, vol 10450. Springer, Cham.
|
||||
<a href="https://doi.org/10.1007/978-3-319-67008-9_28" target="_blank">https://doi.org/10.1007/978-3-319-67008-9_28</a>
|
||||
</li>
|
||||
<li>
|
||||
T. Giannakopoulos, I. Foufoulas, E. Stamatogiannakis, H. Dimitropoulos, N. Manola, and Y. Ioannidis. 2015. “Visual-Based
|
||||
Classification of Figures from Scientific Literature”. In Proceedings of the 24th International Conference on World Wide Web
|
||||
(WWW '15 Companion). Association for Computing Machinery, New York, NY, USA, 1059–1060.
|
||||
DOI: <a href="https://doi.org/10.1145/2740908.2742024" target="_blank">https://doi.org/10.1145/2740908.2742024</a>
|
||||
</li>
|
||||
<li>Giannakopoulos, T., Foufoulas, I., Stamatogiannakis, E., Dimitropoulos, H., Manola, N., & Ioannidis, Y. (2014).
|
||||
“Discovering and Visualizing Interdisciplinary Content Classes in Scientific Publications”. D-Lib Mag., Volume 20, Number
|
||||
11/12. <a href="https://doi.org/10.1045/november14-giannakopoulos" target="_blank">https://doi.org/10.1045/november14-giannakopoulos</a>
|
||||
</li>
|
||||
<li>Giannakopoulos T., Stamatogiannakis E., Foufoulas I., Dimitropoulos H., Manola N., Ioannidis Y. (2014) “Content
|
||||
Visualization of Scientific Corpora Using an Extensible Relational Database Implementation”. In: Bolikowski Ł., Casarosa V.,
|
||||
Goodale P., Houssos N., Manghi P., Schirrwagen J. (eds) Theory and Practice of Digital Libraries -- TPDL 2013 Selected
|
||||
Workshops. TPDL 2013. Communications in Computer and Information Science, vol 416. Springer, Cham.
|
||||
<a href="https://doi.org/10.1007/978-3-319-08425-1_10" target="_blank">https://doi.org/10.1007/978-3-319-08425-1_10</a>,
|
||||
also in: <a
|
||||
href="https://books.google.gr/books?hl=en&lr=&id=EVMqBAAAQBAJ&oi=fnd&pg=PA101&dq=info:SJ9N406OYsEJ:scholar.google.com&ots=z-eB4d3wkv&sig=rEc-V3CBqcOD6gja6p5wLVHq4jc&redir_esc=y#v=onepage&q&f=false"
|
||||
target="_blank">Google Books</a>
|
||||
</li>
|
||||
<li>Giannakopoulos T., Dimitropoulos H., Metaxas O., Manola N., Ioannidis Y. (2013) “Supervised Content Visualization of
|
||||
Scientific Publications: A Case Study on the ArXiv Dataset”. In: Kłopotek M.A., Koronacki J., Marciniak M., Mykowiecka A.,
|
||||
Wierzchoń S.T. (eds) Language Processing and Intelligent Information Systems. IIS 2013. Lecture Notes in Computer Science,
|
||||
vol 7912. Springer, Berlin, Heidelberg. <a href="https://doi.org/10.1007/978-3-642-38634-3_23" target="_blank">https://doi.org/10.1007/978-3-642-38634-3_23</a>
|
||||
</li>
|
||||
<li>Y. Chronis, Y. Foufoulas, V. Nikolopoulos, A. Papadopoulos, L. Stamatogiannakis, C. Svingos, Y. E. Ioannidis, "A
|
||||
Relational Approach to Complex Dataflows", in Workshop Proceedings of the EDBT/ICDT 2016 (MEDAL 2016) Joint Conference
|
||||
(March 15, 2016, Bordeaux, France) on CEUR-WS.org (ISSN 1613-0073): <a href="http://ceur-ws.org/Vol-1558/paper45.pdf"
|
||||
target="_blank">http://ceur-ws.org/Vol-1558/paper45.pdf</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-margin-large-bottom">
|
||||
<h3 class="portal-color">Portals</h3>
|
||||
<ul class="portal-circle uk-margin-medium-top">
|
||||
<li>Baglioni M. et al. (2019) The OpenAIRE Research Community Dashboard: On Blending Scientific Workflows and Scientific
|
||||
Publishing. In: Doucet A., Isaac A., Golub K., Aalberg T., Jatowt A. (eds) Digital Libraries for Open Knowledge. TPDL 2019.
|
||||
Lecture Notes in Computer Science, vol 11799. Springer, Cham.
|
||||
<a href="http://doi-org-443.webvpn.fjmu.edu.cn/10.1007/978-3-030-30760-8_5" target="_blank">http://doi-org-443.webvpn.fjmu.edu.cn/10.1007/978-3-030-30760-8_5</a>
|
||||
(Open Access version at
|
||||
<a href="https://doi.org/10.5281/zenodo.3467104" target="_blank">https://doi.org/10.5281/zenodo.3467104</a>).
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-margin-large-bottom">
|
||||
<h3 class="portal-color">Broker Service</h3>
|
||||
<ul class="portal-circle uk-margin-medium-top">
|
||||
<li>Artini, M., Atzori, C., Bardi, A., La Bruzzo, S., Manghi, P., & Mannocci, A. (2015). The OpenAIRE literature broker
|
||||
service for institutional repositories. D-Lib Magazine, 21(11/12), 1.
|
||||
</li>
|
||||
<li>Manghi, P., Atzori, C., Bardi, A., La Bruzzo, S., & Artini, M. (2016, February). Realizing a Scalable and History-Aware
|
||||
Literature Broker Service for OpenAIRE. In Italian Research Conference on Digital Libraries (pp. 92-103). Springer, Cham.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`,
|
||||
styleUrls: ['references.component.css']
|
||||
})
|
||||
export class ReferencesComponent {
|
||||
public breadcrumbs: Breadcrumb[] = [
|
||||
{
|
||||
name: 'home',
|
||||
route: '/'
|
||||
},
|
||||
{
|
||||
name: 'Resources',
|
||||
route: '/resources'
|
||||
},
|
||||
{
|
||||
name: 'References'
|
||||
}
|
||||
];
|
||||
}
|
|
@ -17,11 +17,11 @@
|
|||
<ul class="portal-circle">
|
||||
<li>
|
||||
How to access the Graph (SLA and Terms of Use)<br>
|
||||
<a href="http://develop.openaire.eu/" target="_blank">http://develop.openaire.eu/</a>
|
||||
<a href="https://develop.openaire.eu" target="_blank">https://develop.openaire.eu</a>
|
||||
</li>
|
||||
<li>
|
||||
Metadata (APIs and dumps)<br>
|
||||
<a href="http://develop.openaire.eu/graph-dumps.html" target="_blank">http://develop.openaire.eu/graph-dumps.html</a>
|
||||
<a href="https://develop.openaire.eu/graph-dumps.html" target="_blank">https://develop.openaire.eu/graph-dumps.html</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -5,17 +5,19 @@ import {RouterModule} from "@angular/router";
|
|||
import {ResourcesComponent} from "./resources.component";
|
||||
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
|
||||
import {Schema2jsonldModule} from '../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module';
|
||||
import {ReferencesComponent} from './references.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterModule.forChild([{
|
||||
path: '', component: ResourcesComponent
|
||||
}]),
|
||||
RouterModule.forChild([
|
||||
{path: '', component: ResourcesComponent},
|
||||
{path: 'references', component: ReferencesComponent}
|
||||
]),
|
||||
BreadcrumbsModule,
|
||||
Schema2jsonldModule
|
||||
],
|
||||
declarations: [ResourcesComponent],
|
||||
declarations: [ResourcesComponent, ReferencesComponent],
|
||||
exports: [ResourcesComponent]
|
||||
})
|
||||
export class ResourcesModule {
|
||||
|
|
Before Width: | Height: | Size: 531 KiB After Width: | Height: | Size: 236 KiB |
Before Width: | Height: | Size: 467 KiB After Width: | Height: | Size: 737 KiB |
Before Width: | Height: | Size: 451 KiB After Width: | Height: | Size: 667 KiB |
Before Width: | Height: | Size: 443 KiB After Width: | Height: | Size: 671 KiB |
Before Width: | Height: | Size: 436 KiB After Width: | Height: | Size: 649 KiB |
Before Width: | Height: | Size: 453 KiB After Width: | Height: | Size: 668 KiB |
Before Width: | Height: | Size: 440 KiB After Width: | Height: | Size: 674 KiB |
Before Width: | Height: | Size: 440 KiB After Width: | Height: | Size: 664 KiB |
Before Width: | Height: | Size: 413 KiB After Width: | Height: | Size: 222 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 515 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 150 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 102 KiB |
After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 263 KiB |
After Width: | Height: | Size: 504 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 93 KiB |
|
@ -6,7 +6,13 @@
|
|||
<url>
|
||||
<loc>https://graph.openaire.eu/about</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://graph.openaire.eu/about/team</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://graph.openaire.eu/resources</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://graph.openaire.eu/resources/references</loc>
|
||||
</url>
|
||||
</urlset>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
main {
|
||||
min-height: calc(100vh - 100px);
|
||||
line-height: 30px;
|
||||
line-height: 25px;
|
||||
letter-spacing: 0.16px;
|
||||
font-size: 16px;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
|
@ -39,7 +39,7 @@ main {
|
|||
/* Unordered list*/
|
||||
ul.portal-circle {
|
||||
list-style: none;
|
||||
padding-left: 20px;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
ul.portal-circle li {
|
||||
|
@ -146,6 +146,10 @@ ul.uk-text-small.portal-circle li:before {
|
|||
border-color: #eeeeee !important;
|
||||
}
|
||||
|
||||
.numbers-background {
|
||||
background: transparent url('assets/graph-assets/home/5.svg') repeat-x center bottom;
|
||||
}
|
||||
|
||||
.number {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
|
|