vivo 2011 opensocial and rdf poster

1
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 RDF/XML Gadget Specs 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.

Upload: ericmeeks

Post on 21-Jan-2015

502 views

Category:

Technology


3 download

DESCRIPTION

Presentation on combining OpenSocial with RDF to allow for better domain data access

TRANSCRIPT

Page 1: VIVO 2011 OpenSocial and RDF Poster

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.