- From: Jim Hendler <hendler@cs.umd.edu>
- Date: Wed, 16 Jun 2004 17:15:23 -0400
- To: public-rdf-dawg@w3.org
- Message-Id: <p06110409bcf65e51512b@[10.0.0.11]>
ACTION: JimH to send mail describing the history of remote KB query, including any mention of Denial of Service problems that may be relevant. OK, you folks forced me to go back in time -- most of the stuff in this area dates from the late 90s - the main relevance to Semantic Web per se is probably work that was done in the context of the SHOE project and the OKBC work - brief histories of each, and then some info related to the above: HISTORY/URIS: SHOE [1] is URI-based Web Ontology language first developed around 1995, with much of the work in 97-98, culminating in Jeff Heflin's doctoral thesis in 2001 [2] and now supported by Jeff at Lehigh University [3] where he continues to explore SHOE Rules (far as we know SHOE was the first web rule langauge) and other random stuff (has a MS Windows SHOE toolkit, for example). One version of SHOE used the Parka-DB KB system [4] as its back end, which is what I will discuss below. OKBC [5] was developed as part of the DARPA "High Performance knowledge Base" program based on the earlier "Generic Frame Protocol" developed jointly by Stanford and SRI. A WG was created to put this together (details at [5]) and the idea was to have a query protocol for accessing different "knowledge representation systems" (see note [6]). OKBC assumed a middleware type approach, and assumed a sort of mix of frame and Terminological Logic backends. The XML Ontology Language (XOL) [7] was developed to be a XML-based backend to work with OKBC. SandPiper Corp [8] uses OKBC in some of its projects. As far as I know language development on OKBC stopped around 1999 with the production of OKBC 2.0.3 which is available from [9] (as is code and some other stuff - but I don't know if it is maintained at all). Shoe was a direct contributor to DAML, XOL was a direct contributor to OIL - the two came together in DAML+OIL, the predecessor to OWL, thus the "pedigree" of the above as Semantic web languages. QUERYING SHOE used the Parka Interface for Queries (PIQ) [10] as a graphical front end to the Parka-DB query langauge, OKBC had several query modes. SHOE and OKBC both assume a model where a server provides a dedicated connection to a knowledge base for the length of a session -- this is probably as both languages had assertional capabilities, and this dedicated session allowed them to get around issues of concurrency, transaction handling, security (including denial of service), etc. While this would probably not be the right thing for DAWG, it is worth noting that even back in '99, the SHOE server version could handle 20 people accessing different KB sessions at the same time running on a commodity single processor machine -- back of the envelope this would allow a current decent server to handle 100-1000s of decent sized KB sessions at the same time - so it is not as ridiculous as it might sound (and maybe DAWG wants to consider a "dedicated session mode" as a future extension, but i won't suggest it now). Because of the dedicated server, both Parka and OKBC had a model where a session was started and a particular KB was loaded for that session (they had different load models, but let's ignore that for now). Queries would come to Parka as graphs with variables (that look a lot like the "where" clause in RDQL) or to OKBC as logical queries (which look something like OWL-QL [11] queries, although not quite as sophisticated). Parka's API was defined so that when a query came in, Parka returned the first answer and the number of total answers (so it was inherently a streaming interface) - the application could then ask a "Next N" type of query or could ask a different query, in which case the state was lost. Parka also kept somethign akin to a key (but w/no encryption back them) so that it coud keep the separate query session separate and also "authenticate" the user so that you couldn't hijack someone else's session (at least, without trying a bit -- remember, back in 99 we assumed users were friendly :->) OKBC's query interface is more complex, it had a number of session modes and a number of ways of querying them -- so the interface provided a streaming capability like Parka's, but also a "give me all the answers" mode, a sort of "save this query" (so I can ask again later for only new answers) mode, and several others. OKBC was designed in such a way that not every back end could support every query, and there were different compliance levels, so the protocols tended to be way more complicated than we would accept in most modern work. Anyway, I think these are of limited direct relevance to DAWG because of this session-based approach which was mandated by the fact that these were not just query languages, but also assertional languages (which I forgot when we were discussing this the other day, my bad). I also caution that the above is a bit of a simplification -- both of these were quite advanced systems for their day -- and that it is also filtered through my somewhat faulty memory -- I have included all these URIs below so that anyone looking for the correct answers can get to them instead of trusting my recollections cheers JH [1] http://www.cs.umd.edu/projects/plus/SHOE/ [2] Towards the Semantic Web: Knowledge Representation in a Dynamic Distributed Environment - Jeff Heflin's PhD thesis, on line at http://www.cs.umd.edu/projects/plus/SHOE/pubs/#heflin-thesis [3] http://www.cse.lehigh.edu/~heflin/research/ [4] http://www.cs.umd.edu/projects/plus/Parka/parka-db.html [5] http://www.ai.sri.com/~okbc/ [6] interesting historical note - at the kickoff meeting which decided to produce OKBC, only one person argued for a standard KR (ontology) syntax based on web protocols, instead of a new standard protocol for KR interoperability - sic transit gloria mundi... [7] http://www.ai.sri.com/pkarp/xol/ [8] http://www.sandsoft.com/products.html [9] http://www-ksl-svc.stanford.edu:5915/doc/release/okbc/index.html [10] http://www.cs.umd.edu/projects/plus/SHOE/piq.html [11] http://ksl.stanford.edu/projects/owl-ql/ -- Professor James Hendler http://www.cs.umd.edu/users/hendler Director, Semantic Web and Agent Technologies 301-405-2696 Maryland Information and Network Dynamics Lab. 301-405-6707 (Fax) Univ of Maryland, College Park, MD 20742 240-277-3388 (Cell)
Received on Wednesday, 16 June 2004 17:15:27 UTC