Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
@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                   <http://www.w3.org/2002/07/owl#DatatypeProperty> , <http://www.w3.org/2002/07/owl#FunctionalProperty> ;
        rdfs:domain         <https://vivoweb.org/ontology/vitro-search#FilterValue> ;
        rdfs:range          <http://www.w3.org/2001/XMLSchema#boolean> ;
        rdfs:subPropertyOf  <http://www.w3.org/2002/07/owl#topDataProperty> .

search:moreLimit
        a                   <http://www.w3.org/2002/07/owl#DatatypeProperty> , <http://www.w3.org/2002/07/owl#FunctionalProperty> ;
        rdfs:domain         <https://vivoweb.org/ontology/vitro-search#Filter> ;
        rdfs:range          <http://www.w3.org/2001/XMLSchema#int> ;
        rdfs:subPropertyOf  <http://www.w3.org/2002/07/owl#topDataProperty> .


An example of configuration search page is provided below.

Code Block
@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      :range_filter_dates , :filter_organizations , :filter_persons , :filter_publication_year .

:filter_publication_year  a        vitro-search:Filter ;
        vitro-search:facetResults  true ;
        vitro-search:filterField   :field_publication_year ;
        vitro-search:id            "publication_year" ;
        vitro-search:public        true .

:field_persons  a                  vitro-search:SearchField ;
        vitro-search:indexField   "persons_ss" ;
        vitro-search:isLanguageSpecific true ;
        vitro-search:multivalued  true .

:range_filter_dates  a            vitro-search:RangeFilter ;
        vitro-search:filterField  :field_dates ;
        vitro-search:from         "1900" ;
        vitro-search:id           "dates" ;
        vitro-search:public       false ;
        vitro-search:to           "2030" .

:filter_organizations  a           vitro-search:Filter ;
        vitro-search:facetResults  true ;
        vitro-search:filterField   :field_organizations ;
        vitro-search:id            "organizations" ;
        vitro-search:isUriValues   true ;
        vitro-search:public        true .

:filter_persons  a                 vitro-search:Filter ;
        vitro-search:facetResults  true ;
        vitro-search:filterField   :field_persons ;
        vitro-search:id            "persons" ;
        vitro-search:isUriValues   true ;
        vitro-search:public        true .

:field_dates  a                    vitro-search:SearchField ;
        vitro-search:indexField    "dates_drsim" .

:field_organizations  a            vitro-search:SearchField ;
        vitro-search:indexField    "organizations_ss" ;
        vitro-search:multivalued   true .

:field_publication_year  a         vitro-search:SearchField ;
        vitro-search:indexField    "publication_year_ss" .


Filters


Role based search filtering

...