- From: Tim Berners-Lee <timbl@w3.org>
- Date: Mon, 4 Aug 2003 15:17:37 -0400
- To: Sherman Monroe <shermanmonroe@yahoo.com>
- Cc: pat hayes <phayes@ihmc.us>, www-rdf-interest@w3.org
Sherman, The Semantic Web (which has been on the agenda and designed in outline for many years, and has running code and so is a working system) is indeed "a virtual space, even more so than the WWW". However, it is built on top of the web. (There have been various protocols built to exchange knowledge between agents, but not built on the web) The semantic web can of course work using say URNs or UUIDs for RDF things, but it is more exciting and useful if you use HTTP as follows: 1. You write (or at least imagine) a document about the things in a semantic web language, using local names within the document to name them. 2. The semantic web language you use is defined such that when a URI for the document is concatenated with the local identifier of the thing you are writing about, then that global identifier is formed for that thing. 3. This means that when anyone comes across the identifier you have used for that thing, they can (net willing) look up what you said about it. Much of the RDF code out there operates without really using the web, and much of there web code out there operates without using RDF, but the combination is pretty dramatic. Of course, it will be much more dramatic when instead of isolated examples, there is a mass of linked RDF out there. (Examples: if you have cwm or download cwm from <http://www.w3.org/2000/10/swap> you can run them, but anyway this is what they do) python cwm.py http://www.w3.org/2000/10/swap/test/dbork/defdoc2.n3 --mode=rs --think where mode=rs means look up "query terms to see if you can find anything useful". The file asks the question, "What are the names of cities in states which border the state with code "MA"? The ontology for the terms used contains pointers to lists of cities and states, so the question can be resolved by just following links - like a person using the web, but automated. The result is a list of city names. As another example, cwm --closure=ptr --base=http://www.w3.org/2000/10/swap/test/ferrell/ myDingo.n3 --think --filter=anyDogs.n3 In this (Sandro's constructed test) case, myDingo.n3 states that Donny is a Dingo. The closure flags (ptr) ask cwm to go look up predicates and types, and rules linked from ontologies. The term used for Dingo is one in a biological ontology which is written in a test variant of OWL whose ontology has a pointer to some rules implies by the OWL ontology. Running the rules allows cwm to conclude that Donny is also a Dog, in the question, "do you know any dogs?". Obviously we are playing how with what information is useful to leave on the web, and it will become possible to do more interesting and more efficient things than cwm is doing now, but you get the idea that looking things up on the web is useful. The architecture separates the Semantic Web design, which all really comes down to the design of the languages in which documents are written, from the underlying Web design which is all about the distributing the information around so it is as though all the documents were local to the client. This is just as the hypertext web is built by making a language for global hypertext. There is a huge investment in HTTP and the TCP and DNS beneath it. It is important that we can develop hypertext and semantic web languages building on the basis of the Web. To invent another protocol especially for the semantic web would be a bad idea because it would be a less flexible architecture: developments in the web as an information space, and in the semantic web as web of concepts would be linked and have to wait for each other. We would also have to bootstrap a new protocol, and support two into the future. As it is, they are independent, and can just take advantage of each other. tim bl
Received on Monday, 4 August 2003 15:17:38 UTC