141
Danny Ayers [email protected] http://dannyayers.com Platforms and the Semantic Web

Platforms and the Semantic Web

Embed Size (px)

DESCRIPTION

As presented at http://www.inf.unibz.it/krdb/school/2010/ see also http://hyperdata.org/krdb2010/

Citation preview

Page 1: Platforms and the Semantic Web

Danny Ayers

[email protected]

http://dannyayers.com

Platforms and the Semantic Web

Page 2: Platforms and the Semantic Web

Notetaking – not really necessary, just bookmark:

http://hyperdata.org/krdb2010

Questions – if I'm not clear any time, please raise your hand, general questions at the end

Mobile phones – be discrete!

IRC -Server: irc.freenode.netChannel: #swig

available through a browser at: http://www.mibbit.com

Twitter tag - #krdb (I'm @danja)

Page 3: Platforms and the Semantic Web

ObjectivesTo answer questions like :

● What is a platform?

● What are the benefits of using platforms?

● What is a Web platform?

● How can Semantic Web technologies contribute?

● How do different kinds of platforms compare, and what analogies might be useful?

Page 4: Platforms and the Semantic Web

Part 1 : Platforms in General

● Defining “Platform”

● A Plethora of Platforms

● Working with Web Platforms

[a <http://dbpedia.org/resource/Coffee_break>]

Part 2 : Semantic Web Platforms

● Review of Semantic Web Technologies

● Semantic Web Platforms

● The Web as Platform

Page 5: Platforms and the Semantic Web

Defining “Platform”

Page 6: Platforms and the Semantic Web

● a raised horizontal surface (palco)

● political program - a document stating the aims and principles of a political party

● the combination of a particular computer and a particular operating system

● weapons platform - any military structure or vehicle bearing weapons

● platform shoe, chopine - a woman's shoe with a very high thick sole (zeppa)

“Platform” (“Piattaforma”)

Source: Wordnet

things which support something else

Page 7: Platforms and the Semantic Web

● platform shoe, chopine - a woman's shoe with a very high thick sole

(zeppa)

“Platform”

Source: Wordnet

Page 8: Platforms and the Semantic Web

Source : http://en.wikipedia.org/wiki/Chopine

Page 9: Platforms and the Semantic Web

Source: http://www.flickr.com/photos/uggboy/4392602469

Page 10: Platforms and the Semantic Web

Venezia, circa 1500

Page 11: Platforms and the Semantic Web

“...your ladyship is nearer to heaven than when I saw you last by the altitude of a chopine.”

- William Shakespeare Hamlet (1602), Act 2 Scene 2

Page 12: Platforms and the Semantic Web

Working Definition

A platform is a system designed to keep developers and users out of the mud and closer to heaven.

Una piattaforma è un sistema progettato per mantenere gli sviluppatori e gli utenti fuori dal fango e più vicino al cielo.

Page 13: Platforms and the Semantic Web

Layered Models

Layer n + 1

Layer n

Layer n - 1

Supports

Supports

Depends on

Depends on

Page 14: Platforms and the Semantic Web

A Plethora of Platforms

loose taxonomy:

● Abstract Platforms

● Workbench Platforms

● Dedicated Platforms

Page 15: Platforms and the Semantic Web

Abstract Platforms

● branches of mathematics e.g. geometry, logic

● the sciences

● human languages

● the arts

What do they support? : Ideas

Page 16: Platforms and the Semantic Web

Typical mode of use : modelling physical systems

Applications : surveying (earth-measuring), architecture, engineering...

Geometry

Page 17: Platforms and the Semantic Web

Source: http://www.igdb.co.uk/

Physics

Page 18: Platforms and the Semantic Web

Logic (propositional, just declarative statements)

C = A B∧

Typical mode of use : modelling electronic systems

Applications : control circuits, building computers...

&A

BC

Page 19: Platforms and the Semantic Web

Logic (adding predicates and quantifiers)

( x)( y)(Go(x) Person(John) City(Boston) Bus(y)∃ ∃ ∧ ∧ ∧ ∧ Agnt(x,John) Dest(x,Boston) Inst(x,y))∧ ∧

Source: John F. Sowa, http://www.jfsowa.com/krbook

( x)( y)(Go(x) Person(John) City(Boston) Bus(y)∃ ∃ ∧ ∧ ∧ ∧ Agnt(x,John) Dest(x,Boston) Inst(x,y))∧ ∧

Typical mode of use : modelling physical systems

Applications : knowledge representation & processing

Page 20: Platforms and the Semantic Web

( x)( y)(Go(x) Person(John) City(Boston) Bus(y)∃ ∃ ∧ ∧ ∧ ∧ Agnt(x,John) Dest(x,Boston) Inst(x,y))∧ ∧

Source: John F. Sowa, http://www.jfsowa.com/krbook

Concepts :

Named Entities : John, Boston

Entity Types : Person, Go, City, Bus

Relations : Agnt (Agent), Dest (Destination), Inst (Instrument)

Conceptual Graphs(a dialect of Common Logic)

Page 21: Platforms and the Semantic Web

CGs : Alternative Notations

[Person: John] [City: Boston] [Go: *x] [Bus: *y] (Agnt ?x John) (Dest ?x Boston) (Inst ?x ?y)

(exists ((x Go) (y Bus))(and (Person John) (City Boston)(Agnt x John) (Dest x Boston) (Inst x y)))

Graphical

CGIF

CLIF

Source: ISO/IEC 24707

Page 22: Platforms and the Semantic Web

The person John is the agent of some instance of going, the city Boston is the destination, and a bus is the instrument.

John is going to Boston by bus.

Natural Language to CGs

Informal

Formal

Page 23: Platforms and the Semantic Web

Conceptual Graphs can be derived from Natural Language.

Conceptual Graphs express knowledge in a formal mathematical language.

But why should we care about something so abstract?

Page 24: Platforms and the Semantic Web

Case Study : Legacy Re-engineering

Analyze software and documentation of a large corporation.

Generate :

● English glossary of all terms with pointers to the software

● Structure diagrams of the programs, files, and data

● List of discrepancies between software and documentation

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 25: Platforms and the Semantic Web

Case Study : Legacy Re-engineering

Software

1.5 million lines of COBOL programs in daily use, some of which up to 40 years old

Documentation

100 megabytes of English reports, manuals, e-mails, Lotus Notes, HTML, and program comments

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 26: Platforms and the Semantic Web

IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY 'Hello, world'. STOP RUN.

ADD YEARS TO AGE

age = age + years

“The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense." - Dijkstra

COBOL Examples

Source : http://en.wikipedia.org/wiki/Cobol

Page 27: Platforms and the Semantic Web

Case Study : Legacy Re-engineering

A major consulting firm had estimated that the job would take 40 people two years to analyze the documentation and determine the cross references.

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 28: Platforms and the Semantic Web

Case Study : Legacy Re-engineering

Approach

● Translate the COBOL programs to Conceptual Graphs

● Use the Conceptual Graphs from COBOL to interpret the English

● Use the Analogy Engine to compare the graphs derived from COBOL to the graphs derived from English

● Record the similarities and discrepancies

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 29: Platforms and the Semantic Web

Case Study : Legacy Re-engineering

VivoMind Analogy Engine

Three methods of analogy:

1. Matching labels: * Compare type labels on conceptual graphs.

2. Matching subgraphs: * Compare subgraphs independent of labels.

3. Matching transformations: * Transform subgraphs.

Source: John Sowa, http://www.jfsowa.com/talks/mitre.htm

Page 30: Platforms and the Semantic Web

Case Study : Legacy Re-engineeringExcerpt from the DocumentationThe input file that is used to create this piece of the BillingInterface for the General Ledger is an extract from the 61 byte filethat is created by the COBOL program BILLCRUA in the BillingHistory production run. This file is used instead of the history filefor time efficiency. This file contains the billing transaction codes(types of records) that are to be interfaced to General Ledger forthe given month.For this process the following transaction codes are used: 32 —loss on unbilled, 72 — gain on uncollected, and 85 — loss onuncollected. Any of these records that are actually taxes arebypassed. Only client types 01 — Mar, 05 — InternalNon/Billable, 06 — Internal Billable, and 08 — BAS are selected.This is determined by a GETBDATA call to the client file.

Note that none of the files or COBOL variables are named.

By matching the English graphs to the COBOL graphs, VAEidentified all the file names and COBOL variables involved.

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 31: Platforms and the Semantic Web

Case Study : Legacy Re-engineeringJob finished in 8 weeks by two programmers, Arun Majumdar and André LeClerc.

● Four weeks for customization: Design, ontology, and additional programming for I/O formats.

●Three weeks to run English parser + VAE + extensions:VAE handled matches with strong evidence (close semantic distance). Matches with weak evidence were confirmed or corrected by Majumdarand LeClerc.

● One week to produce a CD-ROM with integrated views of the results: Glossary, data dictionary, data flow diagrams, process architecture, system context diagrams.

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 32: Platforms and the Semantic Web

Case Study : Legacy Re-engineering

Contradiction Found by VAE

From analyzing English documentation:

● Every employee is a human being.● No human being is a computer.

From analyzing COBOL programs:

● Some employees are computers.

What is the reason for this contradiction?

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 33: Platforms and the Semantic Web

Case Study : Legacy Re-engineering

In 1979 a COBOL programmer made a quick patch :

● Two computers were used to assist human consultants.

● But there was no provision to bill for computer time.

● Therefore, the programmer named the computers Bob andSally, and assigned them employee IDs.

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 34: Platforms and the Semantic Web

Case Study : Legacy Re-engineering

For more than 20 years:

● Bob and Sally were issued payroll checks.

● But they never cashed them.

VAE discovered the two computer “employees.”

Source: John Sowa, http://www.jfsowa.com/talks/iss.pdf

Page 35: Platforms and the Semantic Web

Why should we care about abstract platforms?

- concrete benefits.

Page 36: Platforms and the Semantic Web

All models are wrong. Some are useful. - George E. P. Box

Page 37: Platforms and the Semantic Web

A Plethora of Platforms

loose taxonomy:

● Abstract Platforms● Workbench Platforms● Dedicated Platforms

Page 38: Platforms and the Semantic Web

Workbench Platforms

What do they support? :

tools and raw materials

...but end product will often be indirect

Page 39: Platforms and the Semantic Web
Page 40: Platforms and the Semantic Web

A “Jig” - a device that holds a piece of work and guides the tools operating on it

Page 41: Platforms and the Semantic Web

End product

Page 42: Platforms and the Semantic Web

A Template

Page 43: Platforms and the Semantic Web

End product..?

Page 44: Platforms and the Semantic Web

User Interface

Hardware

* stuff *

Page 45: Platforms and the Semantic Web

Traditional Stack

Source : http://en.wikipedia.org/wiki/Operating_system

Page 46: Platforms and the Semantic Web

Hardware

Page 47: Platforms and the Semantic Web

Operating System

Page 48: Platforms and the Semantic Web

Application

Page 49: Platforms and the Semantic Web

User

Page 50: Platforms and the Semantic Web

Platform-Oriented Stack

Source : http://en.wikipedia.org/wiki/Operating_system

User Interface

Platform(s)

Page 51: Platforms and the Semantic Web

Operating System

Database

Hardware

Queries/Stored Procedures

Forms/Reporting

Platform

UserInterface

Users and Developers

Database as Platform

Page 52: Platforms and the Semantic Web

Operating System

Hardware

Virtual Machine

Applications

User

Virtual Machine as Platform

- little difference from traditional stack

Page 53: Platforms and the Semantic Web

Source : http://en.wikipedia.org/wiki/Java_(software_platform)

Java Platform

Page 54: Platforms and the Semantic Web

Operating System

Hardware

JVM

Applications

User

Virtual Machine as Platform - Java Style

Coding Tools

Developer

JRE JDK

Page 55: Platforms and the Semantic Web

System Image

Operating System

Hardware

VM

Applications & Coding Tools

Users and Developers

Virtual Machine as Platform - Squeak Style

(See also : emacs)

Page 56: Platforms and the Semantic Web

Squeak

Page 57: Platforms and the Semantic Web

Workbench

Operating System

Hardware

VM

Applications

User/Developers

Workbench as Platform

Coding Tools

Runtime Compiler

Page 58: Platforms and the Semantic Web

Eclipse Workbench – for developer

Page 59: Platforms and the Semantic Web

“Jig”- a device that holds a piece of work and guides the tools operating on it

<project name="Gradino" default="go" basedir="../">

<!-- 1. Define common properties. -->

<property name="src.dir" value="src"/><property name="build.dir" value="classes"/><property name="lib.dir" value="lib"/>

<property name="scala-compiler.jar" value="/usr/share/scala/lib/scala-compiler.jar"/><property name="scala-library.jar" value="/usr/share/scala/lib/scala-library.jar"/>

<!-- 2. Define Scala CLASSPATH. -->

<path id="scala.classpath"> <pathelement location="${scala-compiler.jar}"/> <pathelement location="${scala-library.jar}"/> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset></path>

Page 60: Platforms and the Semantic Web

A Template

Page 61: Platforms and the Semantic Web

An Eclipse Application : XMind

Page 62: Platforms and the Semantic Web

Eclipse Platform

● Core functionality : fairly generic app stuff

● Built on a mechanism for discovering, integrating, and running modules called plug-ins

● Plug-ins represented as bundles based on the OSGi * specification

(* originally Open Services Gateway initiative)

Page 63: Platforms and the Semantic Web

OSGi Stack

Page 64: Platforms and the Semantic Web

A Plethora of Platforms

loose taxonomy:

● Abstract Platforms● Workbench Platforms● Dedicated Platforms

Page 65: Platforms and the Semantic Web

Dedicated Platforms

What do they support? : Tasks

Page 66: Platforms and the Semantic Web

Raw Input Output

Storage

Processing

User Interface

Typical Functions of a Dedicated Platform

Page 67: Platforms and the Semantic Web

Dedicated Platform : XMind

Page 68: Platforms and the Semantic Web

Dedicated Platform

Page 69: Platforms and the Semantic Web

Dedicated Platforms

Two examples:

● Recording Studio

● Content Management System

Page 70: Platforms and the Semantic Web

Dedicated Platform – my home studio

Page 71: Platforms and the Semantic Web

Dedicated Platform – Wordpress

Page 72: Platforms and the Semantic Web

User Input

Monitoring

Processing InterconnectionStorage

Dedicated Platform

Page 73: Platforms and the Semantic Web

Core Processing, Interconnection, StorageEnergyXT Digital Audio Workstation (DAW)

Page 74: Platforms and the Semantic Web

Core Processing, Interconnection, Storage

storage on filesystem

Virtual wiring (also supports software plugins) Virtual mixer

Page 75: Platforms and the Semantic Web

Wordpress Dashboard

Page 76: Platforms and the Semantic Web

To some extent modular, via Plugins

Page 77: Platforms and the Semantic Web

Modular

Page 78: Platforms and the Semantic Web

Literally Pluggable

Page 79: Platforms and the Semantic Web

Links are simple...

but...

Page 80: Platforms and the Semantic Web

Multiple Wire Protocols & Connectors

Mic audio

Instrument audio MIDI

Line audio

Page 81: Platforms and the Semantic Web

Multiple Wire Protocols & Connectors

MIDIin/out

Instrument audio out

Power in

Page 82: Platforms and the Semantic Web

Multiple Wire Protocols & Connectors- HTML

MIDIin/out

Instrument audio out

Page 83: Platforms and the Semantic Web

<!DOCTYPE html>

<html>...<h2> <a href="http://localhost/wordpress/?p=4">Hello localhost!</a></h2>

<p>This is some sample text which doesn&#8217;t really</p><p>say a lot</p>…</html>

HTML

Page 84: Platforms and the Semantic Web

RSS

...<item> <title>Hello localhost!</title> <link>http://localhost/wordpress/?p=4</link> <pubDate>Wed, 15 Sep 2010 14:31:01 +0000</pubDate> <dc:creator>admin</dc:creator> <description><![CDATA[This is some sample text which doesn&#8217;t really say a lot]]></description></item>...

Page 85: Platforms and the Semantic Web

System Characteristics : Recording Studio

● Raw Input : instrument output/sounds (various acoustic/electrical signals)

● Output : music (combined and more structured acoustic/electrical signals) sometimes

● Processing : analog & digital signal processing and mixing

● Storage : computer filesystem

● User Interface : core DAW GUI, plus per-module UI

Page 86: Platforms and the Semantic Web

Data Characteristics : Recording Studio

“Models” ● Analog Signals● Digital Signals● Structured Recordings (multi-track time/amplitude)

Formats● Audio data formats (wav, aiff, mp3, CD formats)● MIDI file format● Proprietary DAW multi-track format

Protocols ● Analog audio (various levels/impedances)● MIDI protocol

Page 87: Platforms and the Semantic Web

System Characteristics : Content Management System

● Raw Input : human-readable text + annotations

● Output : more structured text published as Web resources (HTTP+HTML/RSS)

● Processing : text data structured into DB, converted into markup

● Storage : SQL Database

● User Interface : HTML in Web browser (dashboard or output)

Page 88: Platforms and the Semantic Web

Data Characteristics : Content Management System

Models● DB Schema● Markup

Formats● HTML● RSS● Binary image formats● SQL● (PHP)

Protocols ● HTTP

Page 89: Platforms and the Semantic Web

Parallels can be drawn between different kinds of

platforms.

So what?

Page 90: Platforms and the Semantic Web

Problem : Impedance mismatch

I want to connect electric guitar directly to mixer, but -

● Signal from electric guitar : 2 volts @ 10 kΩ impedance

● Signal expected by mixer is 20mV @ 100Ω

Page 91: Platforms and the Semantic Web

Solution : DI Box(Impedance Matching Transformer)

Page 92: Platforms and the Semantic Web

Impedance Matching Transformer(DI Box)

Signal to mixer(100 Ω input)

Signal from electric guitar(10 kΩ output impedance)

(electricity - magnetic flux - electricity)

Page 93: Platforms and the Semantic Web

Problem : Impedance mismatch

I want to connect a blog feed directly to a particular aggregator,but -

● Signal from blog is RSS 2.0

● Signal expected by aggregator is Atom

Page 94: Platforms and the Semantic Web

Impedance Matching Transformer

Signal to aggregator(Atom)

Signal from blog(RSS 2.0)

(xml/internal representation/xml)

XSLTEngine

Stylesheet

Page 95: Platforms and the Semantic Web

Problem : Spaghetti

Page 96: Platforms and the Semantic Web

Spaghetti Simplified

Page 97: Platforms and the Semantic Web

Hidden from User

Page 98: Platforms and the Semantic Web

Spaghetti Modular Audio Synthesizers

Page 99: Platforms and the Semantic Web

User Interface Design Modular Audio Synthesizers

Oscillator FilterOutput

InputOutput Output

Page 100: Platforms and the Semantic Web

User Interface Design Modular Audio Synthesizers

Page 101: Platforms and the Semantic Web

User Interface Design Modular Audio Synthesizers

Page 102: Platforms and the Semantic Web

Yahoo! Pipes – approaching Spaghetti?

Page 103: Platforms and the Semantic Web

Parallels can be drawn between different kinds of

platforms.

So what?

Problems in one domain may have been solved in another.

Page 104: Platforms and the Semantic Web

Problem : multitrack structures not available outside DAW for other tools

● proprietary format only

● vafanculo, need to talk to their developers

Page 105: Platforms and the Semantic Web

Wordpress Export

“When you click the button below WordPress will create an XML file for you to save to your computer.

This format, which we call WordPress eXtended RSS or WXR, will contain your posts, pages, comments, custom fields, categories, and tags.”

Page 106: Platforms and the Semantic Web

Dedicated Platforms

Workbench Platforms

Abstract Platforms Ideas

Tools

Tasks EndProducts

Page 107: Platforms and the Semantic Web

Working with Web Platforms

Page 108: Platforms and the Semantic Web

Layered Models Revisited

Layer n + 1

Layer n

Layer n - 1

Abstracts

Abstracts

Page 109: Platforms and the Semantic Web

Open Systems Interconnection (ISO, 1980's)

Source : http://www.tutorial5.com/content/view/26/79/

Page 110: Platforms and the Semantic Web

Application Protocol

TCP/IP

Ethernet/WiFi

OSI Model Revisited

HTTP + Web-friendly formats

Page 111: Platforms and the Semantic Web

Snowflake APIsOnly one of each

Page 112: Platforms and the Semantic Web

● Wave hands in an abstract fashion

● Slap forehead

Heterogenous Interfaces

Page 113: Platforms and the Semantic Web

User Interface

Platforms

Hardware

User

(Application)

Page 114: Platforms and the Semantic Web

User

User Interface

Platform

Hardware

Page 115: Platforms and the Semantic Web

Part 2 : Semantic Web Platforms

● Review of Semantic Web Technologies

● Semantic Web Platforms

● The Web as Platform

Page 116: Platforms and the Semantic Web

Semantic Web

- a quick review

Page 117: Platforms and the Semantic Web

Aim

To extend the Web to act as a single global database

- using what we know works

Page 118: Platforms and the Semantic Web

DataDocuments

One Web!

Page 119: Platforms and the Semantic Web

Semantic Web = Web of Data

Informed by :

● Traditional RDBMS & other kinds of data store

● Logics

● Grids

● “The Cloud”

● Hypertext and the Web!

Page 120: Platforms and the Semantic Web

● open world assumption

● uniform identifiers

● declarative sentences

Logical Base

Page 121: Platforms and the Semantic Web

● Uniform Identifiers (URIs) – for resources

● Common Interface Protocol (HTTP)

● Standard Representation Formats (notably HTML)

Altogether: a REST Configuration

What works on the Web?

Page 122: Platforms and the Semantic Web

<a href=”http://example.org/home.html“>

Home Page

</a>

page.html home.html

A hyperlink

Page 123: Platforms and the Semantic Web

<a href=”http://example.org/home.html”

rel=”home”>

Home Page

</a>

page.html home.html

home

Evolving the Link

Page 124: Platforms and the Semantic Web

<rdf:Description rdf:about=”http://example.org/page”>

<x:home rdf:resource=”http://example.org/home” />

</rdf:Description>

page home

x:home

Page 125: Platforms and the Semantic Web

<rdf:Description rdf:about=”http://example.org/page”>

<x:home rdf:resource=”http://example.org/home” />

</rdf:Description>

x:home

subject object

http://example.org/page...

http://example.org/home...

Relational View

Page 126: Platforms and the Semantic Web

[Person: John] [City: Boston] [Go: *x] [Bus: *y] (Agnt ?x John) (Dest ?x Boston) (Inst ?x ?y)

Logic Notations Again

CGIF

@prefix : <http://example.org/#> .:John a :Person .:Boston a :City ._:x a :Go ._:y a :Bus ._:x :Agnt :John ._:y :Dest :Boston ._:x :Inst _:y .

RDF :Turtle/N3 Syntax

Saved as cg.n3

Page 127: Platforms and the Semantic Web

Data Web Graphics

Page 128: Platforms and the Semantic Web

<http://example.org/#John> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/#Person> .

<http://example.org/#Boston> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/#City> .

_:x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/#Go> .

_:y <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/#Bus> .

_:x <http://example.org/#Agnt> <http://example.org/#John> .

_:y <http://example.org/#Dest> <http://example.org/#Boston> .

_:x <http://example.org/#Inst> _:y .

NTriples

$ rapper -i turtle cg.n3 -o ntriples

Page 129: Platforms and the Semantic Web

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://example.org/#"> <City rdf:about="http://example.org/#Boston"/> <Person rdf:about="http://example.org/#John"/> <Go> <Agnt rdf:resource="http://example.org/#John"/> <Inst> <Bus> <Dest rdf:resource="http://example.org/#Boston"/> </Bus> </Inst> </Go></rdf:RDF>

$ rapper -i turtle cg.n3 -o rdfxml-abbrev

RDF/XML

Page 130: Platforms and the Semantic Web

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://example.org/#"> <rdf:Description rdf:about="http://example.org/#John"> <rdf:type rdf:resource="http://example.org/#Person"/> </rdf:Description> <rdf:Description rdf:about="http://example.org/#Boston"> <rdf:type rdf:resource="http://example.org/#City"/> </rdf:Description> <rdf:Description rdf:nodeID="x"> <rdf:type rdf:resource="http://example.org/#Go"/> </rdf:Description> <rdf:Description rdf:nodeID="y"> <rdf:type rdf:resource="http://example.org/#Bus"/> </rdf:Description> <rdf:Description rdf:nodeID="x"> <Agnt rdf:resource="http://example.org/#John"/> </rdf:Description> <rdf:Description rdf:nodeID="y"> <Dest rdf:resource="http://example.org/#Boston"/> </rdf:Description> <rdf:Description rdf:nodeID="x"> <Inst rdf:nodeID="y"/> </rdf:Description></rdf:RDF>

$ rapper -i turtle cg.n3 -o rdfxml

Also RDF/XML

Page 131: Platforms and the Semantic Web

Tip

Use somebody else's parser!

Page 132: Platforms and the Semantic Web

Source : http://www.w3.org/2001/09/06­ecdl/slide17­0.html

Semantic Web Layer Cake (circa 2001)

Page 133: Platforms and the Semantic Web
Page 134: Platforms and the Semantic Web

Source : http://www.w3.org/2010/Talks/0823­acs­egp

Page 135: Platforms and the Semantic Web

Semantic Web Layer Cake (circa now)

Page 136: Platforms and the Semantic Web

Part 2 : Semantic Web Platforms

● Review of Semantic Web Technologies

● Semantic Web Platforms

● The Web as Platform

Page 137: Platforms and the Semantic Web

Semantic Web Platforms

Platform? It's a lib...

Page 138: Platforms and the Semantic Web

Part 1 : Platforms in General

● Defining “Platform”

● A Plethora of Platforms

● Working with Web Platforms

[a <http://dbpedia.org/resource/Coffee_break>]

Part 2 : Semantic Web Platforms

Page 139: Platforms and the Semantic Web

#Johnfoaf:Person

rdf:type

“John”

foaf:name

Page 140: Platforms and the Semantic Web

RDF Nodes :● Resource = named by a URI (do HTTP to find a representation you like)

● Blank node = “there exists”

● Literal = bunch of text

Page 141: Platforms and the Semantic Web

Polemic for the panel :

Search sucks. Why lose things in the first place?