vivo 2011 opensocial and rdf poster
DESCRIPTION
Presentation on combining OpenSocial with RDF to allow for better domain data accessTRANSCRIPT
Extending OpenSocial with RDF to Benefit Research Networking Tools
Eric Meeks (UCSF), Leslie Yuan (UCSF), Griffin Weber (Harvard), Maninder Kahlon (UCSF)
Clinical and Translational Science Institute, University of California, San Francisco
Harvard Catalyst, The Harvard Clinical and Translational Science Center
Problem
Introduction
OpenSocial applications use JavaScript and JSON to execute within
the browser. The domain objects in OpenSocial (ex. people, movies,
friends in the consumer oriented world or researcher, publications, co-
authors in the bioinformatics world) need to be expressed as JSON to
be available to OpenSocial applications.
The JSON encoding typically happens through a custom development
effort (extending Apache Shindig) specific to the implementing
institutions technical infrastructure. One institution might store domain
data in an Oracle database with a particular set of tables and columns,
another institution might use SQL Server, etc.
With RDF, a reusable coding effort is possible by using existing
technologies such as SIMILE Babel from MIT to convert the RDF/XML
expression of the domain data to JSON in a form that can be readily
used by OpenSocial applications.
Results Example Data
Acknowledgments
Next Steps
Research Networking Tools such as VIVO and Profiles have found
widespread adoption in the biomedical research community. RDF is
becoming a primary means for exposing the data contained within these
tools, and the VIVO ontology has become the standard vocabulary for
expression. Both VIVO and Profiles export data through the RDF/XML
serialization format.
OpenSocial is a standard API for running embedded applications
(gadgets) within a containing web site. OpenSocial is supported by
groups within industry and research such as Google, LinkedIn, Nature
Network, and Elsevier SciVerse.
UCSF Profiles supports the OpenSocial standard and UCSF has been
building a shareable library of OpenSocial applications to extend
Profiles functionality.
Methods
UCSF extended Profiles to become an OpenSocial container by
integrating Profiles with Shindig, a product maintained by the Apache
Software Foundation. Shindig is an open source Java product that is the
reference standard for the OpenSocial API, and is the most commonly
used code base for making a web site OpenSocial compliant.
The Babel application from the SIMILE Project (Simple Interoperability
of Metadata and Information in unLike Environments) at MIT proved
successful in being able to convert RDF/XML from both Profiles and
VIVO into usable JSON. Babel is open source and like Shindig,
developed in Java.
UCSF integrated Babel into Shindig and created an OpenSocial feature
extension to automatically create People JSON objects that are sourced
by RDF. Our OpenSocial People objects now have attributes such as
authorInAuthorship and hasResearchArea that are meaningful to our
domain. In OpenSocial, our People now look like researchers!
A demonstration gadget called DIRECT Match was built as a proof of
concept. DIRECT Match uses the VIVO ontology defined
hasResearchArea and freetextKeyword attributes of the home page
owner to automatically query the DIRECT network to find similar
researchers across multiple institutions. DIRECT Match has been
successfully tested with RDF content from both Profiles and VIVO.
Browser
Babel
OpenSocial with RDF/XML
Approach
Gadget Content
Gadget Hosting Servers
http://anywhere/gadget.xml
RD
F/X
ML
G
ad
ge
t
Sp
ec
s
HTML Content
OR*
JSON Domain Data
Domain Object Request
OpenSocial applications can now be developed for specific domain
needs without overtaxing interoperability. For example, an OpenSocial
application built for the VIVO ontology will work within any OpenSocial
Research Networking Tool that produces VIVO RDF. Moreover, a FOAF
based OpenSocial application would also work with a VIVO based tool
because the VIVO ontology is an extension of FOAF. Essentially, this
RDF approach allows OpenSocial to become domain model agnostic.
Consistent domain model resolution is still required for interoperability
but this problem will instead be solved by the use of ontologies, which
offer a more sophisticated answer than the “one size plus extensions
fits all” approach currently found within OpenSocial. From the
OpenSocial perspective this approach should allow easier adoption into
vertical markets such as academia, research, or enterprise, provided
that the vertical market is willing to adopt RDF.
The implementation effort for other RDF based Research Networking
Tools (such as VIVO) to become OpenSocial compliant is now reduced
because the code for converting domain objects to JSON can be reused
among any Research Networking Tool that produces RDF/XML.
This project was supported by NIH/NCRR UCSF-CTSI Grant Number
UL1 RR024131 and Harvard Catalyst Grant Number 1 UL1 RR025758-
01. Its contents are solely the responsibility of the authors and do not
necessarily represent the official views of the NIH.
We would like to thank MIT Libraries and MIT CSAIL as well as all other
contributors to the SIMILE Project.
We would also like to thank Andy Smith and the OpenSocial foundation.
Release Profiles-based integration to open source community. This is
currently targeted for the 1.2 release of Profiles.
Use the OpenSocial Security Token to create data access mechanisms
for control of who can see what data. This would allow sensitive data to
be safely folded into Linked Open Data for OpenSocial applications.
Babel is ontology agnostic. Determine need for ontology specific
OpenSocial features, such as VIVO-ontology oriented convenience
functions to easily access co-authors, publications and more.
Assess need for an “eager fetching” strategy to convert referenced child
RDF/XML data to JSON and implement if necessary.
RDF/XML for Griffin Weber
JSON for Griffin Weber
SIMILE
Babel
RDF is a data oriented standard whereas OpenSocial is an application
standard. By necessity OpenSocial contains and references standards
for application support such as user interface, deployment model,
security/authentication and data model.
The data model within OpenSocial, particularly those parts centered
around people and connections, are not well matched for the
biomedical research domain. The default fields that describe a person
and connections reflect the consumer and business oriented market
where OpenSocial originated, and do not align with the academic
definition of a researcher. A standard OpenSocial person has methods
for friends and movies but not for co-authors or publications.
OpenSocial allows for custom extensions of the data model. But
customizations break interoperability. At UCSF we could manually
extend OpenSocial to reflect the fields and connections that define our
researchers but the larger goal is to gain adoption within the research
networking community so that applications built to extend our platform
can easily be shared amongst other institutions. With RDF and the
existing support for standard ontologies such as VIVO and FOAF we
can achieve this larger goal.
* Successfully tested with VIVO (ask for demo!) but not yet implemented.