Download presentation
Presentation is loading. Please wait.
Published byChristine Parrish Modified over 6 years ago
1
Usability vs. Purity: How UCSF and Duke Enabled Data Reuse By Going Beyond Linked Data
Julia Trimmer, Anirvan Chatterjee, Eric Meeks, Richard Outten and Brian Turner
2
UCSF: Pre-Launch Before launching UCSF Profiles, we surveyed UCSF websites with researcher and publication data We approached website owners to see if they’d want to use UCSF Profiles as a “system of record” for publications — avoiding manual curation
3
UCSF: Built-in XML API Profiles launched with a custom XML-based API for people/publication data. We shared the API with developers, but it was hard to use, and difficult to get started. Web developers wanted to grab a simple list of publications — not wrestle with RDF
4
UCSF: Custom JSON API Replaced this with a simple JSON API that can be tested in-browser. Used a very simple hand-rolled JSON schema and HTTP GET query format
5
UCSF: Before (XML API) Send HTTP POST request for <Profiles xmlns:xsi=" a-instance" xmlns:xsd=" ma" xmlns=" /query" Operation="GetPersonList" Version="2"><QueryDefinition><Name><FirstNa me Match="1">James</FirstName><LastName Match="1">Kahn</LastName></Name><Perso nFilterList /></QueryDefinition><OutputOptions Sort StartRecord="1" MaxRecords="25" /></Profiles>
6
UCSF: After (JSON API) Look up the following URL: URLName=james.kahn
7
UCSF: JSON API results
8
UCSF: API docs
9
UCSF: API support forum
10
UCSF: API adoption UCSF Profiles JSON API has been used by 37 websites and applications across campus Major users include: UCSF Campus Directory UCSF School of Medicine UCSF School of Pharmacy
11
UCSF: API users
12
UCSF: API users
13
UCSF: API users
14
UCSF: API users
15
UCSF: API users
16
UCSF: API users
17
UCSF: API architecture
Client accesses API server API server tries to load RDF from live Profiles Uses cached data, if Profiles is slow API server returns simplified JSON api.profiles. ucsf.edu profiles.ucsf.edu Client
18
UCSF: Who’s using the API?
Users tend to be web developers (JavaScript, Drupal, etc.) — not enterprise programmers Keep things simple and web-like Developers comes and go, and applications run for years Backwards compatibility is critical
19
UCSF: Pros and cons Pros: Incredibly easy to use for developers
Easy to integrate into lightweight applications (powered by JavaScript, etc.) Widespread adoption Cons: Totally nonstandard schema Applications built for UCSF Profiles JSON API can’t be shared with other campuses Integrating new data fields is more work for us — but less work for others
20
UCSF: Learnings, Most users need the same small subset of fields There’s no such thing as too easy for developers API documentation and support are critical Backwards compatibility is critical Uptime is critical
21
UCSF: Learnings, Most users need the same small subset of fields There’s no such thing as too easy for developers API documentation and support are critical Backwards compatibility is critical Uptime is critical
22
UCSF: The debate
23
UCSF: The debate Anirvan: Quick and dirty is OK
Absorb the pain, to make devs happy Sacrifice compatibility across campuses Eric: Network-wide benefits to standardization Best to avoid lock-in to custom local solutions Long term, users could do more with RDF-ish data
24
What we did @Duke VIVO Widgets was a VIVO mini-grant
Previous faculty system provided data Easy embed code Similar idea with Events Calendar
25
Why widgets @Duke Fast - pull all data for a faculty in 300-400ms
JSON is easy for web developers what is core:relatedBy or obo:ARG_ ? Side-effect: a format that insulates from ontology changes
26
How it works @Duke SPARQL data Index in Solr Pull data from Solr
RDF is public Index in Solr Serialized JSON Pull data from Solr Real-time update Jena listener
27
Successes @Duke Five Duke schools use Scholars data
~80% of Duke faculty Individually branded sites Feed options: Simple & advanced widgets Drupal module created by Duke Web Services SPARQL endpoint WordPress plugin
33
What’s great and what’s not
Pros: Encourages profile edits Provides options for varying skill levels Makes deans happy Cons: Adds maintenance Complicates support Requires Drupal module maintenance
34
Next steps @Duke Add more fields to complete a CV Updates endpoint
Find people that have changed Update Drupal module Publish/Subscribe Move away from constant polling Currently v0.9 – what is next? Maybe JSON-LD
35
Questions? Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.