@ -18,7 +18,7 @@
We have integrated a Field-of-Science (FoS) taxonomy into our dataset to organize and discover research more effectively. Using the full capabilities of the OpenAIRE Research Graph (full-texts, citations, references, venues) we apply AI and bring forward any multidisciplinarity potential.
< / div >
< div class = "uk-text-meta uk-margin-top" uk-scrollspy-class >
Our work is based on the work from our partner Athena Research Center: SciNoBo : A Hierarchical Multi-Label Classifier of Scientific Publications - < a href = "https:// arxiv.org/abs/2204.00880" target = "_blank" > https://arxiv.org/abs/2204.00880 < / a >
Our work is based on the work from our partner Athena Research Center: SciNoBo : A Hierarchical Multi-Label Classifier of Scientific Publications - < a href = "https:// doi.org/10.1145/3487553.3524677" target = "_blank" > https://doi.org/10.1145/3487553.3524677 < / a >
< / div >
<!-- TODO: We need a page for the button link -->
<!-- <div>
@ -36,107 +36,121 @@
< / div >
< / div >
< / div >
< div class = "uk-container uk-container-large uk-section" uk-scrollspy = "target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200" >
< div class = "uk-grid uk-flex uk-flex-middle uk-flex-center uk-padding-small" uk-grid >
< div class = "uk-margin-large-bottom" >
< div search-input [ searchControl ] = " keywordControl " [ options ] = " fosOptions " placeholder = "Search" ( searchEmitter ) = " onSubmit ( ) "
class="uk-width-large">< / div >
< div * ngIf = "fos?.length" class = "uk-container uk-container-large uk-section" uk-scrollspy = "target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200" >
< div class = "uk-visible@m" >
< div uk-sticky = "offset: 50;" class = "uk-sticky uk-background-default uk-padding uk-padding-remove-bottom uk-padding-remove-horizontal" >
< div class = "uk-flex uk-flex-right uk-margin-small-bottom" >
< div search-input [ searchControl ] = " keywordControl " [ options ] = " fosOptions " iconPosition = "left" placeholder = "Write a key word to filter the content"
searchInputClass="border-bottom" class="uk-width-large">< / div >
< / div >
< / div >
< / div >
< ng-container * ngIf = "keyword && keyword.length" >
< div class = "uk-padding-small" >
< div class = "uk-margin-small-bottom" > Search results for:< / div >
< span class = "uk-display-inline-block" >
< span class = "uk-label uk-label-primary uk-flex uk-flex-middle" >
< span class = "uk-margin-small-right uk-width-expand uk-text-truncate" > {{keyword}}< / span >
<!-- <icon class="uk - text - muted" name="close" flex="true" ratio="0.7"></icon> -->
< button class = "uk-close uk-icon" [ attr . uk-tooltip ] = " ' Remove ' " ( click ) = " clearKeyword ( ) " >
< icon name = "close" flex = "true" ratio = "0.7" > < / icon >
< / button >
< / span >
<!-- <a [attr.uk - tooltip]="'Remove'" (click)="clearKeyword()" class="uk - link - reset">
< span class = "uk-label uk-label-primary uk-flex uk-flex-middle" >
< span class = "uk-margin-small-right uk-width-expand" > {{keyword}}< / span >
< button class = "uk-close uk-icon" >
< icon name = "close" flex = "true" ratio = "0.7" > < / icon >
< / button >
< / span >
< / a > -->
< / span >
< / div >
< / ng-container >
< ng-container * ngIf = "!keyword" >
< ng-container >
< div class = "uk-margin-top uk-padding-small" >
< div class = "uk-grid uk-grid-large" uk-grid >
< div class = "uk-width-1-4" >
< ul class = "uk-nav uk-nav-default" >
< li * ngFor = "let item of fos; index as i"
class="uk-margin-small-bottom uk-text-capitalize"
[class]="index == i ? 'uk-active':''"
(click)="changeDisplayedFos(i)">
< a class = "uk-padding-remove" > {{item.id}}< / a >
< / li >
< / ul >
< div id = "parentContainer" class = "uk-grid uk-grid-large" uk-grid >
< div class = "uk-width-1-4@m uk-visible@m" >
< div class = "uk-sticky" uk-sticky = "bottom: !#parentContainer; offset: 200;" >
< ul * ngIf = "!keyword" class = "uk-tab uk-tab-left" >
< li * ngFor = "let item of fos; index as i" [ class . uk-active ] = " activeSection = == item . id "
class="uk-margin-small-bottom uk-text-capitalize">
< a routerLink = "./" [ fragment ] = " item . id " > {{item.id}}< / a >
< / li >
< / ul >
< ul * ngIf = "keyword?.length" class = "uk-tab uk-tab-left" >
< li * ngFor = "let item of viewResults; index as i"
class="uk-margin-small-bottom uk-text-capitalize" [class.uk-active]="activeSection === item.id">
< a routerLink = "./" [ fragment ] = " item . id " > {{item.id}}< / a >
< / li >
< / ul >
< / div >
< / div >
< div * ngIf = "fos[index]" class = "uk-width-3-4" >
< div class = "uk-text-capitalize" >
< h2 class = "uk-h4 uk-margin-remove" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( fos [ index ] . id ) } "
class="uk-link-text">
{{fos[index].id}}
< / a >
< / h2 >
< div class = "uk-width-1-1 uk-hidden@m" >
< div class = "uk-sticky uk-blur-background" uk-sticky >
< div class = "uk-flex uk-flex-center uk-margin-small-bottom" >
< div search-input [ searchControl ] = " keywordControl " [ options ] = " fosOptions " iconPosition = "left" placeholder = "Write a key word to filter the content"
searchInputClass="border-bottom" class="uk-width-large">< / div >
< / div >
< div # tabs class = "uk-slider uk-position-relative" uk-slider = "finite: true" >
< div class = "uk-slider-container" >
< ul * ngIf = "!keyword" class = "uk-tab uk-flex-nowrap uk-slider-items" >
< li * ngFor = "let item of fos; index as i" [ class . uk-active ] = " activeSection = == item . id & & sliderInit "
class="uk-text-capitalize">
< a routerLink = "./" [ fragment ] = " item . id " > {{item.id}}< / a >
< / li >
< / ul >
< ul * ngIf = "keyword?.length" class = "uk-tab uk-flex-nowrap uk-slider-items" >
< li * ngFor = "let item of viewResults; index as i"
class="uk-text-capitalize" [class.uk-active]="activeSection === item.id & & sliderInit">
< a routerLink = "./" [ fragment ] = " item . id " > {{item.id}}< / a >
< / li >
< / ul >
< / div >
< a class = "uk-position-center-left uk-blur-background" uk-slider-item = "previous" > < span uk-icon = "chevron-left" > < / span > < / a >
< a class = "uk-position-center-right uk-blur-background" uk-slider-item = "next" > < span uk-icon = "chevron-right" > < / span > < / a >
< / div >
< / div >
< div class = "uk-grid uk-child-width-1-3 uk-margin-large-top uk-margin-medium-bottom" uk-grid = "masonry: false" >
< div * ngFor = "let child of fos[index].children" >
< div class = "whole-child uk-text-capitalize" >
< h3 class = "uk-h6 uk-margin-small-bottom" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( child . id ) } "
< / div >
< div class = "uk-width-expand@m" >
< ng-container * ngIf = "!keyword" >
< div [ id ] = " item . id " * ngFor = "let item of fos; index as i" >
< div class = "uk-text-capitalize" >
< h2 class = "uk-h4 uk-margin-remove" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( item . id ) } "
class="uk-link-text">
{{child.id}}
{{item .id}}
< / a >
< / h3 >
< div * ngFor = "let subChild of child.children" style = "margin-bottom: 5px;" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( subChild . id ) } "
class="uk-link-text">
{{subChild.id}}
< / h2 >
< / div >
< div class = "uk-grid uk-child-width-1-3 uk-margin-large-top uk-margin-xlarge-bottom" uk-grid = "masonry: false" >
< div * ngFor = "let child of item.children" >
< div class = "uk-text-capitalize" >
< h3 class = "uk-h6 uk-margin-small-bottom" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( child . id ) } "
class="uk-link-text">
{{child.id}}
< / a >
< / h3 >
< div * ngFor = "let subChild of child.children" style = "margin-bottom: 5px;" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( subChild . id ) } "
class="uk-link-text">
{{subChild.id}}
< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / ng-container >
< ng-container * ngIf = "keyword?.length" >
< div [ id ] = " item . id " * ngFor = "let item of viewResults; index as i" >
< div
class="uk-margin-large-bottom uk-padding uk-padding-remove-top uk-padding-remove-horizontal uk-text-capitalize" [class.custom-bottom-border]="i < viewResults.length - 1 " >
< h2 class = "uk-h4 uk-margin-remove" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( item . id ) } "
class="uk-link-text" [innerHTML]="highlightKeyword(item.id)">
< / a >
< / h2 >
< div class = "uk-grid uk-child-width-1-3 uk-margin-large-top uk-margin-medium-bottom" uk-grid = "masonry: false" >
< div * ngFor = "let subItem of item.children" >
< h3 class = "uk-h6 uk-margin-small-bottom" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( subItem . id ) } "
class="uk-link-text" [innerHTML]="highlightKeyword(subItem.id)">
< / a >
< / h3 >
< div * ngFor = "let subSubItem of subItem.children" style = "margin-bottom: 5px;" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( subSubItem . id ) } "
class="uk-link-text" [innerHTML]="highlightKeyword(subSubItem.id)">
< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / ng-container>
< / div >
< / div >
< / div >
< / ng-container >
< ng-container * ngIf = "keyword && keyword.length" >
< div class = "uk-margin-medium-top uk-padding-small" >
< ng-container * ngFor = "let item of viewResults; let i=index" >
< div
class="uk-margin-large-bottom uk-padding uk-padding-remove-top uk-padding-remove-horizontal uk-text-capitalize" [class.custom-bottom-border]="i < viewResults.length - 1 " >
< h2 class = "uk-h4 uk-margin-remove" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( item . id ) } "
class="uk-link-text" [innerHTML]="highlightKeyword(item.id)">
< / a >
< / h2 >
< div class = "uk-grid uk-child-width-1-3 uk-margin-large-top uk-margin-medium-bottom" uk-grid = "masonry: false" >
< div * ngFor = "let subItem of item.children" >
< h3 class = "uk-h6 uk-margin-small-bottom" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( subItem . id ) } "
class="uk-link-text" [innerHTML]="highlightKeyword(subItem.id)">
< / a >
< / h3 >
< div * ngFor = "let subSubItem of subItem.children" style = "margin-bottom: 5px;" >
< a [ routerLink ] = " properties . searchLinkToResults " [ queryParams ] = " { ' fos ' : urlEncodeAndQuote ( subSubItem . id ) } "
class="uk-link-text" [innerHTML]="highlightKeyword(subSubItem.id)">
< / a >
< / div >
< / div >
< / div >
< / div >
< / ng-container >
< ng-container * ngIf = "!viewResults?.length" >
< div class = "uk-padding uk-text-center" >
< ng-container * ngIf = "keyword && viewResults?.length == 0" >
< div class = "uk-padding-large uk-text-center" >
< h2 class = "uk-h3" > No results were found.< / h2 >
< / div >
< / ng-container >