101
Getting Started with the Talis Platform Leigh Dodds Platform Programme Manager Talis December 2008 http://creativecommons.org/licenses/by/2.0/uk/

Getting Started With The Talis Platform

Embed Size (px)

DESCRIPTION

Developer training session providing an overview of the core features and services of the Talis Platform. Includes basic overview of REST and RDF

Citation preview

Page 1: Getting Started With The Talis Platform

Getting Started with the Talis PlatformLeigh Dodds

Platform Programme Manager

Talis

December 2008

http://creativecommons.org/licenses/by/2.0/uk/

Page 2: Getting Started With The Talis Platform

shared innovation

Agenda

• Platform Overview• Core Concepts• Review of the RDF Model• Managing binary data• Managing structured metadata• Exploring RDF data with SPARQL• Extra Features• Store Administration• Summary

Page 3: Getting Started With The Talis Platform

Platform Overview

Page 4: Getting Started With The Talis Platform

shared innovation

Software as a Service

Multi-Tenant Data Storage Service

Page 5: Getting Started With The Talis Platform

shared innovation

Unstructured Data Storage

e.g. binary files, including images, documents, etc

Page 6: Getting Started With The Talis Platform

shared innovation

Structured Data Storage

RDF metadata

Page 7: Getting Started With The Talis Platform

shared innovation

Access Control

All data is open (to read) by defaultConfigurable access options

Page 8: Getting Started With The Talis Platform

shared innovation

Full-Text Searching and Querying

Page 9: Getting Started With The Talis Platform

shared innovation

Standards Compliance

RDF, SPARQL, HTTP

Page 10: Getting Started With The Talis Platform

shared innovation

Platform Architecture

Web API

Metabox

Contentbox

Page 11: Getting Started With The Talis Platform

REST, RDFAuthentication & AuthorizationContent Negotiation

Core Conceptsaka “The Science Bit”

Page 12: Getting Started With The Talis Platform

shared innovation

REST

Representational State Transfer

Correct Use of HTTP

Page 13: Getting Started With The Talis Platform

shared innovation

Resource-Centric API

Everything has a unique URI

Page 14: Getting Started With The Talis Platform

shared innovation

Interact with resources using HTTP

GET = readPUT = write

POST = update/modifyDELETE = delete

Page 15: Getting Started With The Talis Platform

shared innovation

Use HTTP Response Codes

200 = OK201 = Created (new resource)

202 = Accepted (for processing)400 = Bad Request500 = Server Error

Page 16: Getting Started With The Talis Platform

shared innovation

Mime Types

Used to identifiy content & meaning of request and response body

Page 17: Getting Started With The Talis Platform

shared innovation

Content Negotiation

Majority of services support multiple output options, list varies by resource

Accept headeroutput parameter

Page 18: Getting Started With The Talis Platform

shared innovation

Our Service Checklist

Consistent URI structureEvery service has human interfacePlain text error messages for easy debuggingCacheable…etc

Page 19: Getting Started With The Talis Platform

shared innovation

Authentication

HTTP Digest Authentication

Page 20: Getting Started With The Talis Platform

shared innovation

Authentication Example

Page 21: Getting Started With The Talis Platform

shared innovation

Authorization

By default stores are world-readable, Store owner writable

Customisable roles and privileges per-Store

Page 22: Getting Started With The Talis Platform

Review of the RDF Model

Page 23: Getting Started With The Talis Platform

shared innovation

Apollo 11 was launched from Cape Canaveral

Page 24: Getting Started With The Talis Platform

shared innovation

Apollo 11 was launched from Cape Canaveral

Subject Predicate Object

Page 25: Getting Started With The Talis Platform

shared innovation

<http://purl.org/net/schemas/space/spacecraft/apollo-11> <http://purl.org/net/schemas/space/launchsite>

<http://purl.org/net/schemas/space/launchsite/capecanaveral>.

Page 26: Getting Started With The Talis Platform

shared innovation

space:spacecraft/apollo-11 space:launchsite

space:launchsite/capecanaveral.

Page 27: Getting Started With The Talis Platform

shared innovation

space:spacecraft/apollo-11 space:launchsite space:launchsite/capecanaveral.

space:spacecraft/apollo-11 rdfs:label “Apollo 11”.

space:launchsite/capecanaveral rdfs:label “Cape Canaveral”.

Page 28: Getting Started With The Talis Platform

shared innovation

Page 29: Getting Started With The Talis Platform

shared innovation

Page 30: Getting Started With The Talis Platform

shared innovation

Benefits of RDF?

Page 31: Getting Started With The Talis Platform

shared innovation

Good for Semi-structured Data

“Schema-Free”Very Flexible

Page 32: Getting Started With The Talis Platform

shared innovation

Extensible

New propertiesNew resources

New types of resourceNew statements

Page 33: Getting Started With The Talis Platform

shared innovation

Encourages Convergence

Reuse of vocabularies (i.e. properties)Reuse of identifiers (i.e. talk about the same things)

Page 34: Getting Started With The Talis Platform

shared innovation

Simplifies Data Integration and Aggregation

Shared identifiersCommon data model

Common query languageCommon data formats

Page 35: Getting Started With The Talis Platform

shared innovation

Several Different Ways to Serialize RDF

Optimized for different purposes

Page 36: Getting Started With The Talis Platform

shared innovation

Turtle

Simple to read and hand-authorUsed in SPARQL query language

Page 37: Getting Started With The Talis Platform

shared innovation

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>@prefix space: <http://purl.org/net/schemas/space/> @@prefix dc: <http://purl.org/dc/elements/1.1/>

<http://purl.org/net/schemas/space/spacecraft/1969-059A> rdf:type

<http://purl.org/net/schemas/space/Spacecraft>; dc:description "Apollo 11 was…”; space:agency "United States" .

Page 38: Getting Started With The Talis Platform

shared innovation

RDF/XML

Best for data interchangeHarder to read

Page 39: Getting Started With The Talis Platform

shared innovation

<rdf:RDF xmlns:j.0="http://xmlns.com/foaf/0.1/“ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:space="http://purl.org/net/schemas/space/" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="http://purl.org/net/schemas/space">

<rdf:Description rdf:about="/spacecraft/1969-059A">

<dc:description>Apollo 11 was…</dc:description> <rdf:type rdf:resource="http://purl.org/net/schemas/space/Spacecraft"/> <space:agency>United States</space:agency>

</rdf:Description>

</rdf:RDF>

Page 40: Getting Started With The Talis Platform

The Content BoxManaging unstructured, binary data

Page 41: Getting Started With The Talis Platform

shared innovation

Store any stream of binary data

Images, documents, Javascript, etc

Page 42: Getting Started With The Talis Platform

shared innovation

Full HTTP Caching Support

ETagsEfficient retrieval

Conditional updates

Page 43: Getting Started With The Talis Platform

shared innovation

Server or Client Assignment of Identifiers

Provides full control over how URIs assigned

Page 44: Getting Started With The Talis Platform

shared innovation

ContentBox URLs

• /storename/items– The Contentbox container

• /storename/items/<id>– An individual item

Page 45: Getting Started With The Talis Platform

shared innovation

Adding Content

Page 46: Getting Started With The Talis Platform

shared innovation

Deleting Content

Page 47: Getting Started With The Talis Platform

shared innovation

Metadata for Contentbox Resources

Minimum is URI and ETagExtract height & width of images

…more metadata extraction in future

Page 48: Getting Started With The Talis Platform

The Meta Box

Managing structured metadata

Page 49: Getting Started With The Talis Platform

shared innovation

Full RDF Data Storage

Create, read, update, delete RDF resourcesQuery RDF data

Page 50: Getting Started With The Talis Platform

shared innovation

Configurable Full Text Indexing of RDF

Indexes updated whenever new metadata added

Page 51: Getting Started With The Talis Platform

shared innovation

Versioned and Un-Versioned Updates

By submitting data to separate resourcesMaintain audit trail

Page 52: Getting Started With The Talis Platform

shared innovation

Can be Divided into Sub-Graphs

Separate access control options

Page 53: Getting Started With The Talis Platform

shared innovation

Metabox URLs

• /storename/meta– The metabox

• /storename/meta/changesets– The collection of changesets associated with this metabox

• /storename/meta/graphs – The collection of sub-graphs

• /storename/meta/graphs/{id}– A sub-graph

• /storename/meta/graphs/{id}/changesets – The collection of changesets associated with a sub-graph

• /storename/services/sparql– SPARQL endpoint for metabox

• /storename/services/multisparql– SPARQL endpoint for querying across all sub-graphs

Page 54: Getting Started With The Talis Platform

shared innovation

Storing RDF

POST application/rdf+xmlChanges saved immediately

Search indexing asynchronous

Page 55: Getting Started With The Talis Platform

shared innovation

Triples are Merged into Store

Can catch out the unwaryUpdates happen through separate mechanism

Page 56: Getting Started With The Talis Platform

shared innovation

Retrieving Metadata

/meta?about=…URI…Can select RDF serialization

Page 57: Getting Started With The Talis Platform

shared innovation

Updating Resources

POST application/vnd.talis.changeset+xml

Page 58: Getting Started With The Talis Platform

shared innovation

ChangeSets

Vocabulary that specifies removals/additions to an RDF graph

Page 59: Getting Started With The Talis Platform

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cs="http://purl.org/vocab/changeset/schema#"> <cs:ChangeSet rdf:about="http://example.com/changesets#change"> <cs:subjectOfChange rdf:resource="http://purl.org/net/schema/space/launch/1969-059"/> <cs:createdDate>2008-12-08T00:00:00Z</cs:createdDate> <cs:creatorName>Leigh Dodds</cs:creatorName> <cs:changeReason>More accurate launch time</cs:changeReason> <cs:removal> <rdf:Statement> <rdf:subject rdf:resource="http://purl.org/net/schema/space/launch/1969-

059"/> <rdf:predicate rdf:resource="http://purl.org/net/schema/space/launched"/> <rdf:object>1969-07-16</rdf:object> </rdf:Statement> </cs:removal> <cs:addition> <rdf:Statement> <rdf:subject rdf:resource="http://purl.org/net/schema/space/launch/1969-

059"/> <rdf:predicate rdf:resource="http://purl.org/net/schema/space/launched"/> <rdf:object>1969-07-16T13:32:00</rdf:object> </rdf:Statement> </cs:addition> </cs:ChangeSet></rdf:RDF>

Page 60: Getting Started With The Talis Platform

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cs="http://purl.org/vocab/changeset/schema#"> <cs:ChangeSet rdf:about="http://example.com/changesets#change"> <cs:subjectOfChange rdf:resource="http://purl.org/net/schema/space/launch/1969-059"/> <cs:createdDate>2008-12-08T00:00:00Z</cs:createdDate> <cs:creatorName>Leigh Dodds</cs:creatorName> <cs:changeReason>More accurate launch time</cs:changeReason> <cs:removal> <rdf:Statement> <rdf:subject rdf:resource="http://purl.org/net/schema/space/launch/1969-

059"/> <rdf:predicate

rdf:resource="http://purl.org/net/schema/space/launched"/> <rdf:object>1969-07-16</rdf:object> </rdf:Statement> </cs:removal> <cs:addition> <rdf:Statement> <rdf:subject rdf:resource="http://purl.org/net/schema/space/launch/1969-

059"/> <rdf:predicate rdf:resource="http://purl.org/net/schema/space/launched"/> <rdf:object>1969-07-16T13:32:00</rdf:object> </rdf:Statement> </cs:addition> </cs:ChangeSet></rdf:RDF>

Page 61: Getting Started With The Talis Platform

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cs="http://purl.org/vocab/changeset/schema#"> <cs:ChangeSet rdf:about="http://example.com/changesets#change"> <cs:subjectOfChange rdf:resource="http://purl.org/net/schema/space/launch/1969-059"/> <cs:createdDate>2008-12-08T00:00:00Z</cs:createdDate> <cs:creatorName>Leigh Dodds</cs:creatorName> <cs:changeReason>More accurate launch time</cs:changeReason> <cs:removal> <rdf:Statement> <rdf:subject rdf:resource="http://purl.org/net/schema/space/launch/1969-

059"/> <rdf:predicate rdf:resource="http://purl.org/net/schema/space/launched"/> <rdf:object>1969-07-16</rdf:object> </rdf:Statement> </cs:removal> <cs:addition> <rdf:Statement> <rdf:subject rdf:resource="http://purl.org/net/schema/space/launch/1969-

059"/> <rdf:predicate

rdf:resource="http://purl.org/net/schema/space/launched"/> <rdf:object>1969-07-16T13:32:00</rdf:object> </rdf:Statement> </cs:addition> </cs:ChangeSet></rdf:RDF>

Page 62: Getting Started With The Talis Platform

shared innovation

Versioned Updates

POST to /meta/changesetsApply update and stores changeset for later retrieval

Page 63: Getting Started With The Talis Platform

shared innovation

Batch Updates

Combine several changesets into single POSTLinked together to define ordering

Page 64: Getting Started With The Talis Platform

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cs="http://purl.org/vocab/changeset/schema#"> <cs:ChangeSet rdf:about="http://example.com/changesets/1"> <cs:subjectOfChange

rdf:resource="http://purl.org/net/schema/space/launch/1969-059"/>

<cs:changeReason>More accurate launch time</cs:changeReason> <cs:precedingChangeset rdf:resource="http://example.com/changesets/2"/> <!– changes --> </cs:ChangeSet> <cs:ChangeSet rdf:about="http://example.com/changesets/2"> <cs:subjectOfChange

rdf:resource="http://purl.org/net/schema/space/launch/1969-059"/>

<cs:precedingChangeset rdf:resource="http://example.com/changesets/3"/>

<!– changes --> </cs:ChangeSet> <cs:ChangeSet rdf:about="http://example.com/changesets/3"> <cs:subjectOfChange

rdf:resource="http://purl.org/net/schema/space/spacecraft/1969-059D"/> <!– changes -->... </cs:ChangeSet> </rdf:RDF>

Page 65: Getting Started With The Talis Platform

Data Extraction & Exploration with SPARQL

Page 66: Getting Started With The Talis Platform

shared innovation

SPARQL

RDF query language; HTTP protocol; Results format4 different forms of query

Page 67: Getting Started With The Talis Platform

shared innovation

ASK

Test whether the graph contains some data of interest

Page 68: Getting Started With The Talis Platform

shared innovation

#Was there a launch on 16th July 1969?

PREFIX space: <http://purl.org/net/schemas/space/>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

ASK WHERE { ?launch space:launched "1969-07-16"^^xsd:date.}

Page 69: Getting Started With The Talis Platform

shared innovation

<?xml version="1.0"?><sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> </head> <boolean>true</boolean></sparql>

Page 70: Getting Started With The Talis Platform

shared innovation

DESCRIBE

Generate an RDF description of a resource(s)

Page 71: Getting Started With The Talis Platform

shared innovation

#Describe launch(es) that occurred on 16th July 1969

PREFIX space: <http://purl.org/net/schemas/space/>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

DESCRIBE ?launch WHERE { ?launch space:launched "1969-07-16"^^xsd:date.}

Page 72: Getting Started With The Talis Platform

shared innovation

#Describe spacecraft launched on 16th July 1969

PREFIX space: <http://purl.org/net/schemas/space/>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

DESCRIBE ?spacecraft WHERE {

?launch space:launched "1969-07-16"^^xsd:date.

?spacecraft space:launch ?launch.

}

Page 73: Getting Started With The Talis Platform

shared innovation

CONSTRUCT

Create a custom RDF graph based on query criteria

Page 74: Getting Started With The Talis Platform

shared innovation

PREFIX space: <http://purl.org/net/schemas/space/>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>PREFIX foaf: <http://xmlns.com/foaf/0.1/>

CONSTRUCT { ?spacecraft foaf:name ?name; space:agency ?agency; space:mass ?mass. }WHERE { ?launch space:launched "1969-07-16"^^xsd:date.

?spacecraft space:launch ?launch; foaf:name ?name; space:agency ?agency; space:mass ?mass. }

Page 75: Getting Started With The Talis Platform

shared innovation

SELECT

SQL style result set retrieval

Page 76: Getting Started With The Talis Platform

shared innovation

PREFIX space: <http://purl.org/net/schemas/space/>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?name ?agency ?massWHERE {

?launch space:launched "1969-07-16"^^xsd:date.

?spacecraft space:launch ?launch; foaf:name ?name; space:agency ?agency; space:mass ?mass. }

Page 77: Getting Started With The Talis Platform

shared innovation

<?xml version="1.0"?><sparql xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2005/sparql-results#" > <head> <variable name="name"/> <variable name="agency"/> <variable name="mass"/> </head> <results> <result> <binding name="name"> <literal>Apollo 11 Command and Service Module (CSM)</literal> </binding> <binding name="agency"> <literal>United States</literal> </binding> <binding name="mass"> <literal>28801.0</literal> </binding> </result> <!– more results --> </results></sparql>

…as XML

Page 78: Getting Started With The Talis Platform

shared innovation

{ "head": { "vars": [ "name" , "agency" , "mass" ] } , "results": { "bindings": [ { "name": { "type": "literal" , "value": "Apollo 11 Command and Service Module (CSM)" } , "agency": { "type": "literal" , "value": "United States" } , "mass": { "type": "literal" , "value": "28801.0" } } , { "name": { "type": "literal" , "value": "Apollo 11 SIVB" } , "agency": { "type": "literal" , "value": "United States" } , "mass": { "type": "literal" , "value": "13300.0" } } , { "name": { "type": "literal" , "value": "Apollo 11 Lunar Module / EASEP" } , "agency": { "type": "literal" , "value": "United States" } , "mass": { "type": "literal" , "value": "15065.0" } } ] }}

…as JSON

Page 79: Getting Started With The Talis Platform

Tour of Extra Features

Searching, browsing, augmentation

Page 80: Getting Started With The Talis Platform

shared innovation

Searching

Full text index over RDF literalsConfigurable indexing options

Page 81: Getting Started With The Talis Platform

shared innovation

/items?query=[query] &max=[10] &offset=[0] &sort=[comma-separated fieldnames] &xsl=[XSLT stylesheet] &content-type=[mimetype for XSLT results]

Page 82: Getting Started With The Talis Platform

shared innovation

Query Syntax

• lunar

• luna*

• “apollo 11”

• lunar OR apollo

• name:apollo

• (lunar OR apollo) AND agency:united states

Page 83: Getting Started With The Talis Platform

shared innovation

Query Results

RSS 1.0 feedOpenSearch extensions (paging, relevance)

Full description of each resource

Page 84: Getting Started With The Talis Platform

<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:relevance="http://a9.com/-/opensearch/extensions/relevance/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:os="http://a9.com/-/spec/opensearch/1.1/" xmlns:ns.1="http://purl.org/net/schemas/space/"> <channel rdf:about=“…"> <title>lunar</title> <link>…</link> <description>Results of a search for lunar on space</description> <items> <rdf:Seq rdf:about="urn:uuid:eae4ead8-ca6a-4b12-b714-fe631d38e447"> <rdf:li resource="http://purl.org/net/schemas/space/spacecraft/LUNAR-A" /> </rdf:Seq> </items> <os:startIndex>0</os:startIndex> <os:itemsPerPage>10</os:itemsPerPage> <os:totalResults>118</os:totalResults></channel>

<item rdf:about="http://purl.org/net/schemas/space/spacecraft/LUNAR-A"> <title>Item</title> <link>http://purl.org/net/schemas/space/spacecraft/LUNAR-A</link> <relevance:score>1.0</relevance:score> <foaf:name>Lunar-A</foaf:name> <space:mass>520.0</space:mass> <space:internationalDesignator>LUNAR-A</space:internationalDesignator></item></rdf:RDF>

Page 85: Getting Started With The Talis Platform

shared innovation

Facetted Search

Similar to Amazon product search, etcGroup search results by specific fields

Page 86: Getting Started With The Talis Platform

shared innovation

/services/facet?query=[query] &fields=[comma-separated fieldnames]

&top=[10] &format=[xml|html]

Page 87: Getting Started With The Talis Platform

<facet-results xmlns="http://schemas.talis.com/2007/facet-results#"> <head> <query>name:luna*</query>

<fields>agency</fields><top>10</top><output>xml</output>

</head> <fields> <field name="agency">

<term value="U.S.S.R" number="25" facet-uri=“…" search-uri=“…"/>

<term value="United States" number="9" facet-uri=“…" search-uri=“…"/>

<term value="Japan" number="1" facet-uri=“…" search-uri=“…"/>

<term value="India" number="1" facet-uri=“…" search-uri=“…"/>

</field> </fields></facet-results>

Page 88: Getting Started With The Talis Platform

shared innovation

Augmentation

Annotate an RSS 1.0 feed against a storeAutomatically add a description of each referenced

resource

Page 89: Getting Started With The Talis Platform

Store Administration

Job Control, Store Configuration

Page 90: Getting Started With The Talis Platform

shared innovation

Field Predicate Map

Associate a short name to a RDF propertyProperties in field predicate map are indexed for

searchingShort name used in query syntax, sort order, etc

Page 91: Getting Started With The Talis Platform

shared innovation

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:bf="http://schemas.talis.com/2006/bigfoot/configuration#" xmlns:frm="http://schemas.talis.com/2006/frame/schema#“ xml:base=“http://api.talis.com/stores/space”>

<bf:FieldPredicateMap rdf:about="/indexes/default/fpmaps/default">

<frm:mappedDatatypeProperty> <rdf:Description rdf:about="/indexes/default/fpmaps/default#agency">

<frm:property rdf:resource="http://purl.org/net/schema/space/agency"/> <frm:name>agency</frm:name>

</rdf:Description> </frm:mappedDatatypeProperty>

</bf:FieldPredicateMap>

</rdf:RDF>

Page 92: Getting Started With The Talis Platform

shared innovation

Query Profile

Assign weightings to fields for searching

Page 93: Getting Started With The Talis Platform

shared innovation

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:bf="http://schemas.talis.com/2006/bigfoot/configuration#" xmlns:frm="http://schemas.talis.com/2006/frame/schema#“xml:base=“http://api.talis.com/stores/space”> <bf:QueryProfile rdf:about="">

<bf:fieldWeight> <rdf:Description rdf:about="/indexes/default/queryprofiles/default#name"> <bf:weight>10.0</bf:weight> <frm:name>name</frm:name> </rdf:Description> </bf:fieldWeight> <bf:fieldWeight> <rdf:Description rdf:about="/indexes/default/queryprofiles/default#agency"> <bf:weight>5.0</bf:weight> <frm:name>agency</frm:name> </rdf:Description> </bf:fieldWeight> </bf:QueryProfile></rdf:RDF>

Page 94: Getting Started With The Talis Platform

shared innovation

Job Control

Reindex, Reset, Snapshot, Restore

POST Job Request to /jobs

Page 95: Getting Started With The Talis Platform

shared innovation

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:bf="http://schemas.talis.com/2006/bigfoot/configuration#">

<bf:JobRequest> <rdfs:label>Reset the data in my store</rdfs:label> <bf:jobType

rdf:resource="http://schemas.talis.com/2006/bigfoot/configuration#ResetDataJob"/> <bf:startTime>2008-12-01T15:10:00Z</bf:startTime> </bf:JobRequest> </rdf:RDF>

Page 96: Getting Started With The Talis Platform

shared innovation

Jobs

Each job is a resource, with a URI

GET to monitor status, DELETE to remove

Page 97: Getting Started With The Talis Platform

Summing Up

Summary, Additional Resources

Page 98: Getting Started With The Talis Platform

shared innovation

The Talis Platform…

• Provides a standards compliant storage infrastructure for structured and unstructured metadata

• Uses RDF to support widest possible variety of data models and integration options

• Allow managing of data assets through simple web APIs

• Offers a range of data extraction options including full-text searching, SPARQL, RSS augmentation

• Can be tailored to individual applications using the API

• Can be driven by scheduling jobs to perform data management tasks

• Is constantly evolving…

Page 99: Getting Started With The Talis Platform

shared innovation

Additional Resources

• API Reference– http://n2.talis.com/wiki/Platform_API

• Mailing List– http://groups.google.com/group/n2-dev

• Blog– http://blogs.talis.com/n2/

Page 100: Getting Started With The Talis Platform

shared innovation

Client Libraries (in various states of development)

• Moriarty– http://code.google.com/p/moriarty/

• Javascript/JQuery– http://n2.talis.com/wiki/Talis_jQuery_plugin

• Ruby Client– http://rubyforge.org/projects/talis-platform/

• Java Client– http://code.google.com/p/penry/

Page 101: Getting Started With The Talis Platform

shared innovation