Friday, February 27, 2004

Time for Phase 2

I was noticing the current increase in activity and general buzz with the Semantic Web. Recently, development work like: RDF in XHTML and Nokia's Semantic Web Server. It's obvious now, we've reached Phase 2 - the fun phase.

"W3C announced the launch of Phase 2 of the Semantic Web Activity. Two new Working Groups have been formed; the Best Practices and Deployment WG (charter) and the RDF Data Access Working Group (charter). These join the RDF Core and Web Ontology WGs, the Semantic Web Interest Group, and the Semantic Web Coordination Group."

"The aim of this Semantic Web Best Practices and Deployment (SWBPD) Working Group is to provide hands-on support for developers of Semantic Web applications. With the publication of the revised RDF and the new OWL specification we expect a large number of new application developers. Some evidence of this could be seen at the last International Semantic Web Conference in Florida, which featured a wide range of applications, including 10 submissions to the Semantic Web Challenge (see http://challenge.semanticweb.org/).This working group will help application developers by providing them with "best practices" in various forms, ranging from engineering guidelines, ontology / vocabulary repositories to educational material and demo applications."

http://www.w3.org/2003/12/swa/swbpd-charter

"The RDF data model is a directed, labeled graph with edges labeled with URIs and nodes that are either unidentified, literals, or URIs (please see the RDF Primer for further explanation). The principal task of the RDF Data Access Working Group is to gather requirements and to define an HTTP and/or SOAP-based protocol for selecting instances of subgraphs from an RDF graph. The group's attention is drawn to the RDF Net API submission. This will involve a language for the query and the use of RDF in some serialization for the returned results. The query langauge may have aspects of a path language similar to XPath (used for XML in XSLT and XQuery) and various RDF experimental path syntaxes."

http://www.w3.org/2003/12/swa/dawg-charter.

Wednesday, February 25, 2004

RDQLPlus

"RDQLPlus is a tool for querying RDF graphs, featuring graphical results in a zoomable user interface (ZUI). It can work with existing RDF files, Jena2 RDF databases, and a native-Java database called Mckoi (included)."

The UI has similar scaling problems to IsaViz (with displaying hundreds of statements). Good to see a pure Java implementation.

Sunday, February 22, 2004

Profium RDF Parser

Profium RDF Parser V2 in Java Also of interest is their API documentation.

Metadata Mac

Next Mac OS X to be Metadata-driven? "The (unconfirmed) info says that Mac OS X 10.4 will go "further than anticipated", introducing not only a "database-driven" new Finder (possibly similar to BeOS' Tracker) --although the file system itself will still be HFS+-- but also a wide support for file metadata. Please note that both the BeFS (and quite possibly this Apple implementation) is not similar to Longhorn's WinFS (apples & oranges). All this is not a surprise for us, as the people who were behind the same realization on BeOS --Dominic Giampaolo and Pavel Cisler-- today work at key positions at Apple Computer in the file system and Finder areas respectively."

I had previously mentioned another suggestion for metadata in OS X.

Marusha

Marusha: Using semantic web concepts to create your own private DJ and a more recent update.

"I ran into a number of serious scaling issues on Friday. Adding the 16 million tracks from freedb.org to the parser's database really was the straw that broke the camel's back. Lesson learnt: There are types of queries that a relational database will never be able to run in acceptable time."

Saturday, February 21, 2004

Mangrove

Mangrove: An Evolutionary Approach to the Semantic Web "The Mangrove project seeks to create an environment in which users are motivated to create semantic content because of the existence of useful semantic services that exploit that content and because the process of generating such content is as close as possible to existing techniques for generating HTML documents. Our goal is to facilitate the simple annotation and subsequent extraction and querying of the enormous amount of information that already exists within the WWW's billions of HTML pages, rather than requiring the creation of new content from scratch. Our approach thus seeks to faciliate the gradual transformation of the current web into the semantic web."

Very similar to the ideas expressed recently in "interview followup". Semantic Tagger is an interesting example of this (the schema is an XML schema).

Future of MS Search

Robert Scoble On The Future Of Search Engine Technology "If we're talking about your local hard drive, searching for files on your local hard drive is still awful and getting worse...It's easier to create files now than it is to find them. "

"...to really make search work well search engines need metadata and metadata that's added by the system keeping track of your usage of files, as well as letting application developers add metadata into the system itself. In a lot of ways, weblogs are adding metadata to websites. When a weblog like mine links to a web site, we usually add some more details about that site. We might say it's a "cool site" for instance. Well, Google puts those words into its engine. That's metadata."

"Developers distrust Microsoft's intentions here. They also don't want to open up their own applications to their competitors. If you were a developer at AOL, for instance, do you see opening up your contact system with, say, Yahoo or Google or Microsoft? That's scary stuff for all of us.

But, if the industry works together on common WinFS schemas (not just for contacts either, but other types of data too), we'll come away with some really great new capabilities. It really will take getting developers excited about WinFS's promise and getting them to lose their fears about opening up their data types. "

AUIML

AUIML "AUIML is an XML dialect that is a platform and a technology-neutral representation of panels, wizards, property sheets, etc. AUIML captures relative positioning information of user interface components and delegates their display to a platform-specific renderer. Depending on the platform or device being used, the renderer decides the best way to present the user interface to the user and receive user input.

The AUIML XML is created using the Eclipse-based AUIML VisualBuilder, which allows a developer to quickly build and preview user interfaces in the Java Swing and HTML Renderers. The AUIML VisualBuilder can also automatically create data beans, event handlers, and help system skeletons for the user interface. Since it plugs into Eclipse, building the user interface and application code is an integrated proces"

Interesting that IBM are support Swing here and not SWT.

Ontological Programming

Semantic Integration "Basically semantic integration seems to involve using RDF/OWL to define mappings between XML vocabularies.

Recently I've been involved in co-ordinating a number of large scale data migrations to help integrate several systems. This inevitably involved exploring the business models in the affected applications to define a mapping layer to allow the data to be cleanly migrated. Also inevitably this mapping ends up being expressed as a bunch of (hairy!) procedural code. It would have been nice to have been able to express that mapping in a more declarative way, if no other reason than it's easier to understand and debug possible problems. An example of not being able to see the wood for the trees."

There are many way to declaratively map different schemas - SQL, OO and XML all have their own tools. The value that RDF has is that you can program to a single ontology and map all of these different data sources to it.

With RDF there's not only the ability to map between XML vocabularies but to program to an ontology rather than a schema. In this case, the problem goes from MxN to M+N (or even just M).

One of the articles that highlights this issue is The Impedance Imperative Tuples + Objects + Infosets =Too Much Stuff!.

Friday, February 20, 2004

US Government Understands the Semantic Web

Taxonomy’s not just design, it’s an art "If anyone understands the acronym soup of Web services, it’s Michael C. Daconta. He’s director of Web and technology services for systems integrator APG McDonald Bradley Inc. of McLean, Va. As part of that job, Daconta is chief architect of the Defense Intelligence Agency’s Virtual Knowledge Base, a project to compile a directory of Defense Department data through Extensible Markup Language ontologies. "

"GCN: Will everyone use a single taxonomy for one big semantic Web, or will organizations build their own semantic Webs?

DACONTA: There clearly will not be just one semantic Web. A lot of people are looking at taxonomies, so they have to be careful. "

Thursday, February 19, 2004

Google Won

Search For Tomorrow ""For a lot of kids today, the world started in 1996," says librarian and author Gary Price.

And yet Berkeley professor Peter Lyman points out that traditional sources of information, such as textbooks, are heavily filtered by committees, and are full of "compromised information." He's not so sure that the robotic Web crawlers give results any worse than those from more traditional sources. "There's been a culture war between librarians and computer scientists," Lyman says.

And the war is over, he adds.

"Google won.""

""A generation ago, reference librarians -- flesh-and-blood creatures -- were the most powerful search engines on the planet. But the rise of robotic search engines in the mid-1990s has removed the human mediators between researchers and information. Librarians are not so sure they approve. Much of the material on the World Wide Web is wrong, or crazy, or of questionable provenance, or simply out of date (odd to say this about a new technology, but the Web is full of stale information).

"How do you authenticate what you're looking at? How do you know this isn't some kind of fly-by-night operation that's put up this Web site?" asks librarian Patricia Wand of American University.""

""He needs one that knows that he's a big-brain tech guru and not an eighth-grader with a paper due.

"The field is called user modeling," says Dan Gruhl of IBM. "It's all about computers watching interactions with people to try to understand their interests and something about them."

Imagine a version of Google that's got a bit of TiVo in it: It doesn't require you to pose a query. It already knows! It's one step ahead of you. It has learned your habits and thought processes and interests. It's your secretary, your colleague, your counselor, your own graduate student doing research for which you'll get all the credit.

To put it in computer terminology, it is your intelligent agent.""

Monday, February 16, 2004

XSLT for everything

On Semantic Integration and XML "In conclusion, it is clear that Semantic Web can be used to map between XML vocabularies however in non-trivial situations the extra work that must be layered on top of such approaches tends to favor using XML-centric techniques such as XSLT to map between the vocabularies instead. "

Radar Networks Triple Store

Okay, not much sleuthing here, it's the 4th hit on Google or something, still interesting.

"2 November, 2003. A short and somewhat formal description of the Radar Networks Triple Store, which is the system that handles the semantic metadata for this website. An essay by Jack Rusher.
Introduction

A triple store is designed to store and retrieve identities that are constructed from triplex collections of strings (sequences of letters). These triplex collections represent a subject-predicate-object relationship that more or less corresponds to the definition put forth by the RDF standard.

The problem space of storing this sort of data has been explored by the graph database, object database, PROLOG language and, more recently, semantic web communities. A more thorough backgrounder is provided by the work on Datalog, Jena, Dave Beckett’s Redland, the AT&T Research Communities of Interest project, Ora Lassila’s Wilbur, and the activities of the W3C Semantic Web project, among others."

Triple Store

Oh and then there's this blog (which I've read before without seeing the Radar Network postings).

The Dangers of Caffeine

Coffee-breaks sabotage employees' abilities "St Claire and Rogers decided to investigate caffeine's effects on work stress after hearing an anecdote at a stress workshop. A man described how he and a group of normally cohesive colleagues went on a business trip to the US.

Unlike in the UK, coffee was freely available and the team over-indulged. Within days their stress levels had escalated and they believe the extra caffeine had disrupted their working relationships, and impaired their working ability.

The Bristol team tested caffeine's effects on 32 coffee-drinkers. They told them they would be given a caffeinated coffee that would boost their performance, or a caffeinated coffee which causes stress-like side-effects, or decaffeinated coffee. However, unknown to the volunteers, only half the drinks contained 200 mg of caffeine and the other half contained none. The subjects then carried out two stressful tasks."

""Certainly in our experience of people drinking coffee there's a tendency for all sorts of personal interactions to get a little more intense. If there was a stressful situation there would be more shouting, yelling, louder talking," he told New Scientist. "This is very interesting confirmation.""

Beware of taking Bristolites to cafes with bottomless cups of coffee - violence, mayhem and talking louder could ensue.

Sunday, February 15, 2004

GiST and MTrees

MTree Project "The M-tree is an index structure that can be used for the efficient resolution of similarity queries on complex objects to be compared using an arbitrary metric, i.e. a distance function d that satisfies the positivity, symmetry, and triangle inequality postulates. For instance, with the M-tree you can index a set of strings and organize them according to their edit distances (the minimal number of character changes needed to transform one string into another)."

MTree Applet (also part of XXL).

GiST: A Generalized Search Tree for Secondary Storage "The GiST is a balanced tree structure like a B-tree, containing pairs. But keys in the GiST are not integers like the keys in a B-tree. Instead, a GiST key is a member of a user-defined class, and represents some property that is true of all data items reachable from the pointer associated with the key. For example, keys in a B+-tree-like GiST are ranges of numbers ("all data items below this pointer are between 4 and 6"); keys in an R-tree-like GiST are bounding boxes, ("all data items below this pointer are in Calfornia"); keys in an RD-tree-like GiST are sets ("all data items below this pointer are subsets of {1,6,7,9,11,12,13,72}"); etc. To make a GiST work, you just have to figure out what to represent in the keys, and then write 4 methods for the key class that help the tree do insertion, deletion, and search."

Report on implementing GiST in Java (framed).

Other trees (or multi-dimensional access methods).

Saturday, February 14, 2004

Problems with Java Generics

Generics in C#, Java, and C++ "...with Java generics, you don't actually get any of the execution efficiency that I talked about, because when you compile a generic class in Java, the compiler takes away the type parameter and substitutes Object everywhere. So the compiled image for List is like a List where you use the type Object everywhere...Of course, if you now try to make a List, you get boxing of all the ints. So there's a bunch of overhead there. Furthermore, to keep the VM happy, the compiler actually has to insert all of the type casts you didn't write."

"When you apply reflection to a generic List in Java, you can't tell what the List is a List of. It's just a List. Because you've lost the type information, any type of dynamic code-generation scenario, or reflection-based scenario, simply doesn't work."

With 1.3 casting used to be a fairly big overhead, with 1.4 this isn't an issue. Running the trove4j benchmarks in 1.4 you can still see the performance difference of objects vs primitives.

The second issue, and it's the same with autoboxing, seems to highlight how the syntax gives the illusion of consistency when there is none.

Trust Visualization

Trust on the Semantic Web has some examples of visualization. I recently found, again, the visualization of newsgroups by Microsoft Research called Netscan. I was reminded about this after reading unstruct.org's "Ouch! This is a red hot topic...".

New Sesame Home

"The openRDF.org site is a community site that is the center for all Sesame-related development. Here, developers and users can meet and discuss, ask questions and submit problem reports. The latest news about Sesame will be posted here."

Friday, February 13, 2004

Kowari 1.0.1

After some feedback about problems with building Kowari we've decided to release a new version that will compile and build successfully - this was due to problems with Barracuda. The upshot of this, though, is that all the bugs we fixed and the features we've been working on like Jena and JRDF support, RDQL, improvements in resource allocation and handling, and a Swing based iTQL UI get released.

We're also having fun loading millions of triples on an Opteron system running Linux. It gets about 4,000 triples/second after 13 million triples - which isn't quite fast enough, of course it's never fast enough.

Kowari project page.