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

Transcript of Gordon Semantic Web 2008

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

Ω