Getting Started With The Talis Platform

50 %
50 %
Information about Getting Started With The Talis Platform
Technology

Published on December 15, 2008

Author: ldodds

Source: slideshare.net

Description

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

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

Leigh Dodds

Platform Programme Manager

Talis

December 2008

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

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

Platform Overview

Software as a Service Multi-Tenant Data Storage Service

Unstructured Data Storage e.g. binary files, including images, documents, etc

Structured Data Storage RDF metadata

Access Control All data is open (to read) by default Configurable access options

Full-Text Searching and Querying

Standards Compliance RDF, SPARQL, HTTP

Platform Architecture Web API Metabox Contentbox

REST, RDF Authentication & Authorization Content Negotiation Core Concepts aka “The Science Bit”

REST Re presentational S tate T ransfer Correct Use of HTTP

Resource-Centric API Everything has a unique URI

Interact with resources using HTTP GET = read PUT = write POST = update/modify DELETE = delete

Use HTTP Response Codes 200 = OK 201 = Created (new resource) 202 = Accepted (for processing) 400 = Bad Request 500 = Server Error

Mime Types Used to identifiy content & meaning of request and response body

Content Negotiation Majority of services support multiple output options, list varies by resource Accept header output parameter

Our Service Checklist Consistent URI structure Every service has human interface Plain text error messages for easy debugging Cacheable … etc

Consistent URI structure

Every service has human interface

Plain text error messages for easy debugging

Cacheable

… etc

Authentication HTTP Digest Authentication

Authentication Example

Authorization By default stores are world-readable, Store owner writable Customisable roles and privileges per-Store

Review of the RDF Model

Apollo 11 was launched from Cape Canaveral

Apollo 11 was launched from Cape Canaveral Subject Predicate Object

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

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

space:spacecraft/apollo-11 space:launchsite space:launchsite/capecanaveral. space:spacecraft/apollo-11 rdfs:label “Apollo 11” . space:launchsite/capecanaveral rdfs:label “Cape Canaveral” .

 

 

Benefits of RDF?

Good for Semi-structured Data “Schema-Free” Very Flexible

Extensible New properties New resources New types of resource New statements

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

Simplifies Data Integration and Aggregation Shared identifiers Common data model Common query language Common data formats

Several Different Ways to Serialize RDF Optimized for different purposes

Turtle Simple to read and hand-author Used in SPARQL query language

@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 &quot;Apollo 11 was…”; space:agency &quot;United States&quot; .

RDF/XML Best for data interchange Harder to read

<rdf:RDF xmlns:j.0=&quot;http://xmlns.com/foaf/0.1/“ xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:space=&quot;http://purl.org/net/schemas/space/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xml:base=&quot;http://purl.org/net/schemas/space&quot;> <rdf:Description rdf:about=&quot;/spacecraft/1969-059A&quot;> <dc:description>Apollo 11 was…</dc:description> <rdf:type rdf:resource=&quot;http://purl.org/net/schemas/space/Spacecraft&quot;/> <space:agency>United States</space:agency> </rdf:Description> </rdf:RDF>

The Content Box Managing unstructured, binary data

Store any stream of binary data Images, documents, Javascript, etc

Full HTTP Caching Support ETags Efficient retrieval Conditional updates

Server or Client Assignment of Identifiers Provides full control over how URIs assigned

ContentBox URLs /storename/items The Contentbox container /storename/items/<id> An individual item

/storename/items

The Contentbox container

/storename/items/<id>

An individual item

Adding Content

Deleting Content

Metadata for Contentbox Resources Minimum is URI and ETag Extract height & width of images … more metadata extraction in future

The Meta Box Managing structured metadata

Full RDF Data Storage Create, read, update, delete RDF resources Query RDF data

Configurable Full Text Indexing of RDF Indexes updated whenever new metadata added

Versioned and Un-Versioned Updates By submitting data to separate resources Maintain audit trail

Can be Divided into Sub-Graphs Separate access control options

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

/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

Storing RDF POST application/rdf+xml Changes saved immediately Search indexing asynchronous

Triples are Merged into Store Can catch out the unwary Updates happen through separate mechanism

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

Updating Resources POST application/vnd.talis.changeset+xml

ChangeSets Vocabulary that specifies removals/additions to an RDF graph

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:cs=&quot;http://purl.org/vocab/changeset/schema#&quot;> <cs:ChangeSet rdf:about=&quot;http://example.com/changesets#change&quot;> < cs:subjectOfChange rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> < 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=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> <rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/> <rdf:object>1969-07-16</rdf:object> </rdf:Statement> </cs:removal> <cs:addition> <rdf:Statement> <rdf:subject rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> <rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/> <rdf:object>1969-07-16T13:32:00</rdf:object> </rdf:Statement> </cs:addition> </cs:ChangeSet> </rdf:RDF>

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;

xmlns:cs=&quot;http://purl.org/vocab/changeset/schema#&quot;>

<cs:ChangeSet rdf:about=&quot;http://example.com/changesets#change&quot;>

< cs:subjectOfChange

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

< 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=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/>

<rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/>

<rdf:object>1969-07-16</rdf:object>

</rdf:Statement>

</cs:removal>

<cs:addition>

<rdf:Statement>

<rdf:subject rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/>

<rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/>

<rdf:object>1969-07-16T13:32:00</rdf:object>

</rdf:Statement>

</cs:addition>

</cs:ChangeSet>

</rdf:RDF>

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:cs=&quot;http://purl.org/vocab/changeset/schema#&quot;> <cs:ChangeSet rdf:about=&quot;http://example.com/changesets#change&quot;> <cs:subjectOfChange rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> <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=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> < rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/> < rdf:object >1969-07-16</ rdf:object > </rdf:Statement> </ cs:removal > <cs:addition> <rdf:Statement> <rdf:subject rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> <rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/> <rdf:object>1969-07-16T13:32:00</rdf:object> </rdf:Statement> </cs:addition> </cs:ChangeSet> </rdf:RDF>

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;

xmlns:cs=&quot;http://purl.org/vocab/changeset/schema#&quot;>

<cs:ChangeSet rdf:about=&quot;http://example.com/changesets#change&quot;>

<cs:subjectOfChange

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

<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=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/>

< rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/>

< rdf:object >1969-07-16</ rdf:object >

</rdf:Statement>

</ cs:removal >

<cs:addition>

<rdf:Statement>

<rdf:subject rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/>

<rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/>

<rdf:object>1969-07-16T13:32:00</rdf:object>

</rdf:Statement>

</cs:addition>

</cs:ChangeSet>

</rdf:RDF>

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:cs=&quot;http://purl.org/vocab/changeset/schema#&quot;> <cs:ChangeSet rdf:about=&quot;http://example.com/changesets#change&quot;> <cs:subjectOfChange rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> <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=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> <rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/> <rdf:object>1969-07-16</rdf:object> </rdf:Statement> </cs:removal> < cs:addition > <rdf:Statement> < rdf:subject rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> < rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/> < rdf:object >1969-07-16T13:32:00</ rdf:object > </rdf:Statement> </ cs:addition > </cs:ChangeSet> </rdf:RDF>

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;

xmlns:cs=&quot;http://purl.org/vocab/changeset/schema#&quot;>

<cs:ChangeSet rdf:about=&quot;http://example.com/changesets#change&quot;>

<cs:subjectOfChange

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

<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=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/>

<rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/>

<rdf:object>1969-07-16</rdf:object>

</rdf:Statement>

</cs:removal>

< cs:addition >

<rdf:Statement>

< rdf:subject rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/>

< rdf:predicate rdf:resource=&quot;http://purl.org/net/schema/space/launched&quot;/>

< rdf:object >1969-07-16T13:32:00</ rdf:object >

</rdf:Statement>

</ cs:addition >

</cs:ChangeSet>

</rdf:RDF>

Versioned Updates POST to /meta/changesets Apply update and stores changeset for later retrieval

Batch Updates Combine several changesets into single POST Linked together to define ordering

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:cs=&quot;http://purl.org/vocab/changeset/schema#&quot;> <cs:ChangeSet rdf:about=&quot;http://example.com/changesets/1&quot;> <cs:subjectOfChange rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> <cs:changeReason>More accurate launch time</cs:changeReason> < cs:precedingChangeset rdf:resource=&quot; http://example.com/changesets/2 &quot;/> <!– changes --> </cs:ChangeSet> <cs:ChangeSet rdf:about=&quot; http://example.com/changesets/2 &quot;> <cs:subjectOfChange rdf:resource=&quot;http://purl.org/net/schema/space/launch/1969-059&quot;/> <cs: precedingChangeset rdf:resource=&quot; http://example.com/changesets/3 &quot;/> <!– changes --> </cs:ChangeSet> <cs:ChangeSet rdf:about=&quot; http://example.com/changesets/3 &quot;> <cs:subjectOfChange rdf:resource=&quot;http://purl.org/net/schema/space/spacecraft/1969-059D&quot;/> <!– changes --> ... </cs:ChangeSet> </rdf:RDF>

Data Extraction & Exploration with SPARQL

SPARQL RDF query language; HTTP protocol; Results format 4 different forms of query

ASK Test whether the graph contains some data of interest

#Was there a launch on 16 th July 1969? PREFIX space: <http://purl.org/net/schemas/space/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> ASK WHERE { ?launch space:launched &quot;1969-07-16&quot;^^xsd:date. }

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

DESCRIBE Generate an RDF description of a resource(s)

#Describe launch(es) that occurred on 16 th July 1969 PREFIX space: <http://purl.org/net/schemas/space/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> DESCRIBE ?launch WHERE { ?launch space:launched &quot;1969-07-16&quot;^^xsd:date. }

#Describe spacecraft launched on 16 th July 1969 PREFIX space: <http://purl.org/net/schemas/space/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> DESCRIBE ?spacecraft WHERE { ?launch space:launched &quot;1969-07-16&quot;^^xsd:date. ?spacecraft space:launch ?launch. }

CONSTRUCT Create a custom RDF graph based on query criteria

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 &quot;1969-07-16&quot;^^xsd:date. ?spacecraft space:launch ?launch; foaf:name ?name; space:agency ?agency; space:mass ?mass. }

SELECT SQL style result set retrieval

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 ?mass WHERE { ?launch space:launched &quot;1969-07-16&quot;^^xsd:date. ?spacecraft space:launch ?launch; foaf:name ?name; space:agency ?agency; space:mass ?mass. }

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

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

Tour of Extra Features Searching, browsing, augmentation

Searching Full text index over RDF literals Configurable indexing options

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

Query Syntax lunar luna* “ apollo 11” lunar OR apollo name:apollo (lunar OR apollo) AND agency:united states

lunar

luna*

“ apollo 11”

lunar OR apollo

name:apollo

(lunar OR apollo) AND agency:united states

Query Results RSS 1.0 feed OpenSearch extensions (paging, relevance) Full description of each resource

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

Facetted Search Similar to Amazon product search, etc Group search results by specific fields

/services/facet?query=[query] &fields=[comma-separated fieldnames] &top=[10] &format=[xml|html]

<facet-results xmlns=&quot;http://schemas.talis.com/2007/facet-results#&quot;> <head> <query>name:luna*</query> <fields>agency</fields> <top>10</top> <output>xml</output> </head> <fields> <field name=&quot;agency&quot;> <term value=&quot;U.S.S.R&quot; number=&quot;25&quot; facet-uri=“…&quot; search-uri=“…&quot;/> <term value=&quot;United States&quot; number=&quot;9&quot; facet-uri=“…&quot; search-uri=“…&quot;/> <term value=&quot;Japan&quot; number=&quot;1&quot; facet-uri=“…&quot; search-uri=“…&quot;/> <term value=&quot;India&quot; number=&quot;1&quot; facet-uri=“…&quot; search-uri=“…&quot;/> </field> </fields> </facet-results>

Augmentation Annotate an RSS 1.0 feed against a store Automatically add a description of each referenced resource

Store Administration Job Control, Store Configuration

Field Predicate Map Associate a short name to a RDF property Properties in field predicate map are indexed for searching Short name used in query syntax, sort order, etc

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot; xmlns:bf=&quot;http://schemas.talis.com/2006/bigfoot/configuration#&quot; xmlns:frm=&quot;http://schemas.talis.com/2006/frame/schema#“ xml:base=“http://api.talis.com/stores/space”> <bf:FieldPredicateMap rdf:about=&quot;/indexes/default/fpmaps/default&quot;> <frm:mappedDatatypeProperty> <rdf:Description rdf:about=&quot;/indexes/default/fpmaps/default#agency&quot;> <frm:property rdf:resource=&quot;http://purl.org/net/schema/space/agency&quot;/> <frm:name>agency</frm:name> </rdf:Description> </frm:mappedDatatypeProperty> </bf:FieldPredicateMap> </rdf:RDF>

Query Profile Assign weightings to fields for searching

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot; xmlns:bf=&quot;http://schemas.talis.com/2006/bigfoot/configuration#&quot; xmlns:frm=&quot;http://schemas.talis.com/2006/frame/schema#“ xml:base=“http://api.talis.com/stores/space”> <bf:QueryProfile rdf:about=&quot;&quot;> <bf:fieldWeight> <rdf:Description rdf:about=&quot;/indexes/default/queryprofiles/default#name&quot;> <bf:weight>10.0</bf:weight> <frm:name>name</frm:name> </rdf:Description> </bf:fieldWeight> <bf:fieldWeight> <rdf:Description rdf:about=&quot;/indexes/default/queryprofiles/default#agency&quot;> <bf:weight>5.0</bf:weight> <frm:name>agency</frm:name> </rdf:Description> </bf:fieldWeight> </bf:QueryProfile> </rdf:RDF>

Job Control Reindex, Reset, Snapshot, Restore POST Job Request to /jobs

<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot; xmlns:bf=&quot;http://schemas.talis.com/2006/bigfoot/configuration#&quot;> <bf:JobRequest> <rdfs:label>Reset the data in my store</rdfs:label> <bf:jobType rdf:resource=&quot;http://schemas.talis.com/2006/bigfoot/configuration#ResetDataJob&quot;/> <bf:startTime>2008-12-01T15:10:00Z</bf:startTime> </bf:JobRequest> </rdf:RDF>

Jobs Each job is a resource, with a URI GET to monitor status, DELETE to remove

Summing Up Summary, Additional Resources

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…

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…

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/

API Reference

http://n2.talis.com/wiki/Platform_API

Mailing List

http://groups.google.com/group/n2-dev

Blog

http://blogs.talis.com/n2/

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/

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/

shared innovation

Add a comment

Related presentations

Related pages

Getting Started With The Talis Platform - Education

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

Talis – Talis Development Community Newsletter – April ...

... and how to go about getting started ... of learning tools and platforms, ... with the latest integrations at Talis and receive this monthly ...
Read more

Getting started with our data - Blogs | data.gov.uk

Getting started with our data; ... this post on using the Talis Connected Commons platform is a good place to start, as is this by Leigh Dodds of Talis.
Read more

Why Should Schools Participate In Global Surveys? A Closer ...

Getting Started; Education Data; ... Why should schools participate in global surveys? ... (TALIS) 2013 were published ...
Read more

Survey of Pythonic tools for RDF and Linked Data programming

Survey of Pythonic tools for RDF and Linked Data ... Talis platform http://www.talis.com ... Getting Started with RDF and SPARQL Using 4store and ...
Read more

Course: Your Library in QMplus - QMplus - The Online ...

What is Talis Aspire? ... Integrate with the library, campus bookstore, publisher platforms ... Talis Aspire: getting started.
Read more

Talis | LinkedIn

View 3767 Talis posts, presentations, experts, and more. Get the professional knowledge you need on LinkedIn. LinkedIn Home What is LinkedIn? Join Today
Read more

Tails - Privacy for anyone anywhere

Tails The Amnesic Incognito Live System. Privacy for anyone anywhere; Privacy for anyone anywhere Edit; RecentChanges; ... Getting started ...
Read more