VIVO Documentation
Current Release
This documentation covers the latest release of VIVO, version 1.15.x.
If you are able to help contribute to this documentation, please contact vivo at lyrasis dot org
Looking for another version? See all documentation.
Introduction
The search page can be customized in terms of filters. For the purpose of customizing search page an ontology has been defined.
Ontology
The ontology is presented below.
@prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix search: <https://vivoweb.org/ontology/vitro-search#> . @prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> . <https://vivoweb.org/ontology/vitro-search> a owl:Ontology ; vitro:ontologyPrefixAnnot "search" . search:PublicParameter a owl:Class . search:SearchField a owl:Class . search:FilterValue a owl:Class ; rdfs:subClassOf search:PublicParameter . search:Sort a owl:Class ; rdfs:subClassOf search:PublicParameter . search:RangeFilter a owl:Class ; rdfs:subClassOf search:Filter . search:FilterGroup a owl:Class ; rdfs:subClassOf search:PublicParameter . search:Filter a owl:Class ; rdfs:subClassOf search:PublicParameter . search:multivalued a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:SearchField ; rdfs:range xsd:boolean . search:isAscending a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:Sort ; rdfs:range xsd:boolean . search:indexField a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:SearchField ; rdfs:range xsd:string . search:contains a owl:ObjectProperty ; rdfs:domain search:FilterGroup ; rdfs:range search:Filter . search:step a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:RangeFilter ; rdfs:range xsd:int . search:isLanguageSpecific a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:SearchField ; rdfs:range xsd:boolean . search:filterField a owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain search:Filter ; rdfs:range search:SearchField . search:isUriValues a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:Filter ; rdfs:range xsd:boolean . search:order a owl:FunctionalProperty , owl:DatatypeProperty ; rdfs:domain search:PublicParameter ; rdfs:range xsd:integer . search:userInput a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:Filter ; rdfs:range xsd:boolean . search:from a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:RangeFilter ; rdfs:range xsd:string . search:userInputRegex a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:Filter ; rdfs:range xsd:boolean . search:sortField a owl:FunctionalProperty , owl:ObjectProperty ; rdfs:domain search:Sort ; rdfs:range search:SearchField . search:id a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:PublicParameter ; rdfs:range xsd:string . search:facetResults a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:Filter ; rdfs:range xsd:boolean . search:to a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:RangeFilter ; rdfs:range xsd:string . search:hasKnownValue a owl:ObjectProperty ; rdfs:domain search:Filter ; rdfs:range search:FilterValue . search:public a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:PublicParameter ; rdfs:range xsd:boolean . search:defaultPublic a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:FilterValue> ; rdfs:range xsd:boolean ; rdfs:subPropertyOf owl:topDataProperty . search:moreLimit a owl:DatatypeProperty , owl:FunctionalProperty ; rdfs:domain search:Filter ; rdfs:range xsd:int ; rdfs:subPropertyOf owl:topDataProperty .
Filters
An example of configuration search page filters is provided below. It includes one filter group with four filters. The first filter is range filter and enables filtering by start and end date. The second and third filters enable filtering by organizations and persons, respectively. The last one is filter which enables selection of publication years. The first filter is not public, therefore it wouldn't be seen by users.
@prefix : <https://vivoweb.org/ontology/vitro-search-individual/> . @prefix vitro-search: <https://vivoweb.org/ontology/vitro-search#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . :filter_group_search_filters a vitro-search:FilterGroup ; vitro-search:contains :filter_dates , :filter_organizations , :filter_persons , :filter_publication_year . :filter_dates a vitro-search:RangeFilter ; vitro-search:id "dates" ; vitro-search:filterField :field_dates ; vitro-search:from "1900" ; vitro-search:to "2030" ; vitro-search:public false . :field_dates a vitro-search:SearchField ; vitro-search:indexField "dates_drsim" . :filter_organizations a vitro-search:Filter ; vitro-search:id "organizations" ; vitro-search:filterField :field_organizations ; vitro-search:facetResults true ; vitro-search:isUriValues true ; vitro-search:public true . :field_organizations a vitro-search:SearchField ; vitro-search:indexField "organizations_ss" ; vitro-search:multivalued true . :filter_persons a vitro-search:Filter ; vitro-search:id "persons" ; vitro-search:filterField :field_persons ; vitro-search:facetResults true ; vitro-search:isUriValues true ; vitro-search:public true . :field_persons a vitro-search:SearchField ; vitro-search:indexField "persons_ss" ; vitro-search:isLanguageSpecific true ; vitro-search:multivalued true . :filter_publication_year a vitro-search:Filter ; vitro-search:id "publication_year" ; vitro-search:filterField :field_publication_year ; vitro-search:facetResults true ; vitro-search:public true . :field_publication_year a vitro-search:SearchField ; vitro-search:indexField "publication_year_ss" .