developing web 3 - hobione.files.wordpress.com · email social networking groupware javascript...

46
2007 JavaOne SM Conference | Session BOF 6746 Developing Web 3.0 Henry Story http://blogs.sun.com/bblfish Tim Boudreau http://weblogs.java.net/blog/timboudreau/ Nova Spivak & Lew Tucker http://radarnetworks.com/

Upload: others

Post on 12-Nov-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF 6746

Developing Web 3.0

Henry Storyhttp://blogs.sun.com/bblfish

Tim Boudreauhttp://weblogs.java.net/blog/timboudreau/

Nova Spivak & Lew Tuckerhttp://radarnetworks.com/

Page 2: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

Web Innovation Timeline

Connections between people

Con

nect

ions

bet

wee

n In

form

atio

n

Email

Social Networking

Groupware

JavascriptWeblogs

Databases

File Systems

HTTPKeyword Search

USENET

Wikis

Websites

Directory Portals

2010 - 2020

Web 1.0

2000 - 2010

1990 - 2000

PC Era1980 - 1990

RSSWidgets

NetOS

PC’s

2020 - 2030

Office 2.0

XML

RDF

SPARQLAJAX

FTP IRC

SOAP

Mashups

File Servers

Social Media Sharing

Lightweight Collaboration

ATOM

Web 3.0

Web 4.0

Semantic SearchSemantic Databases

Distributed Search

Intelligent personal agents

:Source , 2 0 0 7 – . .Radar Networks & Nova Spivack www radarnetworks com

JavaSaaS

Web 2.0 Flash

OWL

HTML

SGML

SQLGopher

Data Web

P2P

World Wide Web

DesktopWindows

MacOS

SWRL

OpenID

BBS

MMO’s

VR

Semantic Web

Intelligent Web

Page 3: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

The Future of Productivity

Size of Data, Size of Groups

Indi

vidu

al &

Gro

up P

rodu

ctiv

ity

Databases

2010 - 2020

Web 1.0 2000 - 2010

1990 - 2000

PC Era1980 - 1990

The NetOS

2020 - 2030

Web 3.0

Web 4.0

Web 2.0

The Data Web

The World Wide Web

The DesktopKeyword search

Natural language search

Simple Reasoning

Folksonomies of Tags

Semantic Search

The Semantic Web

The Intelligent Web

Distributed database search

Websites, Directories & Portals

The Social Web

Associative Search

Files & Folders

Folktologies: Folksonomies of data

Intelligent agents

Page 4: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session XXXX | 4

Web 2.7 – Freebase demo

Page 5: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 5

The Semantic Web: It's Dog Simple

Page 6: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 6

Web Arch 101: The URI

Page 7: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 7

REST: Representation State Transfer

Page 8: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 8

REST: REpresentation State Transfer

● A URI refers to a ResourceA URI refers to a Resource

• A Resource can return any A Resource can return any number of Representationsnumber of Representations

● Representations can be Representations can be cached on the webcached on the web

● REST describes web REST describes web architecturearchitecture

Page 9: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 9

A Relational Database Table

Page 10: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 10

Consists Of Relations...

• Limitations> relations are local not

universal> there is no consistent

way to get the meaning of a relation

Page 11: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 11

Webifying the database

• Limitations> relations are

universal> click on the url to

get it's meaning

Page 12: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 12

RDF: Resource Description Framework

Page 13: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 1 3

RDF: with namespaces

Page 14: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 14

RDF: syntax and semantics

Page 15: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 15

Advantages: simplicity

● URIs: the only way to identify resources world wide

● REST: the most scalable and simplest way to set up a universal information space

● RDF:● you can't do it with less that a triple ● syntax independence● clickable data

Page 16: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 16

An example...

Page 17: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 17

in N3

card:me foaf:name “Henry Story” .card:me foaf:mbox <mailto:[email protected]> .card:me foaf:mbox <mailto:[email protected]> .card:me foaf:blog <http://blogs.sun.com/bblfish> .

Page 18: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 18

in N3, with a little syntactic sugar

card:me foaf:name “Henry Story” ; foaf:mbox <mailto:[email protected]> , <mailto:[email protected]> ; foaf:blog <http://blogs.sun.com/bblfish> .

Page 19: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 19

with an extra foaf:img relation

Page 20: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 20

relations to classes

Page 21: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 21

the Person class, in N3

foaf:Person owl:Class; :comment "A person."; :isDefinedBy foaf: ; :label "Person"; :subClassOf con:Person, foaf:Agent; owl:disjointWith foaf:Document, foaf:Organization, foaf:Project; vs:term_status "stable" .

Page 22: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 22

relations between classes...

Page 23: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 23

the foaf:img relation defined

:img a owl:ObjectProperty; rdfs:comment “””An image that can be used to represent some thing (ie. those depictions w

hich are particularly representative of something, eg. one's photo on a homepage).”””;

rdfs:isDefinedBy foaf: ; rdfs:label "image"; rdfs:domain :Person; rdfs:range :Image; rdfs:subPropertyOf :depiction; vs:term_status "testing" .

Page 24: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 24

relations between classes

Page 25: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 25

DOAP: Description of a Project

Page 26: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 26

A project with a home page

Page 27: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 27

and a repository...

Page 28: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 28

The Ontology Layer

Page 29: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session XXXX | 29

DOAP integration with NetBeans

Page 30: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 30

Universal Drag and Drop

Page 31: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 31

Baetle: Bug And Enhancement Tracking LanguagE

Page 32: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 32

a SPARQL query

PREFIX : <http://baetle.googlecode.com/svn/ns/#>

SELECT *

WHERE {

?jar :contains ?c . FILTER REGEX(str(?c),'OffsetIterator.class$')

}

LIMIT 10

Page 33: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 33

Uses of Baetle

● Open source software is ● creating a global software space, with dependencies

between projects● is meshing software from many different sources

● But we are not meshing the data about the software!

● Baetle can link: ● bugs across repositories● bugs to source code● source code to binaries

Page 34: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 34

500 Semantic Tools: 50% in Java

http://www.mkbergman.com/?p=347 (view in Firefox)

Page 35: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 35

500 Semantic Tools

● Databases ● Kowari, Sesame, Jena, Oracle 10g● SQL to RDF mappers: d2rq, openlink

● Editors: Protege, SWOOP, TopBraid Composer, vi● OO – RDF mappers: JRDF, elmo, som(m)mer, ...● metadata extractors: aduna autofocus● reasoners: eulersharp, ...● semantic wikis: too many

Page 36: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 36

why semantic wikis

● How do you find all famous people who lived in SF in the last century?

● Tim O'Reilly understood the Semantic Web by looking at freebase.

Page 37: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 37

Semantic Wikis

● http://freebase.com : a silicon valley startup that has made a very user friendly semantic wiki using web 2.0 technology

● http://dbpedia.org/ : extracted all the data from wikipedia into rdf and makes it searchable. Permits structured query across articles and relationships.

● http://ikewiki.salzburgresearch.at/: an open source semantic wiki written in Java

Page 38: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

The Semantic Desktop

Henry StoryStaff Engineer, Semantic Web R&DMax Advanced DevelopmentSun Microsystems

Page 39: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

The Problem to Solve

How can Unix/Linux compete with Apple's Spotlight functionality?

How can all the open source desktop applications communicate in an integrated yet completely distributed way?

For Open Source software to do this, it needs to work with an architecture that is much better and more flexible than anything that has hitherto been developed, and it needs to do this in an Open Standards way. This is what various research topics on Semantic Desktops are exploring.

Footnote position, 12 pts.

Page 40: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

The Logical Components

• A Hard Drive full of data• A crawler that knows to

extract basic metadata from each file type

• An RDF database • A SPARQL query end

point• Applications that find

their data by querying the end point

Page 41: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

Advantages

• Decouples client from query interface

• Standards based (SPARQL is on W3C standards track)

• RDF URIs for identifiers: data can be anywhere on the web

Page 42: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

Aperture Java Library

A library that does most of what is needed• Crawling of information sources: file systems,

websites, mail boxes• MIME type identification• Full-text and metadata extraction of various file

formats• Expansion of archives• Indexing and querying of crawled and extracted

information (to be done)Aperture: http://aperture.sourceforge.net/SemanticDesktop: http://semanticdesktop.org/

Page 43: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 43

Semantic Desktop

● http://www.semanticdesktop.org : a semantic desktop project with 40 developers, mostly in Java, working with kde

● an rdf metadata extractorhttp://www.aduna-software.com/solutions/autofocus/overview.view

● Beatnik address book,...

Page 44: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 44

Scoble gets the semantic web...

● Scoble the person who introduced blogging at Microsoft said of Radar Networks that he now understand the Semantic Web.

Page 45: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF-6746 | 45

More ...

● Semantic Conference in San Jose, May 20-24 http://semantic-conference.com/

● Web 3.0 Semantics? Silicon Valley Meets the World Experts: http://sfbay.craigslist.org/eve/323866033.html

● My weblog: http://blogs.sun.com/bblfish

● Nova Spivack's: http://novaspivack.typepad.com/

● PlanetRDF: http://planetrdf.com/

Page 46: Developing Web 3 - hobione.files.wordpress.com · Email Social Networking Groupware Javascript Weblogs Databases File Systems HTTP Keyword Search USENET Wikis Websites Directory Portals

2007 JavaOneSM Conference | Session BOF 6746

Developing Web 3.0

Henry StoryStaff Engineer, Sem Web R&D

http://blogs.sun.com/bblfish/Sun Microsystems