The confusion over roles, etc. is understandable; the documentation is somewhat out-of-date, we apologize for this and we will bring it up to date as soon as we can.  As we recently mentioned  we have been analyzing the BIBFRAME vocabulary over the past several  months in the process of developing conversion specs. As a result of that process there have been a few changes and  we will publish these as soon as possible.


Most notably:

-          Property bf:contributor no longer exists. All contributions are introduced via property bf:contribution (whose object is a bf:Contribution).

-          Property bf:role becomes an object property.  (A property of bf:Contribution.)

-           The relators vocabulary is NOT considered part of and will not be imported into the BIBFRAME ontology. Instead, LC will define an LC-specific ontology for our bibframe implementation, which will import the bibframe ontology as well as the relators.  (Again, apologies if this is not yet reflected in the ontology, it will be, as soon as possible.)


I hope this helps clear up some of the confusion.





From: Bibliographic Framework Transition Initiative Forum [mailto:[log in to unmask]] On Behalf Of Simon Spero
Sent: Sunday, December 25, 2016 5:01 PM
To: [log in to unmask]
Subject: Re: [BIBFRAME] Recording roles with relator URIs and Bibframe 2.0


The Bibframe Roles specification is a little bit confusing, especially with respect to the MARC relators vocabulary. The specification provides two separate mechanisms for expressing types of contributions. 


One mechanism  involves creating "reified" Contribution instances, with literal valued role properties.


The other mechanism involves using externally defined properties. 


"bf:contributor is the only built-in BIBFRAME role property currently defined. Any other role may be specified as a property of a BIBFRAME resource if there is an (external) RDF resource defined for that role, and that resource has been declared to be an RDF property.


Assuming a namespace prefix declaration mapping 


The relators vocabulary is "imported" by the bibframe ontology. Due  to lack of an ontology header in the relators vocabulary documents  the contents in fact become part of the bibframe ontology). 


For example, relators:cre, there are defining triples available 

These declare the IRI to be (amongst other things), an OWL Object Property. 

This property is asserted to be a sub property of relators:role, dc:contributor, and dc:creator. 


There is unfortunately  no defined relationship between the properties included from the relators vocabulary and the bibframe contributor property, or the contribution property + Contribution instance mechanism. 


Thus, an Agent  associated with a bf:Work  via  relators:ill  cannot be inferred to be a bibframe contributor. This could be fixed by declaring realtors:role to be a subproperty of bf:contributor, or declaring an underspecified superproperty that can cover all "contributor" relationships. 


There is also no way to determine whether  some contribution + Contribution assertions are equivalent to some other asserted  bf:contributor / relator type property.   


For, example if two descriptions assert that a resource has a relators:ill relationship to an Agent , and a bf:contribution relationship to a Contribution with the same Agent as the value of bf:agent, and a bf:role value of "Illustrator", there is no way to to link the two (and the resource still might not have any bf:contributor). 


(There is no declaration given for the Dublin Core properties so this is technically invalid OWL. However, in non-strict mode, the OWLAPI parsers will use the subproperty relationship to make an informed guess that they are intended to be object properties. Also, a number of bibframe classes are declared to be subclasses of rdfs:Resource, which is presumably unintentional.)