AGROVOC in SKOS Tom Baker 13 April 2010
Jan 08, 2018
AGROVOC in SKOS
Tom Baker13 April 2010
My “hats”
• As connsultant– Completing “autoevaluation” of FAO standardization activities,
including AGROVOC– Will work with FAO team on modeling aspects of migration to SKOS
• Other roles– CIO , Dublin Core Metadata Initiative– Until August 2009, co-chaired W3C Semantic Web Deployment
Working Group, which standardized SKOS– Currently organizing W3C Library Linked Data Incubator Group
noun
lexicalization
domain concept
maize
has_synonymhas_translation
means 12332corn (en)maïs (fr)
corn
has_synonymmeans 12332
maize (en)
has_lexicalization
has_lexicalization
sub_class_of
has_synonym
AGROVOC metamodel 2010 (simplified)
12332rdf:type
sub_class_of
sub_class_of
sub_class_ofsub_class_of
rdf:type
Concept 6211(Products)
Concept 8171:(Plant products)
Concept 1474:(Cereals)
Concept 12332:(Maize)
8171
1474
12332
skosxl:altLabel
skosxl:prefLabel
skos:broader
SKOS Label
skos:broader
SKOSConcept
rdf:type
rdf:type
6211skos:broader
AgrovocConceptScheme
skos:topConceptOfskos:inScheme
SKOSConceptScheme
rdf:type
rdf:type
:bar
:foo
“corn”
“maize”
skosxl:literalForm
skosxl:literalForm
rdf:type
rdf:type
rdf:type
AGROVOC SKOS model (proposed)
“maize”has_synonymhas_translation
“corn” (en)“maïs” (fr)
“corn”has_synonym “maize” (en)
altLabel
prefLabel
broader
has_synonym
AGROVOC metamodel for brochures and interfaces
broader
broader
Concept 6211:Products
Concept 8171:Plant products
Concept 1474:Cereals
Concept 12332:Maize
Rationale for migrating to SKOS
• Abandons unique FAO vocabulary model metamodel) in favor of highly standardized model– Anticipated tool and software library support, so can push Workbench
software development further out into the community– When converted to a SKOS basis, Workbench would be interesting to
hundreds of other users for creating SKOS Concept Schemes• SKOS-2009 supports Lexicalizations (Labels) as resources
SKOS-XL• SKOS-XL extension: labels as resources• Just 16 triples:
– skosxl:Label owl:disjointWith skos:ConceptScheme. skosxl:Label owl:disjointWith skos:Concept.skosxl:Label owl:disjointWith skos:Collection.skosxl:Label rdf:type owl:Class. skosxl:altLabel rdf:type owl:ObjectProperty. skosxl:altLabel rdfs:range skosxl:Label. skosxl:hiddenLabel rdf:type owl:ObjectProperty. skosxl:hiddenLabel rdfs:range skosxl:Label. skosxl:labelRelation rdf:type owl:ObjectProperty.skosxl:labelRelation rdf:type owl:SymmetricProperty. skosxl:labelRelation rdfs:domain skosxl:Label. skosxl:labelRelation rdfs:range skosxl:Label. skosxl:literalForm rdf:type owl:DatatypeProperty. skosxl:literalForm rdfs:domain skosxl:Label. skosxl:prefLabel rdf:type owl:ObjectProperty. skosxl:prefLabel rdfs:range skosxl:Label.
How AGROVOC is actually used
• Highly engineered ontologies have not materialized– Agrovoc concepts for simpler purposes – portal navigation, learning
(Agropedia), resource discovery– Several projects set out to build high-engineered ontologies and failed
• AGROVOC concepts function as quarry of building blocks for constructing local concept schemes
Minimal ontological commitment
• An ontology should require the minimal ontological commitment sufficient to support the intended knowledge sharing activities. An ontology should make as few claims as possible about the world being modeled, allowing the parties committed to the ontology freedom to specialize and instantiate the ontology as needed. Since ontological commitment is based on consistent use of vocabulary, ontological commitment can be minimized by specifying the weakest theory (allowing the most models) and defining only those terms that are essential to the communication of knowledge consistent with that theory. (Gruber 1994)
Ontologically weaker = better!
• Agrovoc is large, diverse, and multi-lingual.– Does not reflect a strong “point of view”, which is prerequisite for advanced
ontological reasoning. – Better to model Agrovoc entities with a weaker ontological commitment (SKOS
concepts) than with a strong ontological commitment (OWL classes).– Ontologically weaker definitions more apprropriate to multiple ways they are
actually used• Reusers of OWL classes downstream would inherit ontological baggage
of OWL sub-class relationships• SKOS Concepts does not preclude use of refined relationships (e.g., can
also be transitive, inverse, symmetric)• SKOS concepts can be upgraded to OWL classes in specialized, local
ontologies• SKOS concepts are easier to teach (capacity-building)
Consequences for Workbench
• Short term: no impact on software IF– User Interface of Workbench is consistent with AGROVOC/SKOS
metamodel– Data of AGROVOC/SKOS representation can be exposed –
correctly – as Linked Data• Offer Ntriples, RDF/XML, and Turtle representations for download• Note: iif necessary, n short term, could be simplified version of data!
• Long term– Ongoing software development will be more sustainable if it can
leverage generic SKOS tools , interfaces, and software libraries under development
Solves problem of instances
• Currently, in AGROVOC/OWL-2006, “Ghana” is an OWL class• There is nothing in SKOS data model that prevents an Instance from
being considered a SKOS Concept• Distinction between classes and instances is hard to teach (Gudrun)• NeOn Project difficulties
– Upgrading legacy thesauri (e.g., AFSA) to class hierarchies in order to map to AGROVOC – ripple effect of initial ontological overcommitment
– Is a species of fish a “class” (and the actual individual fish are instances) or “instances” (as in statistical data)?
– "The domain of interpretation of fisheries can contain entities as well as types of entities, and distinguishing them in a logically sound way would require a huge amount of fishery experts time, and only after they are organized in a team sided by ontology designers and are taught design tools adequately" (Caracciolo)
WHAT TRIPLES ACTUALLY SAY
AGROVOC/OWL-2006
• 2,113,264 triples
Concept to label
• 233800 hasLexicalization 99741 hasMainLabel
Instance to Literal
• 107 instance-comment-literal 33 instance-first-literal 103745 instance-hasDateCreated-literal 4011 instance-hasDateLastUpdated-literal 22 instance-hasEditorialNote-literal 3268 instance-hasScopeNote-literal 103701 instance-hasStatus-literal 6362 instance-hasTermType-literal 99735 instance-hascodeagrovoc-literal 155 instance-hascodeiso3country-literal 739 instance-isPartOfSubvocabulary-literal 100010 instance-label-literal 1 instance-versionInfo-literal
Instance rdf:type other
• 3972 instance-rdftype-class 38 instance-rdftype-definition 99735 instance-rdftype-noun
AOS predicates
• 43384 aos-hasSynonym 30461 aos-other 1167435 hasTranslation
RDF and OWL predicates
• 4 owl-oneOf 4 owl-unionOf 193 owl-inverseOf 12 rdf-first 45 rdf-rest 41 rdfs-domain 38 rdfs-range 216 rdfs-subPropertyOf 38 rdftype 273 rdftype-Property 3996 rdftype-owlClass – not more?? 3976 subClassOf 3972 subClassOf-owl-thing
MESSAGE AND INTERFACE
“Agrovoc Concept Scheme”
• “Agrovoc Concept Server” is intended to refer to the quarry of concepts that users can mine as a foundation for building their own ontologies. However, “Server” evokes machines, applications, APIs…
• Why not “Agrovoc Concept Scheme”? (Same acronyms.)– SKOS concepts are designed to be reused and recombined in multiple
concept schemes – perfect fit– Possibly de-emphasize the word “ontology”
• In terms of capacity building, OWL is more difficult to teach than SKOS
FORM OF URIS
Form URIs and publish Linked Data
• Promote Agrovoc URIs for linked data – print on teeshirts?– http://aims.fao.org/aos/v1.0/c_1939: with slash?– http://aims.fao.org/aos/agrovoc#c_1939: with hash?– http://aims.fao.org/aos/c_1939: minus version number?– http://aims.fao.org/agrovoc/c_1939: minus aos?– Under own domain or using purl.org?
• How to publish– RDF and HTML representations with content negotiation?– Publish embedding RDF representation within HTML page using RDFa?
Agrovoc mappings
• Guus Schreiber (paraphrased)– Every vocabulary has its own perspective. You can't just merge them. – But you can use vocabularies jointly by defining a limited set of links –
“vocabulary alignment”.– Don't recreate – re-use, enrich, and align.– Beware of ontological over-commitment.– Specifying a data model in OWL does not make it an ontology.
• Suggest emphasis on mappings, expressed as linked data– Increases effective “range” of Agrovoc concepts– Suggests new impact indicators based on numbers of resources
findable via Agrovoc concepts – both directly and indirectly, through mapping links to CABI, etc.
“maize”has_synonymhas_translation
“corn” (en)“maïs” (fr)
“corn”has_synonym “maize” (en)
altLabel
prefLabel
broader
has_synonym
AGROVOC Concept Scheme?
broader
broader
Concept 6211:Products
Concept 8171:Plant products
Concept 1474:Cereals
Concept 12332:Maize
AGROVOC model (2003)
Plant products(concept)
Cereals(concept)
Plant products (lexicalization)
Cereals(lexicalization) Maize (concept)
Maize (lexicalization)
“Maize” (string)
“Corn” (string)
“Mais” (string, French)
Circa 2005 – String entity in light blue
c_apple
apple
APL
pomme
c_fruit
translation
PMM
red fruitsynonym
acronym
aple
spelling variant
The modeling Distinction betweenLexicalization and String
noun
lexicalization
domain concept
means
has_lexicalization
maize
has_synonymhas_translation
means 12332corn (en)maïs (fr)
corn
has_synonymmeans 12332
maize (en)
sub_class_of
8171
1474
12332
meansmeans
has_lexicalization
has_lexicalization
sub_class_of
has_synonym
Agrovoc OWL modelas presented in 2005
noun
lexicalization
domain concept
maize
has_synonymhas_translation
means 12332corn (en)maïs (fr)
corn
has_synonymmeans 12332
maize (en)
8171
1474
12332
has_lexicalizationhas_lexicalization
sub_class_of
has_synonym
Agrovoc OWL model – ver 1
12332rdf:type
sub_class_of6211
sub_class_of
sub_class_ofsub_class_of
rdf:type
noun
lexicalization
domain concept
maize
has_synonymhas_translation
means 12332corn (en)maïs (fr)
corn
has_synonymmeans 12332
maize (en)
has_lexicalization
has_lexicalization
sub_class_of
has_synonym
Agrovoc OWL model – ver 2
12332rdf:type
sub_class_of
sub_class_of
sub_class_ofsub_class_of
rdf:type
Concept 6211(Products)
Concept 8171:(Plant products)
Concept 1474:(Cereals)
Concept 12332:(Maize)
“maize”has_synonymhas_translation
“corn” (en)“maïs” (fr)
“corn”has_synonym “maize” (en)
has_lexicalization
has_lexicalization
broader
has_synonym
Agrovoc modelproposed for brochure
broader
broader
Concept 6211:Products
Concept 8171:Plant products
Concept 1474:Cereals
Concept 12332:Maize
:bar
has_synonymhas_translation
skos:literalForm “maize”:foomaïs (fr)
:foo
has_synonymskos:literalForm “corn”
:bar
8171
1474
12332
skosxl:altLabel
skosxl:prefLabel
skos:broader
has_synonym
SKOS Label
AGROVOC in SKOS – ver 1
skos:broaderSKOSConcept
rdf:type
rdf:type
6211skos:broader
AgrovocConceptScheme
skos:topConceptOfskos:inScheme
SKOSConceptScheme
rdf:type
rdf:type
8171
1474
12332
skosxl:altLabel
skosxl:prefLabel
skos:broader
SKOS Label
skos:broader
SKOSConcept
rdf:type
rdf:type
6211skos:broader
AgrovocConceptScheme
skos:topConceptOfskos:inScheme
SKOSConceptScheme
rdf:type
rdf:type
:bar
:foo
“corn”
“maize”
skosxl:literalForm
skosxl:literalForm
rdf:type
rdf:type
rdf:type
AGROVOC OWL model – used in report