Developing Web 3.0 Nova Spivak & Lew Tucker http://radarnetworks.com/ Tim Boudreau http://weblogs.java.net/blog/timboudreau/ Henry Story http://blogs.sun.com/bblfish 2007 JavaOne SM Conference Session BOF 6746
Web Innovation Timeline Connections between Information Intelligent Web Web 4.0 NetOS 2020-2030 Semantic Web Intelligent personal agents Web 3.0 Distributed Search SWRL Data Web OWL 2010-2020 SPARQL Semantic Databases OpenID AJAX Semantic Search ATOM Widgets RSS Mashups P2P RDF Office 2.0 Javascript Flash SOAP XML 2000-2010 Weblogs Social Media Sharing Java World Wide Web HTML SaaS Social Networking HTTP Directory Portals Wikis VR Keyword Search Lightweight Collaboration BBS Gopher Websites 1990-2000 SQL MMO s MacOS Groupware SGML Databases Windows File Servers Web 2.0 Web 1.0 Desktop Email FTP IRC PC Era 1980-1990 USENET PC s File Systems Connections between people Source: Radar Networks & Nova Spivack, 2 0 0 7 www. radarnetworks. com
The Future of Productivity Individual & Group Productivity The NetOS The Intelligent Web Web 4.0 2020-2030 The Data Web The Semantic Web Web 3.0 2010-2020 The Social Web The World Wide Web Web 1.0 1990-2000 The Desktop PC Era Web 2.0 2000-2010 Intelligent agents Simple Reasoning Associative Search Semantic Search Folktologies: Folksonomies of data Distributed database search Natural language search Folksonomies of Tags Keyword search Websites, Directories & Portals 1980-1990 Databases Files & Folders Size of Data, Size of Groups
Web 2.7 Freebase demo 2007 JavaOne SM Conference Session XXXX 4
The Semantic Web: It's Dog Simple 5
Web Arch 101: The URI 6
REST: Representation State Transfer 7
REST: REpresentation State Transfer A URI refers to a Resource A Resource can return any number of Representations Representations can be cached on the web REST describes web architecture 8
A Relational Database Table 9
Consists Of Relations... Limitations > relations are local not universal > there is no consistent way to get the meaning of a relation 10
Webifying the database Limitations > relations are universal > click on the url to get it's meaning 11
RDF: Resource Description Framework 12
RDF: with namespaces 13
RDF: syntax and semantics 14
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 15
An example... 16
in N3 card:me card:me card:me card:me foaf:name foaf:mbox foaf:mbox foaf:blog Henry Story. <mailto:henry.story@bblfish.net>. <mailto:henry.story@sun.com>. <http://blogs.sun.com/bblfish>. 17
in N3, with a little syntactic sugar card:me foaf:name Henry Story ; foaf:mbox <mailto:henry.story@bblfish.net>, <mailto:henry.story@sun.com> ; foaf:blog <http://blogs.sun.com/bblfish>. 18
with an extra foaf:img relation 19
relations to classes 20
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". 21
relations between classes... 22
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". 23
relations between classes 24
DOAP: Description of a Project 25
A project with a home page 26
and a repository... 27
The Ontology Layer 28
DOAP integration with NetBeans 2007 JavaOne SM Conference Session XXXX 29
Universal Drag and Drop 30
Baetle: Bug And Enhancement Tracking LanguagE 31
a SPARQL query PREFIX : <http://baetle.googlecode.com/svn/ns/#> SELECT * WHERE {?jar :contains?c. FILTER REGEX(str(?c),'OffsetIterator.class$') } LIMIT 10 32
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 33
500 Semantic Tools: 50% in Java http://www.mkbergman.com/?p=347 (view in Firefox) 34
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 35
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. 36
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 37
The Semantic Desktop Henry Story Staff Engineer, Semantic Web R&D Max Advanced Development Sun Microsystems
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.
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
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
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/
Semantic Desktop http://www.semanticdesktop.org : a semantic desktop project with 40 developers, mostly in Java, working with kde an rdf metadata extractor http://www.aduna-software.com/solutions/autofocus Beatnik address book,... 43
Scoble gets the semantic web... Scoble the person who introduced blogging at Microsoft said of Radar Networks that he now understand the Semantic Web. 44
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/ 45
Developing Web 3.0 Henry Story Staff Engineer, Sem Web R&D http://blogs.sun.com/bblfish/ Sun Microsystems 2007 JavaOne SM Conference Session BOF 6746