Summary

Context

This page is part of the migration of VIVO-i18n in order to access the linguistic values from the exploitation of a linguistic ontology instead of an exploitation by Java property files.

Several characteristics of the ontology are described in comments in the ontology

Linguistics ontology example for the claim_publications_by property

claim_publications_by.ttl
# baseURI: http://vivoweb.org/ontology/core/properties

@prefix : <http://vivoweb.org/ontology/core/properties#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

##########################################################
##########################################################
## T-BOX R-BOX part (semantic)
##########################################################
##########################################################

#
# PropertyKey Schema definition
#
:PropertyKey
  rdfs:label skos:Concept ;
  rdfs:subClassOf owl:Thing ;
  rdfs:subClassOf skos:Concept ;
.
#
#  "Points to the property file containing the defined key" ; 
#
:propertiesUrl
  rdf:type owl:DatatypeProperty ;
  rdfs:comment "Points to the property file containing the defined key" ;
  rdfs:label "Propertie file url " ;
  rdfs:range xsd:anyURI ;
. 

#
#  "Points to the FTL file containing the key" ; 
#
:ftlUrl
  rdf:type owl:DatatypeProperty ;
  rdfs:comment "Points to the FTL file containing the key" ;
  rdfs:label "ftl file url" ;
  rdfs:range xsd:anyURI ;
.
:hasPackage
  a owl:DatatypeProperty ;
  rdfs:label "has package" ;
  rdfs:range xsd:string ;
.
:hasTheme
  a owl:DatatypeProperty ;
  rdfs:label "has theme" ;
  rdfs:range xsd:string ;
.
##########################################################
##########################################################
## A-BOX part (fact)
##########################################################
##########################################################
#
# Ftl files location where 'claim_publications_by' is used
#
 :claim_publications_by
  a :PropertyKey ;
  a owl:NamedIndividual ;
  :ftlUrl "file:///VIVO-languages/bin/fr_CA/webapp/src/main/webapp/themes/tenderfoot/templates/body/individual/individual--foaf-person_fr_CA.ftl"^^xsd:anyURI ;
  :ftlUrl "file:///VIVO-languages/bin/fr_CA/webapp/src/main/webapp/themes/wilma/templates/individual--foaf-person_fr_CA.ftl"^^xsd:anyURI ;
  :ftlUrl "file:///VIVO-languages/fr_CA/webapp/src/main/webapp/themes/tenderfoot/templates/body/individual/individual--foaf-person_fr_CA.ftl"^^xsd:anyURI ;
  :ftlUrl "file:///VIVO-languages/fr_CA/webapp/src/main/webapp/themes/wilma/templates/individual--foaf-person_fr_CA.ftl"^^xsd:anyURI ;
  :ftlUrl "file:///VIVO/webapp/src/main/webapp/themes/tenderfoot/templates/body/individual/individual--foaf-person.ftl"^^xsd:anyURI ;
  :ftlUrl "file:///VIVO/webapp/src/main/webapp/themes/wilma/templates/individual--foaf-person.ftl"^^xsd:anyURI ;
  :ftlUrl "file:///vivo-uqam/webapp/src/main/webapp/themes/uqam/templates/body/individual/individual--foaf-person.ftl"^^xsd:anyURI ;
  :ftlUrl "file:///vivo-uqam/webapp/src/main/webapp/themes/uqam/templates/body/individual/individual--foaf-person_fr_CA.ftl"^^xsd:anyURI ;
  rdfs:label "claim_publications_by" ;
  skos:prefLabel "claim_publications_by" ;
.
#
# Properties files location where 'claim_publications_by' is used in VIVO-languages package
# and the corresponding language value
#
 :claim_publications_by.VIVO-languages
  a :PropertyKey ;
  a owl:NamedIndividual ;
  :propertiesUrl "file:///VIVO-languages/de_DE/webapp/src/main/webapp/i18n/vivo_all_de_DE.properties"^^xsd:anyURI ;
  :propertiesUrl "file:///VIVO-languages/en_CA/webapp/src/main/webapp/i18n/vivo_all_en_CA.properties"^^xsd:anyURI ;
  :propertiesUrl "file:///VIVO-languages/en_US/webapp/src/main/webapp/i18n/vivo_all_en_US.properties"^^xsd:anyURI ;
  :propertiesUrl "file:///VIVO-languages/es/webapp/src/main/webapp/i18n/vivo_all_es.properties"^^xsd:anyURI ;
  :propertiesUrl "file:///VIVO-languages/fr_CA/webapp/src/main/webapp/i18n/vivo_all_fr_CA.properties"^^xsd:anyURI ;
  :propertiesUrl "file:///VIVO-languages/pt_BR/webapp/src/main/webapp/i18n/vivo_all_pt_BR.properties"^^xsd:anyURI ;
  :propertiesUrl "file:///VIVO-languages/ru_RU/webapp/src/main/webapp/i18n/vivo_all_ru_RU.properties"^^xsd:anyURI ;
  :propertiesUrl "file:///VIVO-languages/sr_Latn_RS/webapp/src/main/webapp/i18n/vivo_all_sr_Latn_RS.properties"^^xsd:anyURI ;
  rdfs:label "claim_publications_by.VIVO-languages" ;
  skos:prefLabel "Claim publications by"@en-CA ;
  skos:prefLabel "Claim publications by"@en-US ;
  skos:prefLabel "Importieren Sie Veröffentlichungen mittels"@de-DE ;
  skos:prefLabel "Položite autorska prava na radove od strane"@sr-Latn-RS ;
  skos:prefLabel "Publications revendiquées par"@fr-CA ;
  skos:prefLabel "Reclame publicaciones de"@es ;
  skos:prefLabel "Reivindique publicações de"@pt-BR ;
  skos:prefLabel "Заявить о публикациях"@ru-RU ;
  :hasPackage "VIVO-languages" ;
  #
# Properties files location where 'claim_publications_by' is used in 'VIVO-languages' package for 'tenderfoot' theme
# and the corresponding language value
#
 :claim_publications_by.VIVO-languages.tenderfoot
  a :PropertyKey ;
  a owl:NamedIndividual ;
  :propertiesUrl "file:///VIVO-languages/fr_CA/webapp/src/main/webapp/themes/tenderfoot/i18n/all_fr_CA.properties"^^xsd:anyURI ;
  rdfs:label "claim_publications_by.VIVO-languages.tenderfoot" ;
  skos:prefLabel "Claim tenderfoot"@fr-CA ;
  :hasPackage "VIVO-languages" ;
  :hasTheme "tenderfoot" ;
.
#
# Properties files location where 'claim_publications_by' is used in 'VIVO-languages' package for 'wilma' theme
# and the corresponding language value
#
 :claim_publications_by.VIVO-languages.wilma
  a :PropertyKey ;
  a owl:NamedIndividual ;
  :propertiesUrl "file:///VIVO-languages/fr_CA/webapp/src/main/webapp/themes/wilma/i18n/all_fr_CA.properties"^^xsd:anyURI ;
  rdfs:label "claim_publications_by.VIVO-languages.wilma" ;   
  skos:prefLabel "Claim Wilma"@fr-CA ;
  :hasPackage "VIVO-languages" ;
  :hasTheme "wilma" ;
. 
#
# Properties files location where 'claim_publications_by' is used for local institution
# and the corresponding language value
#
:claim_publications_by.vivo-languages-uqam
  a :PropertyKey ;
  a owl:NamedIndividual ;
  :propertiesUrl "file:///vivo-languages-uqam/fr_CA/webapp/src/main/webapp/i18n/vivo_all_fr_CA-uqam.properties"^^xsd:anyURI ;
  :propertiesUrl "file:///vivo-languages-uqam/fr_CA/webapp/src/main/webapp/i18n/vivo_all_fr_CA.properties"^^xsd:anyURI ;
  rdfs:label "claim_publications_by.vivo-languages-uqam" ; 
  skos:prefLabel "Publications revendiquées par"@fr-CA ;
  .

Issues to be discussed for approval

Using SKOS

Originally, VIVO was designed around the manipulation of rdfs:label. This approach was sufficient in a single language context. In the i18n context it is advantageous to have access to a label prioritization mechanism as well as to be able to use a label (or its URL) as a 'subject' to a triplet. The use of SKOS offers these advantages. 

Individual IRI

Two approaches are possible for the generation of an IRI, either an approach based on the generation of a random value, or a value respecting a pattern. In both cases the IRI must be unique.

For this type of data we propose the schema-based IRI construction approach. The schema used is of the following form:

key_property_name.vivo_package.vivo_theme

Advantages:

  • Intuitive reading and meaningful interpretation of the reading of the individual identifier
  • Structure simplification of the SPARQL query to access the content of the individual (one simple call)
SPARQL command to describe the content for a normalized IRISPARQL command to describe the content for a randomized IRI
describe :claim_publications_by.vivo-languages-uqam
describe ?IRI
where {
	?IRI a :PropertyKey
	?IRI rdfs:label ?value
	filter the ?value to the appropriate key_property_name, vivo_package vivo_theme 
}

Institutional labelling

In addition to supporting labeling features differentiating between regions, packages (VIVO/VITRO/languages) and themes, the labeling ontology allows for insitutional labeling overload. See :claim_publications_by.vivo-languages-uqam for UQAM

Concerned files tracking

In the process of adding a new linguistic context it is often necessary to contextualize the translation according to the originating files and displays of the text.

The propertiesUrl and ftlUrl data properties contain the values necessary to identify the use of the key






  • No labels