[Graph | Trunk]: Add missing properties. Change logos on home slider. Fix margins and paddings to be the same in all pages

git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-graph-portal/trunk@59546 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
Konstantinos Triantafyllou 2020-10-09 16:37:06 +00:00
parent b2d7a25385
commit f8d8b514fd
11 changed files with 917 additions and 707 deletions

View File

@ -98,6 +98,6 @@
align-self: start;
}
.uk-align-right\@m .uk-list>li::before, .uk-align-right\@m .uk-list>li::after {
.align-list li:before, .align-list li:after {
display: inline;
}

View File

@ -1,55 +1,78 @@
<div class="about">
<div class="uk-section uk-padding-remove-bottom">
<div class="uk-section">
<div class="uk-margin-large-left uk-margin-medium-bottom">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
</div>
<!-- <div class="uk-align-center">-->
<div class="firstBackground">
<div class="uk-container uk-container-large uk-section uk-padding-remove-top">
<div class="uk-container">
<h2 class="uk-text-center">About</h2>
<div class="uk-flex uk-flex-center">
<div class="uk-padding-small uk-width-3-5@m">
<div class="uk-padding-small uk-width-4-5@m">
<p>
Open Science is gradually becoming the modus operandi in research practices, affecting the way researchers collaborate and publish, discover, and access scientific knowledge.
Scientists are increasingly publishing research results beyond the article, to share all scientific products (metadata and files) generated during an experiment, such as datasets, software, experiments.
They publish in scholarly communication data sources (e.g. institutional repositories, data archives, software repositories), rely where possible on persistent identifiers (e.g. DOI, ORCID, Grid.ac, PDBs), specify semantic links to other research products (e.g. supplementedBy, citedBy, versionOf), and possibly to projects and/or relative funders.
By following such practices, scientists are implicitly constructing the Global Open Science Graph, where by "graph" we mean a collection of objects interlinked by semantic relationships.
Open Science is gradually becoming the modus operandi in research practices, affecting the way researchers
collaborate and publish, discover, and access scientific knowledge.
Scientists are increasingly publishing research results beyond the article, to share all scientific
products (metadata and files) generated during an experiment, such as datasets, software, experiments.
They publish in scholarly communication data sources (e.g. institutional repositories, data archives,
software repositories), rely where possible on persistent identifiers (e.g. DOI, ORCID, Grid.ac, PDBs),
specify semantic links to other research products (e.g. supplementedBy, citedBy, versionOf), and possibly
to projects and/or relative funders.
By following such practices, scientists are implicitly constructing the Global Open Science Graph, where
by "graph" we mean a collection of objects interlinked by semantic relationships.
<br><br>
The OpenAIRE Research Graph includes metadata and links between scientific products (e.g. literature, datasets, software, and "other research products"), organizations, funders, funding streams, projects, communities, and (provenance) data sources - the details of the <a href="https://zenodo.org/record/2643199#.XOqdstMzZ24" target="_blank">graph data model</a> can be found in Zenodo.org.
The OpenAIRE Research Graph includes metadata and links between scientific products (e.g. literature,
datasets, software, and "other research products"), organizations, funders, funding streams, projects,
communities, and (provenance) data sources - the details of the <a
href="https://zenodo.org/record/2643199#.XOqdstMzZ24" target="_blank">graph data model</a> can be found
in Zenodo.org.
<br><br>
The Graph is available and obtained as an aggregation of the metadata and links collected from ~70.000 trusted sources, further enriched with metadata and links provided by:</p>
The Graph is available and obtained as an aggregation of the metadata and links collected from ~70.000
trusted sources, further enriched with metadata and links provided by:</p>
<ul class="portal-circle">
<li class="uk-margin-bottom">OpenAIRE end-users, e.g. researchers, project administrators, data curators providing links from scientific products to projects, funders, communities, or other products;</li>
<li class="uk-margin-bottom">OpenAIRE Full-text mining algorithms over around ~10Mi Open Access article full-texts;</li>
<li>Research infrastructure scholarly services, bridged to the graph via OpenAIRE, exposing metadata of products such as research workflows, experiments, research objects, software, etc..</li>
<li class="uk-margin-bottom">OpenAIRE end-users, e.g. researchers, project administrators, data curators
providing links from scientific products to projects, funders, communities, or other products;
</li>
<li class="uk-margin-bottom">OpenAIRE Full-text mining algorithms over around ~10Mi Open Access article
full-texts;
</li>
<li>Research infrastructure scholarly services, bridged to the graph via OpenAIRE, exposing metadata of
products such as research workflows, experiments, research objects, software, etc..
</li>
</ul>
</div>
</div>
</div>
</div>
<!-- <div class="uk-margin-large-bottom">-->
<div id="architecture" class="uk-container uk-container-large uk-section">
</div>
<div id="architecture" class="uk-container uk-section">
<div class="uk-padding-small">
<h2 class="uk-text-center">Architecture</h2>
<div class="uk-flex uk-flex-center">
<div class="uk-padding uk-width-2-3@m">
<div class="uk-width-4-5@m">
<h3 class="uk-margin-medium-top portal-color">How we build it</h3>
<div>
<p>
OpenAIRE collects metadata records from more than 70K scholarly communication sources from all over the world, including Open Access institutional repositories, data archives, journals.
All the metadata records (i.e. descriptions of research products) are put together in a data lake, together with records from Crossref, Unpaywall, ORCID, Grid.ac, and information about projects provided by national and international funders.
Dedicated inference algorithms applied to metadata and to the full-texts of Open Access publications enrich the content of the data lake with links between research results and projects, author affiliations, subject classification, links to entries from domain-specific databases.
Duplicated organisations and results are identified and merged together to obtain an open, trusted, public resource enabling explorations of the scholarly communication landscape like never before.
OpenAIRE collects metadata records from more than 70K scholarly communication sources from all over the
world, including Open Access institutional repositories, data archives, journals.
All the metadata records (i.e. descriptions of research products) are put together in a data lake,
together
with records from Crossref, Unpaywall, ORCID, Grid.ac, and information about projects provided by national
and international funders.
Dedicated inference algorithms applied to metadata and to the full-texts of Open Access publications
enrich
the content of the data lake with links between research results and projects, author affiliations,
subject
classification, links to entries from domain-specific databases.
Duplicated organisations and results are identified and merged together to obtain an open, trusted, public
resource enabling explorations of the scholarly communication landscape like never before.
</p>
</div>
</div>
</div>
<div class="uk-flex uk-flex-center uk-inline">
<img [src]="'assets/graph-assets/about/architecture/'+architectureImage" class="uk-width-4-5 architecture-image">
<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" style="left: 27%; top: 48%"
(click)="goTo('tabs_card'); changeTab(0)"
@ -88,7 +111,6 @@
src="assets/graph-assets/about/architecture/marker.gif" alt="action point stats analysis">
</a>
</div>
<div id="tabs_card"
class="uk-margin-xlarge-top uk-margin-large-left uk-margin-large-right uk-card uk-card-default uk-card-body architecture-card">
<ul #tabs uk-tab class="uk-tab">
@ -107,22 +129,35 @@
<!-- <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 '+(aggregationReadMore ? '' : 'lines-18 multi-line-ellipsis')">
<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>.
<br><br>
OpenAIRE aggregates metadata records describing objects of the research life-cycle from content providers compliant to the
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, re3data, DOAJ, and funder databases).
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.
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
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 values are harmonised according to a common format (e.g. dates as YYYY-MM-dd) and, whenever applicable, to a common controlled vocabulary.
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>.
Each vocabulary features a set of controlled terms, each with one code, one label, and a set of synonyms.
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 large set of links between research literature and data.
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"
@ -148,35 +183,61 @@
<li><a>Matching & Election</a></li>
</ul>
<ul class="uk-switcher uk-margin">
<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 '+(dedupClusteringReadMore ? '' : 'lines-18 multi-line-ellipsis')">
<div>
<div>
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 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 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 title).
On the other hand, reality tells us that in some cases equality of two records can only be determined by their PIDs (e.g. DOI) as the metadata properties are very different across different versions and no clustering function will ever bring them into the same cluster.
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
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
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
title).
On the other hand, reality tells us that in some cases equality of two records can only be
determined by their PIDs (e.g. DOI) as the metadata properties are very different across
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 properties;</div>
<div>DOI: the function generates the DOI when this is provided as part of the record
properties;
</div>
</li>
<li>
<div>
Title-based function: the function generates a key that depends on
(i) number of significant words in the title (normalized, stemming, etc.),
(ii) module 10 of the number of characters of such words, and
(iii) a string obtained as an alternation of the function prefix(3) and suffix(3) (and vice versa) o the first 3 words (2 words if the title only has 2). For example, the title “Entity deduplication in big data graphs for scholarly communication” becomes “entity deduplication big data graphs scholarly communication” with two keys key “7.1entionbig” and “7.1itydedbig” (where 1 is module 10 of 54 characters of the normalized title.
(iii) a string obtained as an alternation of the function prefix(3) and suffix(3) (and
vice
versa) o the first 3 words (2 words if the title only has 2). For example, the title
“Entity
deduplication in big data graphs for scholarly communication” becomes “entity
deduplication
big data graphs scholarly communication” with two keys key “7.1entionbig” and
“7.1itydedbig”
(where 1 is module 10 of 54 characters of the normalized title.
</div>
</li>
</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 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 all the 80 following ones, then the second, etc. for an NlogN complexity.
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
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
all
the 80 following ones, then the second, etc. for an NlogN complexity.
</div>
</div>
</div>
@ -192,7 +253,8 @@
<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 '+(dedupMatchingAndElectionReadMore ? '' : 'lines-18 multi-line-ellipsis')">
<div>
<div>
Once the clusters have been built, the algorithm proceeds with the comparisons.
@ -201,7 +263,9 @@
<ul class="uk-list">
<li class="uk-margin-small-bottom">
<div>
<span class="portal-color">1.</span> Tries to capture equivalence via PIDs: if records share a PID then they are equivalent
<span class="portal-color">1.</span> Tries to capture equivalence via PIDs: if records
share
a PID then they are equivalent
</div>
</li>
<li class="uk-margin-small-bottom">
@ -212,7 +276,8 @@
<li class="uk-margin-small-bottom">
<div>
<span class="portal-color">a.</span>
If record titles contain different “numbers” then they are different (this rule is subject to different feelings, and should be fine-tuned);
If record titles contain different “numbers” then they are different (this rule is
subject to different feelings, and should be fine-tuned);
</div>
</li>
<li class="uk-margin-small-bottom">
@ -224,7 +289,9 @@
<li class="uk-margin-small-bottom">
<div>
<span class="portal-color">c.</span>
Note that different PIDs do not imply different records, as different versions may have different PIDs.
Note that different PIDs do not imply different records, as different versions may
have
different PIDs.
</div>
</li>
</ul>
@ -234,22 +301,35 @@
<ul class="uk-list portal-circle">
<li>
<div>
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 1 means “equal”.
If the distance is greater than or equal 0,99 the two records are identified as duplicates.
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
1
means “equal”.
If the distance is greater than or equal 0,99 the two records are identified as
duplicates.
</div>
</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 and published version of an article.</div>
<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
and published version of an article.
</div>
</li>
</ul>
</li>
</ul>
<div>
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 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).
A new, more stable function to generate the ID is under development, which exploits the DOI when one of the records to be merged includes a Crossref or a DataCite record.
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
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).
A new, more stable function to generate the ID is under development, which exploits the DOI
when
one of the records to be merged includes a Crossref or a DataCite record.
</div>
</div>
</div>
@ -287,13 +367,20 @@
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,
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.
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>
@ -301,60 +388,111 @@
<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 '+(enrichmentMiningReadMore ? '' : 'lines-18 multi-line-ellipsis')">
<div>
<div>
The OpenAIRE Research Graph is enriched by links mined by OpenAIREs 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.
The OpenAIRE Research Graph is enriched by links mined by OpenAIREs 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.
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”.
(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.
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.
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).
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.
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.
<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 publications 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.
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.
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).
<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.
[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>
@ -371,48 +509,69 @@
<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">
The Deduction process (also known as “bulk tagging”) enriches each record with new information that can be derived from the existing property values.
The Deduction process (also known as “bulk tagging”) enriches each record with new information
that
can be derived from the existing property values.
<br><br>
As of September 2020, three procedures are in place to relate a research product to a research initiative, infrastructure (RI) or community (RC) based on:
As of September 2020, three procedures are in place to relate a research product to a research
initiative, infrastructure (RI) or community (RC) based on:
<ul class="portal-circle">
<li>subjects (2.7M results tagged)</li>
<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 by the managers of the community gateway or infrastructure monitoring dashboard associated with the RC/RI.
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.
</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 '+(enrichmentPropagationReadMore ? '' : 'lines-18 multi-line-ellipsis')">
<div
[class]="'uk-margin-bottom uk-margin-medium-right uk-text-small '+(enrichmentPropagationReadMore ? '' : 'lines-18 multi-line-ellipsis')">
<div>
<div>
This process “propagates” properties and links from one product to another if between the two there is a “strong” semantic relationship.
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:
<ul class="portal-circle">
<li>
Propagation of the property “country” to results from institutional repositories:
e.g. publication collected from an institutional repository maintained by an italian university will be enriched with the property “country = IT”.
e.g. publication collected from an institutional repository maintained by an italian
university will be enriched with the property “country = IT”.
</li>
<li>
Propagation of links to projects: e.g. publication linked to project P “is supplemented by” a dataset D.
Propagation of links to projects: e.g. publication linked to project P “is supplemented
by”
a dataset D.
Dataset D will get the link to project P.
The relationships considered for this procedure are “isSupplementedBy” and “supplements”.
</li>
<li>
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 his/her community C.
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
his/her community C.
The publication is tagged as relevant for C.
</li>
<li>
Propagation of related community/infrastructure/initiative to related products: e.g. publication associated to community C is supplemented by a dataset D.
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”.
</li>
<li>
Propagation of ORCID identifiers to related products, if the products have the same authors: e.g. publication has ORCID for its authors and is supplemented by a dataset D. Dataset D has the same authors as the publication. Authors of D are enriched with the ORCIDs available in the publication.
Propagation of ORCID identifiers to related products, if the products have the same
authors:
e.g. publication has ORCID for its authors and is supplemented by a dataset D. Dataset D
has
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”.
</li>
</ul>
@ -459,22 +618,31 @@
src="assets/graph-assets/about/architecture/indexing.svg" alt="Indexing">
<div class="uk-margin-bottom uk-margin-medium-right">
<p>
The final version of the OpenAIRE Research Graph is indexed on a Solr server that is used by the OpenAIRE portals (EXPLORE, CONNECT, PROVIDE) and APIs, the latter adopted by several third-party applications and organizations, such as:
The final version of the OpenAIRE Research Graph is indexed on a Solr server that is used by the
OpenAIRE portals (EXPLORE, CONNECT, PROVIDE) and APIs, the latter adopted by several third-party
applications and organizations, such as:
</p>
<ul class="portal-circle">
<li class="uk-margin-small-bottom">
<span class="portal-color">EOSC</span>
--The OpenAIRE Research Graph APIs and Portals will offer to the EOSC an Open Science Resource Catalogue, keeping an up to date map of all research results (publications, datasets, software), services, organizations, projects, funders in Europe and beyond.
--The OpenAIRE Research Graph APIs and Portals will offer to the EOSC an Open Science Resource
Catalogue, keeping an up to date map of all research results (publications, datasets, software),
services, organizations, projects, funders in Europe and beyond.
</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 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
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>
<li>
<span class="portal-color">EC participant portal (Sygma - System for Grant Management)</span>
uses the OpenAIRE API in the “Continuous Reporting” section.
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 data of the project.
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
data of the project.
</li>
</ul>
</div>
@ -487,13 +655,21 @@
<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"
<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">
<div class="uk-margin-bottom uk-margin-medium-right">
<p>
The OpenAIRE Research Graph is also processed by a pipeline for extracting the statistics and 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 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 products, availability of post-print versions in institutional or thematic Open Access repositories, etc.
The OpenAIRE Research Graph is also processed by a pipeline for extracting the statistics and
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
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
products, availability of post-print versions in institutional or thematic Open Access repositories,
etc.
</p>
</div>
<!-- </div>-->
@ -504,7 +680,6 @@
</li>
</ul>
</div>
<div class="uk-margin-top uk-margin-large-left uk-margin-large-right">
<h6>References</h6>
<ul class="uk-text-small portal-circle">
@ -520,9 +695,9 @@
</ul>
</div>
</div>
</div>
<div id="metrics" class="uk-container uk-container-large uk-section">
<div class="uk-margin-large-left uk-margin-large-right">
<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>-->
@ -535,30 +710,32 @@
<!-- </div>-->
</div>
</div>
<div id="infrastructure" class="uk-container uk-container-large uk-section">
<div class="uk-padding-small">
<h2 class="uk-text-center">Infrastructure</h2>
<div class="uk-padding uk-margin-large-left uk-margin-large-right">
<div class="uk-margin-large-left uk-margin-large-right">
<div class="uk-flex uk-flex-center">
<p class="uk-width-3-4@m uk-padding-small">
The OpenAIRE graph operates based on a vast variety of hardware and software. As of December 2019, the hardware infrastructure is the following:
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>
<img src="assets/graph-assets/about/infrastructure.png">
</div>
</div>
</div>
<div id="team" class="uk-container uk-container-large uk-section">
<div class="uk-padding-small">
<h2 class="uk-text-center">Team</h2>
<div>
<div class="uk-margin-bottom uk-padding uk-button-remove-top">
<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>
<div class="uk-text-center">
<div class="uk-margin">
<div class="uk-margin-medium-bottom">
Key team members contributing to the Research Graph
</div>
<div>
@ -566,7 +743,8 @@
Meet the team
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
<path
d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#fff" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
@ -577,7 +755,6 @@
</div>
</div>
</div>
<!-- </div>-->
</div>
<!-- </div>-->
</div>
</div>

View File

@ -1,15 +1,13 @@
<!--<div class="uk-section uk-section-small uk-container uk-container-large contact">-->
<div class="contact">
<!-- <div class="uk-align-center">-->
<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">Support</h2>
<div class="uk-grid uk-flex uk-flex-center" uk-grid>
<div class="uk-width-2-3">
<div class="uk-width-2-3@m">
<div class="uk-padding-small">
<h3 class="uk-margin-top">Do you have a question? <span class="portal-color">Contact us</span>.</h3>
<div *ngIf="showLoading" class="uk-margin-large">
@ -25,14 +23,16 @@
</div>
</div>
</div>
</div>
<div id="documentation" class="uk-container uk-section">
<div class="uk-width-1-1">
<div class="uk-child-width-1-3@m uk-child-width-1-1@s uk-grid-large uk-grid-match uk-grid" uk-grid="" uk-height-match=".target">
<div class="uk-padding-small">
<div class="uk-child-width-1-3@m uk-child-width-1-1@s uk-grid-large uk-grid-match uk-grid" uk-grid=""
uk-height-match=".target">
<div class="uk-first-column">
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target" style="min-height: 110px;"><img src="assets/graph-assets/contact/documentation.svg" style="height:80px; width:94px"></div>
<div class="target" style="min-height: 110px;"><img src="assets/graph-assets/contact/documentation.svg"
style="height:80px; width:94px"></div>
</div>
<div class="uk-margin-top">
@ -42,7 +42,8 @@
Documentation
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
<path
d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
@ -56,7 +57,8 @@
<div>
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target"><img src="assets/graph-assets/contact/webinars.svg" style="height:110px; width:101px"></div>
<div class="target"><img src="assets/graph-assets/contact/webinars.svg" style="height:110px; width:101px">
</div>
</div>
<div class="uk-margin-top">
@ -67,7 +69,8 @@
Webinars
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
<path
d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
@ -81,7 +84,8 @@
<div>
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target" style="min-height: 110px;"><img src="assets/graph-assets/contact/howto.svg" style="height:100px; width:107px"></div>
<div class="target" style="min-height: 110px;"><img src="assets/graph-assets/contact/howto.svg"
style="height:100px; width:107px"></div>
</div>
<div class="uk-margin-top">
<div class="target uk-text-center" style="">
@ -91,7 +95,8 @@
How to
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
<path
d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
@ -105,13 +110,13 @@
</div>
</div>
</div>
<div id="faq" class="uk-container uk-section uk-flex uk-flex-center">
<div class="uk-width-5-6 uk-margin-xlarge-bottom">
<div id="faq" class="uk-container uk-section uk-flex uk-flex-center uk-margin-large-bottom">
<div class="uk-width-5-6">
<h3 class="uk-text-center uk-margin-top portal-color">FAQs</h3>
<div>
<ul class="uk-accordion" uk-accordion="">
<li *ngFor="let faq of faqs" class="uk-card uk-card-default uk-card-body faq-card uk-margin-small uk-padding-small">
<li *ngFor="let faq of faqs"
class="uk-card uk-card-default uk-card-body faq-card uk-margin-small uk-padding-small">
<a class="uk-accordion-title color" href="#">
<h5 class="uk-margin-remove-bottom">{{faq.question}}</h5>
</a>
@ -123,11 +128,10 @@
</div>
</div>
</div>
<!-- </div>-->
</div>
<modal-alert #AlertModal (alertOutput)="goToHome()">
<div class="uk-text-center">
Our team will respond to your submission soon.<br>
Press OK to redirect to OpenAIRE UsageCounts home page.
Press OK to redirect to OpenAIRE Research Graph home page.
</div>
</modal-alert>

View File

@ -82,7 +82,7 @@ export class ContactComponent implements OnInit {
private sendMail(admins: any) {
this.showLoading = true;
this.emailService.contact(this.properties,
Composer.composeEmailForUsageCounts(this.contactForm.value, admins),
Composer.composeEmailForGraph(this.contactForm.value, admins),
this.contactForm.value.recaptcha).subscribe(
res => {
this.showLoading = false;

View File

@ -21,10 +21,14 @@
}
.service-slide {
height: 350px;
height: 350px !important;
}
}
.service-slide {
height: 600px;
}
.services {
background: transparent linear-gradient(180deg, #E1E8F2 0%, #F5F5F5 62%, #FAFAFA 100%) 0 0 no-repeat;
/*background: transparent linear-gradient(0deg, #FAFAFA 23%, #E2EEFA 30%) !important;*/
@ -51,6 +55,11 @@
font-size: 41px;
font-weight: bold;
}
@media only screen and (max-width: 639px) {
.numbers .emphasis {
font-size: 27px !important;
}
}
.numbers-background {
background: transparent url('assets/graph-assets/home/5.svg') repeat-x center bottom;
@ -70,3 +79,7 @@
opacity: 1;
transition: visibility 0s linear 0s, opacity 1s;
}
.uk-list.target > li:nth-child(n+2) {
margin-top: 10px;
}

View File

@ -1,5 +1,6 @@
<div class="uk-margin-large-bottom">
<div>
<div class="uk-container uk-container-large uk-section">
<div class="uk-padding-small">
<h1>Open. Transparent. Interconnected.</h1>
<div class="uk-grid uk-grid-small uk-flex uk-margin-medium-top uk-child-width-1-2@m uk-flex-bottom" uk-grid>
<div>
@ -17,10 +18,12 @@
</div>
</div>
</div>
<div class="uk-margin-large-bottom">
</div>
<div>
<div class="uk-container uk-container-large uk-section">
<div class="uk-padding-small">
<h2 class="uk-text-center"><span class="portal-color">How</span> it works</h2>
<div class="how-first uk-padding uk-margin-large-top">
<div class="how-first uk-margin-large-top">
<div class="uk-grid uk-child-width-1-2@m" uk-grid>
<div
class="uk-padding-large uk-padding-remove-vertical uk-flex-last@m uk-margin-large-bottom uk-margin-medium-top">
@ -33,8 +36,9 @@
</div>
</div>
</div>
</div>
<div class="uk-container uk-container-large uk-section">
<div class="how-second uk-padding uk-margin-large-top">
<div class="how-second uk-padding-small uk-margin-large-top">
<div class="uk-grid" uk-grid>
<div class="uk-margin-large-top uk-margin-large-bottom uk-width-expand">
<h3 class="uk-text-bold uk-margin-large-left uk-text-capitalize">From open and authoritative sources around
@ -47,12 +51,13 @@
</div>
</div>
</div>
<div class="uk-margin-large-bottom">
<div>
<div class="uk-section uk-container uk-container-large">
<div class="uk-padding-small">
<h2 class="uk-text-center uk-margin-remove-bottom"><span class="portal-color">Why</span> OpenAIRE Research Graph
</h2>
<h6 class="uk-text-center uk-text-normal uk-margin-small-top">Unlock the power of open science data</h6>
<div class="uk-padding uk-margin-medium-top">
<div class="uk-margin-medium-top">
<div class="uk-grid why uk-child-width-1-2@m" uk-grid>
<div>
<div class="uk-width-3-4@m">
@ -95,17 +100,13 @@
<div class="uk-hidden@m">
<h6 class="portal-color">Embedded metrics</h6>
<div class="uk-text-light">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat.
Powers up calculation of advanced statistics and metrics about Open Science and research impact.
</div>
</div>
<div class="uk-width-3-4 uk-visible@m uk-padding uk-padding-remove-right">
<h6 class="portal-color">Embedded metrics</h6>
<div class="uk-text-light">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat.
Powers up calculation of advanced statistics and metrics about Open Science and research impact.
</div>
</div>
</div>
@ -113,16 +114,21 @@
</div>
</div>
</div>
<div class="uk-margin-large-bottom">
</div>
<div>
<div class="services">
<div class="uk-section uk-container uk-container-large">
<div class="uk-padding-small">
<h2>Products & Services</h2>
<div class="service-slide uk-position-relative">
<div *ngFor="let portal of portals; let i=index;" [class.fade-out]="i !== state" [class.fade-in]="i === state"
class="uk-margin-medium-top uk-grid uk-grid-large uk-child-width-1-2@m uk-position-center" uk-grid>
<div class="uk-flex-last@m">
class="uk-margin-medium-top uk-grid uk-grid-large uk-child-width-1-2@m uk-position-top" uk-grid>
<div>
<img class="uk-box-shadow-medium" [src]="'assets/graph-assets/home/services/' + portal.name + '.jpg'">
</div>
<div>
<div class="uk-width-4-5 uk-padding uk-padding-remove-right">
<img [src]="'assets/common-assets/logo-large-' + portal.name + '.png'">
<img [src]="'assets/common-assets/logo-small-' + portal.name + '.png'">
<h6 class="uk-margin-medium-top uk-text-normal">{{portal.text}}</h6>
<div class="uk-margin-medium-top">
<a class="uk-button portal-button" [href]="'https://' + portal.name + '.openaire.eu'" target="_blank">
@ -138,24 +144,25 @@
</div>
</div>
</div>
<div>
<img class="uk-box-shadow-medium" [src]="'assets/graph-assets/home/services/' + portal.name + '.jpg'">
</div>
</div>
</div>
</div>
</div>
<div class="uk-container uk-section uk-padding-remove-top uk-margin-medium-top">
<div class="uk-padding-small">
<div class="uk-grid uk-child-width-1-3 uk-child-width-1-5@m uk-flex uk-flex-middle services-list" uk-grid>
<div *ngFor="let portal of portals; let i=index;">
<a [class.uk-active]="state == i" (click)="changeSlide(i)"><img
[src]="'assets/common-assets/logo-large-' + portal.name + '.png'"></a>
[src]="'assets/common-assets/logo-small-' + portal.name + '.png'"></a>
</div>
</div>
</div>
</div>
<div class="uk-margin-large-bottom">
</div>
<div>
<div class="uk-container uk-container-large uk-section">
<div class="uk-padding-small">
<h2 class="uk-text-center">Who <span class="portal-color">Benefits</span></h2>
<div class="uk-grid uk-grid-large uk-child-width-1-3@m uk-margin-large-top" uk-grid uk-height-match=".target">
<div>
@ -166,7 +173,7 @@
of research</h6>
</div>
<hr>
<ul class="uk-list target">
<ul class="uk-list target uk-text-small">
<li>
<div class="circle uk-light uk-preserve uk-background-secondary uk-margin-small-right uk-icon"
uk-icon="check">
@ -183,7 +190,7 @@
<polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline>
</svg>
</div>
Lorem ipsum dolor sit amet
Navigation through publication, data and software
</li>
<li>
<div class="circle uk-light uk-preserve uk-background-secondary uk-margin-small-right uk-icon"
@ -192,7 +199,7 @@
<polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline>
</svg>
</div>
Lorem ipsum dolor sit amet
Discovery of data and software
</li>
</ul>
</div>
@ -201,10 +208,10 @@
<div class="uk-card uk-card-default uk-card-body">
<div class="target">
<h4 class="uk-text-center uk-margin-remove">Service Providers</h4>
<h6 class="uk-text-center uk-padding uk-margin-remove uk-text-light">Lorem ipsum dolor sit amet</h6>
<h6 class="uk-text-center uk-padding uk-margin-remove uk-text-light">Contribute to and use the graph for new services</h6>
</div>
<hr>
<ul class="uk-list target">
<ul class="uk-list target uk-text-small">
<li>
<div class="circle uk-light uk-preserve uk-background-secondary uk-margin-small-right uk-icon"
uk-icon="check">
@ -212,7 +219,7 @@
<polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline>
</svg>
</div>
Lorem ipsum dolor sit amet
Metadata and collections interoperable
</li>
<li>
<div class="circle uk-light uk-preserve uk-background-secondary uk-margin-small-right uk-icon"
@ -221,7 +228,7 @@
<polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline>
</svg>
</div>
Lorem ipsum dolor sit amet
Research Graph dump and APIs
</li>
<li>
<div class="circle uk-light uk-preserve uk-background-secondary uk-margin-small-right uk-icon"
@ -230,7 +237,7 @@
<polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline>
</svg>
</div>
Lorem ipsum dolor sit amet
New services
</li>
</ul>
</div>
@ -242,7 +249,7 @@
<h6 class="uk-text-center uk-padding uk-margin-remove uk-text-light">Used in metrics</h6>
</div>
<hr>
<ul class="uk-list target">
<ul class="uk-list target uk-text-small">
<li>
<div class="circle uk-light uk-preserve uk-background-secondary uk-margin-small-right uk-icon"
uk-icon="check">
@ -276,8 +283,10 @@
</div>
</div>
</div>
<div class="uk-margin-large-bottom numbers">
</div>
<div class="numbers">
<div class="uk-section">
<div class="uk-padding-small">
<h2 class="uk-text-center">
We believe in <span class="uk-text-bold">Numbers</span>
</h2>
@ -399,8 +408,10 @@
</div>
</div>
</div>
<div class="uk-margin-large-bottom">
</div>
<div>
<div class="uk-section uk-container">
<div class="uk-padding-small">
<h3 class="uk-text-center">Synergies</h3>
<div class="uk-padding-large">
<div class="uk-flex uk-flex-middle uk-grid uk-grid-large uk-child-width-1-4@m uk-child-width-1-2"
@ -421,3 +432,4 @@
</div>
</div>
</div>
</div>

View File

@ -1,8 +1,9 @@
<div class="uk-margin-large-bottom uk-section">
<div class="uk-section">
<div class="uk-margin-large-left uk-margin-medium-bottom">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
<div class="uk-container uk-container-large">
<div class="uk-padding-small">
<h2 class="uk-text-center">Resources</h2>
<div class="uk-margin-large-top uk-card uk-card-default uk-padding-large">
<h3 class="uk-text-center">Start building with <span class="uk-text-bold">OpenAIRE APIs</span></h3>
@ -52,8 +53,10 @@
</div>
</div>
</div>
<div id="schema" class="uk-margin-large-bottom">
</div>
<div id="schema">
<div class="uk-section uk-container uk-container-large">
<div class="uk-padding-small">
<h3 class="uk-text-center">Metadata Schema</h3>
<div class="uk-margin-large-top uk-grid uk-grid-large uk-child-width-1-2@m">
<div>
@ -73,3 +76,4 @@
</div>
</div>
</div>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 KiB

After

Width:  |  Height:  |  Size: 413 KiB

View File

@ -3,8 +3,8 @@ import {EnvProperties} from '../app/openaireLibrary/utils/properties/env-propert
export let properties: EnvProperties = {
environment: "beta",
searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
adminToolsAPIURL: "https://beta.services.openaire.eu/uoa-admin-tools/",
admins: ["graph@openaire.eu"],
cookieDomain: ".openaire.eu",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
};

View File

@ -3,8 +3,8 @@ import {EnvProperties} from '../app/openaireLibrary/utils/properties/env-propert
export let properties: EnvProperties = {
environment: "production",
searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
adminToolsAPIURL:"https://services.openaire.eu/uoa-admin-tools/",
admins: ["graph@openaire.eu"],
cookieDomain: ".openaire.eu",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
};

View File

@ -8,8 +8,8 @@ import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-propert
export let properties: EnvProperties = {
environment: "development",
searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
adminToolsAPIURL: 'http://duffy.di.uoa.gr:8080/uoa-admin-tools/',
admins: ["kostis30fylloy@gmail.com"],
cookieDomain: ".di.uoa.gr",
reCaptchaSiteKey: "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu",
};