gordon semantic web 2008

23
How Can We Use This Semantic Web Thing? Paul Gordon Sun Center of Excellence for Visual Genomics University of Calgary

Upload: bosc2008

Post on 02-Jul-2015

1.638 views

Category:

Business


0 download

TRANSCRIPT

Page 1: Gordon Semantic Web 2008

How Can We Use This Semantic Web Thing?

Paul GordonSun Center of Excellence for Visual Genomics

University of Calgary

Page 2: Gordon Semantic Web 2008

De s id e r a t a

• Something that doesn’t require reprogramming my business logic: notations

• Something that lets me reuse others’ code: commoditization

• Something my lets my users bug me less: workflows

Page 3: Gordon Semantic Web 2008

Web Services Today

Page 4: Gordon Semantic Web 2008

What’s Moby?

Page 5: Gordon Semantic Web 2008

Semantics & Semiotics

Semiotic Triangle from The Meaning of Meaning (1923)

Concept

Deoxyribonucleic AcidADN (French)

(Simplified Chinese)...

Words Things

Page 6: Gordon Semantic Web 2008

Where are we going?

Seahawk

Page 7: Gordon Semantic Web 2008

traceview

vectorstrip

trimseq

Page 8: Gordon Semantic Web 2008

Paul’s Pragmatic Maxims• You cannot get rid of work• Redistribute work amongst parties

– Who’s most motivated?– Who’s most knowledgeable?

• Avoid repetition of work – Accessibility of code– Reusability of code

• Self-containment (~10MB WAR) via custom ClassLoader

Page 9: Gordon Semantic Web 2008

Obsoleted

User domain knowledge

HTML Form input restrictions

SAWSDL markupACD command-line spec

Moby OntologyLeveraged

Semantic monitoring of user actions

Auto-spec of secondaries, rule lookup

Concept-URN to schema-

mapping res.

MOB & DEM rules

Moby-specific Java

annotations

NewTech.

MOB rules + user hintsMOB rules + HTML class attributes*

MOB or XSLT on returned XML

MOB rules on returned data files

N/ALegacy-to-Moby data

DEM rulesDEM rulesDEM rulesDEM rulesN/AMoby-to-legacy data

HTTP CGIHTTP CGIHTTP SOAPCommand-linejMoby APII/OExec.

Example usage with typed data

HTML form fields’ class attribute

Extra tags in WSDLServlet web.xml properties

Java annotationSemantics

Specific legacy formats (implicit)

Specific legacy formats (implicit)

Schema-defined XML in the WSDL

Specific legacy formats (explicit in ACD file)

Moby types, as specified by the Java annotation

Expected I/O

HTML formHTML formWSDL fileACD fileJava codeSourceSpec.

← (-) External code reuse (+) →

PBEServletCGIServletWSDLServletACDServletMobyServlet

Easier for naïve users →

Skeleton code generation

Custom data parsers “Shim” Services

Screen scrapers

Explicit semantic markup

Page 10: Gordon Semantic Web 2008

MobyServletimport org.biomoby.shared.MobyDataType;import org.biomoby.shared.data.*;import org.biomoby.service.*;

@mobyService(name="ConvertAAtoFASTA_AA ", type="FormatConversion", provider="moby.ucalgary.ca", author="[email protected] ", in="inseq:AminoAcidSequence ", out="outseq:FASTA_AA", description="Converts amino acid objects into FastA formatted records, ", "primarily to increase inter-service compatibility ")

public class ConvertAAtoFASTA_AA extends MobyServlet

public void processRequest(MobyDataJob request, MobyDataJob result) throws Exception

// The input parameter for this method is registered as "inseq" MobyDataComposite aaSeqObj = (MobyDataComposite) request.get(" inseq");

// SequenceString is a member of incoming AminoAcidSequence object MobyDataString aaStringObj = (MobyDataString) aaSeqObj.get(" SequenceString"); String aaString = aaStringObject.toString(); ...

Page 11: Gordon Semantic Web 2008

ACDServlet

web.xml trimseq.acd

Rule selection

2nd-ary parameter creation

mobyInput

DNASequence

mobyOutput

DNASequence

Page 12: Gordon Semantic Web 2008

MOB rules

Page 13: Gordon Semantic Web 2008

WSDLServlet

Page 14: Gordon Semantic Web 2008

WSDL Notation

Page 15: Gordon Semantic Web 2008

bioxml.info

Page 16: Gordon Semantic Web 2008

CGIServlet

<form …>…<textarea name="input_text" cols="61" rows="5" ></textarea>…<input type="text" size="7" name="salt_conc" value="0.05" />…</form>

<html xmlns:moby=“http://www.biomoby.org/moby”…><head>…

<meta name="moby:service" scheme="http://moby.ucalgary.ca/moby/MOBY-Central.pl" content="Primers,moby.ucalgary.ca,CalcPCRPrimers: Takes a DNA sequence and calculates PCR probes satisfying a given set of conditions"/>

class="moby:CalcPCRPrimers:primers:Collection(DNASequence)”

class="moby:sequence:DNASequence:fasta"

class="moby::Float::[0,10]" alt="Na+ concentration (molar)"

Page 17: Gordon Semantic Web 2008

Legacy non-XML appsHTML + declarative “MOB” and “DEM” rules

+ user drag ‘n’ drop

PBEServlet: user-driven examples

Seahawk

Proxied Web page

Seahawk AJAXprompting

Drag ‘n’ drop

Page 18: Gordon Semantic Web 2008

User-Friendly?

* Apologies to Aleksi Kallio, presenting tomorrow12 Actual148 “User study”

8310 “User friendly”*

Source:Google Scholar

Page 19: Gordon Semantic Web 2008

Abstraction Gradient

Closeness of Mapping

Consistency

Diffuseness

Error-Proneness

Hard Mental Operations

Hidden Dependencies

Premature Commitment

Progressive Evaluation

Role-Expressiveness

Secondary NotationCo

gn

itive

Dim

en

sion

Con

sist

ency

Am

ong

st a

nd

Be

twee

n G

rou

ps

Agree

Disagree

Neither

Page 20: Gordon Semantic Web 2008

Viscosity

Dim

ensi

on

Co

nsi

sten

cyA

mon

gst

an

d B

etw

een

Gro

up

sVisibility (2)

Story content

Modifiability

Controllability

Referencability

Programming salience

Provisionality

Com

mun

icat

ive

Cog

nitiv

e

Visibility (1)

Page 21: Gordon Semantic Web 2008

Interest in the Given Workflows

Very

Somew

hat

Neithe

r

Somew

hat N

ot

Very N

ot

Don't K

now

Seeing analysis workflow descriptions in published research you read?

Using a library of pre-built workflows toRun your analysis in this tool?

Developing your own workflows again, with this tool?

Modifying pre-built workflows in this tool, for your own purpose?

Despite general lacklustre interest in EUD, interest in domain specific workflows is high.

Page 22: Gordon Semantic Web 2008

The Plug• Increasingly abstract notations, until no

notations at all (PBE)• Made possible by Moby ontology, turning

data transformations into reusable commodities (open source)

• A gentle slope into workflows, with user-defined functions

Page 23: Gordon Semantic Web 2008

Ω