730 likes | 869 Views
How the VMF matrix works Godfrey Rust, Rightscom Presentation to VMF seminar British Library, London November 9, 2009 godfrey.rust@rightscom.com. Everything should be made as simple as possible, but not simpler. Albert Einstein.
E N D
How the VMF matrix works Godfrey Rust, Rightscom Presentation to VMF seminar British Library, London November 9, 2009 godfrey.rust@rightscom.com
Everything should be made as simple as possible, but not simpler. Albert Einstein
Automatically compute the “best fit” mappings between any two pre-defined vocabularies. vocab 1 vocab 2 vocab 3 vocab 4 vmf VMF goal
vocab 1 vocab 2 vocab 3 vocab 4 vmf 3 stages of VMF project
vocab 1 vocab 2 vocab 3 vocab 4 vmf 3 stages of VMF project • Create the matrix and map vocabularies in (what we’ve mainly done so far).
vocab 1 vocab 2 vocab 3 vocab 4 vmf 3 stages of VMF project • Create the matrix and map vocabularies in (what we’ve mainly done so far). • Scheme to scheme mappings out (some first tests of this).
vocab 1 vocab 2 vocab 3 vocab 4 vmf 3 stages of VMF project • Create the matrix and map vocabularies in (what we’ve mainly done so far). • Scheme to scheme mappings out (some first tests of this). • Establish VMF as an ongoing resource.
Initial schemes to map RDA (libraries) ONIX (book/serials publishing) DDEX (recorded music) Dublin Core (web metadata) FRBR (libraries) LOM SCORM (education) MARC21 (libraries) DOI (any content) CIDOC CRM (museums and archives) FRAD (libraries) MPEG21 RDD (digital rights) RDA ONIX Framework
Vocabularies Concentrating on: Resource categories Resource-to-Resource relators Resource-to-Party relators Party-to-Party relators Party categories Metadata is increasingly seen to be more about Relators than attributes – FRBR, indecs, CIDOC CRM, RDA all Relationship based. Always been there – just hidden. 9 of the Dublin Core 15 terms are actually Relators. Semantic Web/RDF point in the same direction. Distributed data means linking identities – which means Relators.
Matrix stats Approximate figures for the matrix today: 10 schemes 53 vocabularies mapped in whole or part 500+ concept families 8000+ unique terms 30,000+ RDF triples Concentrated on resource-to-party relators (highest overlap, most important verbs) at the outset. Some further work to do before releasing the matrix publicly.
vocab 1 vocab 2 vocab 3 vocab 4 vmf Data model: the challenge The data model of the matrix has to accommodate the data models of all the vocabularies mapped to it, and the relationships between them. The VMF data model and ontology is based on Rightscom’s COA model, which grew from the <indecs> framework and has much in common with FRBR and CIDOC CRM. COA also provides the “model of making” – an analysis of the relationship between Works and their Manifestations which is of particular use in library/content provider metadata.
vocab 1 vocab 2 vocab 3 vocab 4 vmf How does VMF work? Terms are mapped into an ontology (the VMF matrix) built up from “families” of concepts based on verbs. The matrix can be queried to get the “best fit” match from one term or vocabulary to another. (Note: the matrix is for machine processing – not for human use, and it is not a cataloguing tool or a standard vocabulary).
A Concept Family Context Create (or Creating Event)
A Concept Family Context Create (or Creating Event) Create (to Make something (as a human being)
A Concept Family Context Create (or Creating Event) Parent Make (to bring something into existence) Create (to Make something (as a human being)
A Concept Family Context Create (or Creating Event) Parent Make (to bring something into existence) Create (to Make something (as a human being) Children Conceive, Originate, Derive, Create Work, Create Perceivable Resource, Create with Tool, Create with Material, Direct, Contribute etc…
A Concept Family Context Create (or Creating Event) Parent Make (to bring something into existence) Create (to Make something (as a human being) Children Conceive, Originate, Derive, Create Work, Create Perceivable Resource, Create with Tool, Create with Material, Direct, Contribute etc…
A Concept Family Context Create (or Creating Event)
A Concept Family Context Create Agent Creator Resource Creation
A Concept Family Context Create Agent Creator Resource Creation Relator Creator_Creation
A Concept Family Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator
A Concept Family Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create
A Concept Family provides a complete set of terms that describe a type of Event or State (“Context”), always based on a verb. A Concept Family Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation All relationships (and so most meanings) are based on Events, so this is a good place to start. Every term in the VMF matrix is a member of a Concept Family.
A Concept Family Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation How do these terms relate to the vocabularies we are mapping?
onix:CodeList17 Createdby A Concept Family Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author Dc:dc15 Creator
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator Context Create Agent Creator Resource Creation Relator Creator_Creation Creation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author Dc:dc15 Creator crm:property was created by
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator Context Create Agent Creator Resource Creation RelatorCreator_CreationCreation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author Dc:dc15 Creator crm:property was created by crm:property has created
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator Context Create Agent Creator Resource Creation RelatorCreator_CreationCreation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author Dc:dc15 Creator crm:property was created by crm:class Man-made object crm:property has created
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator Context Create Agent Creator Resource Creation RelatorCreator_CreationCreation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author frbr: Endeavour Dc:dc15 Creator crm:property was created by crm:class Man-made object crm:property has created
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator rdd:verbs Make Context Create Agent Creator Resource Creation RelatorCreator_CreationCreation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author frbr: Endeavour Dc:dc15 Creator crm:property was created by crm:class Man-made object crm:property has created
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator rdd:verbs Make Context Create Agent Creator Resource Creation RelatorCreator_CreationCreation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author frbr: Endeavour Dc:dc15 Creator crm:property was created by crm:class Man-made object crm:property has created ddex: (nothing) rda: (nothing) frad: (nothing)
onix:CodeList17 Createdby A Concept Family marc21:Relationship Creator rdd:verbs Make Context Create Agent Creator Resource Creation RelatorCreator_CreationCreation_Creator Relator Create_Creation Creation_Create Relator Create_Creator Creator_Create Relator Creator_Creator Relator Creation_Creation lom:role_lifecycle author frbr: Endeavour Dc:dc15 Creator crm:property was created by crm:class Man-made object crm:property has created ddex: (nothing) rda: (nothing) Every term in a vocabulary maps onto a term in some Concept Family. frad: (nothing)
Value of the Concept Family (1) The Concept Families provide all possible points (“nodes”) in the matrix for vocabulary terms to be mapped.
A (bigger) Concept Family Context Derive Agent Deriver Resource1 Derivation Resource2 Source Relator Deriver_Derivation Derivation_Deriver Relator Deriver_Source Source_Deriver Relator Derivation_Source Source_Derivation Relator Derivation_Derive Derive_Derivation Relator Deriver_Derive Derive_Deriver Relator Source_Derive Derive_Source Relator Deriver_Deriver Relator Derivation_Derivation Relator Source_Source
A (bigger) Concept Family Context Derive Agent Deriver Resource1 Derivation Resource2 Source Relator Deriver_Derivation Derivation_Deriver Relator Deriver_Source Source_Deriver Relator Derivation_Source Source_Derivation Relator Derivation_Derive Derive_Derivation Relator Deriver_Derive Derive_Deriver Relator Source_Derive Derive_Source Relator Deriver_Deriver Relator Derivation_Derivation Relator Source_Source Automated naming of Relators (easy to create and find terms).
Value of the Concept Family (2) The Concept Family allows large numbers of terms to be generated in the matrix very efficiently. A single concept will typically produce 15-25 terms (3-5 classes and 8-24 relators). Less than a quarter of those will directly map onto vocabularies, but most will be used as pathways in computing relationships between different terms. Because the model is simple in concept, and the process is reasonably flexible and automated, the maintenance of a large and complex ontology is manageable (“as simple as possible…”).
Value of the Concept Family (3) The “family tree” of verbs provide the skeleton of the whole matrix, going from the most general concepts at the top down to the most detailed anyone might need to imagine. Because of the concept families, the matrix is made up of a number of parallel hierarchies, joined across by the family links.
Some top level concepts: verbs Contextualize Exist ExistStatically ExistDynamically Act Do DoTransitively DoIntransitively DoAsPrincipalAgent DoAsSupportingAgent Make Cause CauseState Create Derive Adapt Translate Compile Interact Derive Use Perceive See
Some top level concepts: verbs Contextualize Exist ExistStatically ExistDynamically Act Do DoTransitively DoIntransitively DoAsPrincipalAgent DoAsSupportingAgent Make Cause CauseState Create Derive Adapt Translate Compile Interact Derive Use Perceive See
Some top level concepts: verbs, agents Contextualize Exist ExistStatically ExistDynamically Act Do DoTransitively DoIntransitively DoAsPrincipalAgent DoAsSupportingAgent Make Cause CauseState Create Derive Adapt Translate Compile Interact Derive Use Perceive See Agent Doer DoerTransitively DoerIntransitively DoerAsPrincipalAgent DoerAsSupportingAgent Maker Causer CauserOfState Creator Deriver Adaptor Translator Compiler Interacter Deriver User Perceiver Seer
Some top level concepts: verbs, agents, resources Contextualize Exist ExistStatically ExistDynamically Act Do DoTransitively DoIntransitively DoAsPrincipalAgent DoAsSupportingAgent Make Cause CauseState Create Derive Adapt Translate Compile Interact Derive Use Perceive See Agent Doer DoerTransitively DoerIntransitively DoerAsPrincipalAgent DoerAsSupportingAgent Maker Causer CauserOfState Creator Deriver Adaptor Translator Compiler Interacter Deriver User Perceiver Seer Resource Existent StaticResource DynamicResource Patient PatientDoneTo TransitivePatient DoAsPrincipalAgent DoAsSupportingAgent Output Consequence ConsequentState Creation Derivation, Source Adaptatation, SourceOf.. Translator, SourceOf.. Compilation, Component Input Derivation, Source UsedResource PerceivedResource SeenResource
Some top level concepts: verbs, agents, resources …and of course all the Relators between these classes. Contextualize Exist ExistStatically ExistDynamically Act Do DoTransitively DoIntransitively DoAsPrincipalAgent DoAsSupportingAgent Make Cause CauseState Create Derive Adapt Translate Compile Interact Derive Use Perceive See Agent Doer DoerTransitively DoerIntransitively DoerAsPrincipalAgent DoerAsSupportingAgent Maker Causer CauserOfState Creator Deriver Adaptor Translator Compiler Interacter Deriver User Perceiver Seer Resource Existent StaticResource DynamicResource Patient PatientDoneTo TransitivePatient DoAsPrincipalAgent DoAsSupportingAgent Output Consequence ConsequentState Creation Derivation, Source Adaptatation, SourceOf.. Translator, SourceOf.. Compilation, Component Input Derivation, Suurce UsedResource PerceivedResource SeenResource
Some lower level verbs However granular or obscure, everything belongs to a Concept Family. The matrix should be able to include almost any concept at any level of detail – but is extended on a “need to know basis” (the principle of Functional Granularity). Make From Material Create Part Of Film Create Parody Of FRBR Expression Smell Moderate Panel Create Content As Librettist Conduct Experiment Design Cover Or Cover Artwork Take Moving Photograph Be Human Perform Music As Primary Performer See With Microform Reader Be Changeable Necessarily Add Ink Outline Or Add Color To Visual Be HTML Realize On Mirror Site
Value of the Concept Family (4) The relators within a Concept Family, and between different families, create the network of meaning to allow “best fit” mappings to be computed when an exact equivalent is not available.
Mapping to the matrix vmf:WordsCreator vmf:Adaptor vmf:WordsAdaptor vmf:Commentator vmf:Translator vmf:SubtitlesTranslator vmf:TranslatorAndCommentator
Mapping to the matrix Every term in a vocabulary is given an equivalent term in a VMF concept family… vmf:WordsCreator vmf:Adaptor vmf:WordsAdaptor vmf:Commentator vmf:Translator vmf:SubtitlesTranslator vmf:TranslatorAndCommentator
vmf:WordsCreator vmf:Adaptor vmf:WordsAdaptor vmf:Commentator vmf:Translator vmf:SubtitlesTranslator vmf:TranslatorAndCommentator Mapping to the matrix Every term in a vocabulary is given an equivalent term in a VMF concept family… onix:Translated by ddex:Translator Ddex:SubtitlesTranslator onix:Translated with commentary by