![Page 1: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/1.jpg)
Linked Data Best Practices and BibFrame
December 15th, 2015Rob Sanderson (@azaroth42)
http://bit.ly/bibframe-analysis(google doc)
C N I 2 0 1 5 FA L L F O R U MW A S H I N G TO N D C
![Page 2: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/2.jpg)
Overview
• Quick Linked Data Refresher
• Best Practices Assessment• Define Your Domain• Use URIs for Identity• Provide Useful Information• Reuse Existing Work• 700s vs 500s
• Practical Concerns
![Page 3: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/3.jpg)
Linked Data Refresher: RDFRDF encodes a
Graph Data Structure
• W3C standard(s)• Nodes are identified by URIs• Data is included as literal values• Anyone can assert anything about
anything
• Blank nodes don't have URIs• Order is hard
![Page 4: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/4.jpg)
Linked Data Refresher: RDFRDF encodes a
Graph Data Structure
• W3C standard(s)• Nodes are identified by URIs• Data is included as literal values• Anyone can assert anything about
anything
• Blank nodes don't have URIs• Order is hard• No honestly, it is really hard!
![Page 5: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/5.jpg)
Linked Data Refresher: LODLinked Open Data provides best
practices for RDF
1. Use URIs as the names of things2. Use HTTP URIs so people can
look up those names3. When someone does, provide
useful information, using standards
4. Include links to other URIs, so they can discover more things
![Page 6: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/6.jpg)
Linked Data Best PracticesLinked Open Data provides a more
consistent framework
• Constraints on RDF derived from successful usage
• Adapted and extended• Demonstrable improvement for
adoption and usability
![Page 7: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/7.jpg)
Linked Data Best PracticesLinked Open Data provides a more
consistent framework
• Constraints on RDF derived from successful usage
• Adapted and extended• Demonstrable improvement for
adoption and usability
• Does BibFrame follow them?• Do recent "2.0" updates help?
![Page 8: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/8.jpg)
Define Your DomainA Domain Model keeps you
honest by constraining scope
• Define appropriate terms from your domain model
• Define only terms from your domain model
• Define only one pattern for each feature
• Consider dynamic resources carefully
![Page 9: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/9.jpg)
Define Your Domain• Define appropriate terms from
your domain model• Define only terms from your
domain model• Define only one pattern for each
feature• Consider dynamic resources
carefully
• ✔ Work, Instance, Item, Title, Identifier ...
• ✗ Person, Place, Annotation, Relator, Resource, ...
• ✗ title vs titleStatement, parts, notes vs relationships, ...
• - Unclear. Circulation?
Score: 1 / 4
![Page 10: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/10.jpg)
Define Your Domain: 2.0• Define appropriate terms from
your domain model• Define only terms from your
domain model• Define only one pattern for each
feature• Consider dynamic resources
carefully
• ✔ Work, Instance, Item, Title, Identifier ...
• ½ Person, Place, Annotation, Relator, Resource, ...
• ½ title vs titleStatement, parts, notes vs relationships, ...
• - Unclear. Circulation?
Score: 2 / 4
![Page 11: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/11.jpg)
Use URIs for IdentityURIs are globally unique
identifiers, fundamental to Linked Open Data
• Use URIs, not strings• URIs must identity one thing• Use HTTP URIs• Use Natural Keys in URIs• Clients treat URIs as opaque• Avoid Dates, Hash URIs
![Page 12: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/12.jpg)
Use URIs for Identity• Use URIs, not strings
• URIs must identity one thing
• Use HTTP URIs
• Use Natural Keys in URIs
• Clients treat URIs as opaque
• Avoid Dates, Hash URIs
• ✗ MANY uses of strings for identity, esp authorities
• ✗ Resource vs Metadata, Part vs Whole
• ✔ HTTP used in general But blank nodes overused?
• ✔ Ontology & examples are good; compare RDA's P10001
• ✔ No URI construction or inferencing required
• ✔ No dates, versions in URIs, no recommendation for hashes
Score: 4 / 6 (charitable)
![Page 13: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/13.jpg)
Use URIs for Identity: 2.0• Use URIs, not strings
• URIs must identity one thing
• Use HTTP URIs
• Use Natural Keys in URIs
• Clients treat URIs as opaque
• Avoid Dates, Hash URIs
• ½ Fewer uses of strings for identity, esp NOT authorities
• ✔ Resource vs Metadata, Part vs Whole
• ✔ HTTP used in general But blank nodes overused?
• ✔ Ontology & examples are good; compare RDA's P10001
• ✔ No URI construction or inferencing required
• ✔ No dates, versions in URIs, no recommendation for hashes
Score: 5½ / 6 (somewhat charitable)
![Page 14: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/14.jpg)
Provide Useful InformationSomeone else will do the most interesting thing with our data
• Provide useful information when URI is requested
• Describe your own resources... individually
• Include links to other resources• Avoid reification, lists, and blank
nodes
![Page 15: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/15.jpg)
Provide Useful Information• Provide useful information when
URI is requested• Describe your own resources
individually• Include links to other resources
• Avoid reification, lists, and blank nodes
• ✔ Promoted for main classes, Identifier needs attention
• - Not discussed but Annotations need attention
• ✗ Only internal references, not external (e.g. language)
• ✗ Reification (e.g. related)✔ lists✗ Blank nodes (everywhere)
Score: 2 / 6
![Page 16: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/16.jpg)
Provide Useful Information: 2.0• Provide useful information when
URI is requested• Describe your own resources
individually• Include links to other resources
• Avoid reification, lists, and blank nodes
• ✔ Promoted for main classes, Identifier got needed attention
• ✔ Annotations got attention
• ✗ Only internal references, not external (e.g. language)
• ✗ Reification (e.g. contribution)✔ lists✗ Blank nodes (still everywhere)
Score: 3 / 6
![Page 17: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/17.jpg)
Reuse Existing WorkDon't ignore giant shoulders!
• Reuse existing vocabularies• Define terms in your own
namespace• Relate new terms to appropriate
existing ones• Name terms consistently• Only define what matters• Inverse relationships matter
![Page 18: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/18.jpg)
Reuse Existing Work• Reuse existing vocabularies
• Define terms in your own namespace
• Relate new terms to appropriate existing ones
• Name terms consistently
• Only define what matters
• Inverse relationships matter
• ✗ Fundamental and ignored
• ✔ Somewhat faint praise?
• ✗ Minimally related outside of BibFrame
• ✗ Terms don't follow best practices, or internal convention
• ✗ Over engineered, doesn't reuse own properties
• ✗ Very inconsistently done
Score: 1 / 6 (charitable)
![Page 19: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/19.jpg)
Reuse Existing Work: 2.0• Reuse existing vocabularies
• Define terms in your own namespace
• Relate new terms to appropriate existing ones
• Name terms consistently
• Only define what matters
• Inverse relationships matter
• ✗ Fundamental and still ignored
• ✔ Still faint praise
• ✗ Minimally related outside of BibFrame
• ½ Terms don't follow best practices, or internal convention
• ½ Over engineered, doesn't reuse own properties
• ✗ Very inconsistently done
Score: 2 / 6 (still charitable)
![Page 20: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/20.jpg)
Conclusion: Improvement in 2.0!
Charitable Scores:• BibFrame total score: 8 / 22 = 36% ... fail• BibFrame 2.0 total score: 12.5 / 22 = 57%
• 57% is still a C grade, but now passing• But ... Perfection is the enemy of the good enough
Work Still Needed:• Reuse existing ontologies and vocabularies• More consistency in design• More linking = more part of the semantic web• Drop remaining strings that provide identity
![Page 21: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/21.jpg)
700s vs 500s
![Page 22: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/22.jpg)
700s vs 500sOkay, Who needs a hint?
![Page 23: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/23.jpg)
700s vs 500sHints:
• Not: Added Entries vs Notes
![Page 24: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/24.jpg)
700s vs 500sHints:
• Not: Added Entries vs Notes
• http://id.loc.gov/authorities/subjects/sh85008324 vs http://id.loc.gov/authorities/subjects/sh85118553
![Page 25: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/25.jpg)
700s vs 500sHints:
• Not: Added Entries vs Notes
• http://id.loc.gov/authorities/subjects/sh85008324 vs http://id.loc.gov/authorities/subjects/sh85118553
• dewey:700 vs dewey:500
Ahem ... natural keys???
![Page 26: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/26.jpg)
700s vs 500sHints:
• Not: Added Entries vs Notes
• http://id.loc.gov/authorities/subjects/sh85008324 vs http://id.loc.gov/authorities/subjects/sh85118553
• dewey:700 vs dewey:500
Ahem ... natural keys???
![Page 27: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/27.jpg)
Art vs ScienceThey're more like... guidelines
• Any assessment is subjective
• There are no unbreakable rules
• Context and expected use are important to consider
![Page 28: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/28.jpg)
Practical Concerns
• Documentation is currently insufficient for third parties to develop implementations• Needs to be updated and maintained
• MARC to BibFrame converter from LC• Wrapped by Stanford for local data improvements• Wrapped by Cornell for ontology improvements• Wrapped by ...
• BibFrame "Lite" converter from Zepheira• ... Doesn't really implement BibFrame
![Page 29: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/29.jpg)
Conversion Now• Written in XQuery
• Suited for XML, not Graphs• Very limited community• Limited functionality
• Lack of Tests / Documentation• Difficult to determine if current behavior is correct• Difficult to know if code changes break existing behavior
• Inflexible• Difficult to customize for local requirements• Difficult to keep up to date with changing ontology• Difficult to use external enrichment or transformation tools
![Page 30: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/30.jpg)
Insufficient for Production
We will need to:• Re-run repeatedly as data, ontology and code change• Handle enhancements to the MARC data• Handle enrichments to the resulting graphs• Customize it for local practices• Know when it doesn't work
• And what needs to be fixed• Share the development, configuration and understanding
![Page 31: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/31.jpg)
Desirable Conversion Features
• Supported and developed by the community!• Documented • Testable and auditable • Efficient• Configurable• Robust • Integrated with local systems
![Page 32: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/32.jpg)
How to Get There?
• Thoroughly document the ontology• If it's too hard to document, it's too hard to implement!
• Use proposals process to solicit feedback on updates• Document transformation processing algorithms used
• Per MARC field, and/or per BibFrame feature• Updating with new proposals
• Engage with community to determine requirements• Make it possible for stakeholders to implement their own patterns
• Seek partners for development• LD4L keen to participate!
![Page 33: Linked Data Best Practices and BibFrame December 15 th, 2015 Rob Sanderson (@azaroth42) (google doc) CNI 2015 F ALL F ORUM](https://reader035.vdocuments.site/reader035/viewer/2022062409/5697c0191a28abf838cce706/html5/thumbnails/33.jpg)
Thank You!
http://bit.ly/bibframe-analysis(google doc: final draft of analysis report)
http://bit.ly/cni15f_bibframe(these slides on slideshare)
http://ld4l.org/
R O B S A N D E R S O N@azaroth42