OPath reference docs

Article recovered from my ancient blog.

Users of the Wilson O/R Mapper sometimes ask for some documentation about OPath in their user forum, since the mapper supports a query language similar (or identical?) to OPath.

They cannot find the documentation on the Microsoft Longhorn website anymore because, from Microsoft's point of view, the version of OPath they ask for is deprecated. It was conceived for the now abandoned ObjectSpaces project.

XPath -> OPath -> OQuery

Inspired by the ideas from OPath (itself being heavily inspired by XPath), I created a "derivative" language (that is now quite different), which I later decided to call OQuery. That's why I sometimes wanted to look at their documentation, so quite a while ago I recovered the docs from the Web Archive. I've cached them here because in my experience the Web Archive can be slow at times.

This may qualify as an "unauthorized reproduction" (blame the Web Archive first, MSFT!), so please, dear Wilson O/R Mapper users, when reading and using it, do observe their copyright. =) (But don't take their patent too seriously, because you can't actually.)

The ObjectSpaces articles that were still available might be useful when working with Wilson O/R Mapper (a design goal of which seems to be to mimic the ObjectSpaces API design). All links within these documents are broken. An incomplete list in no particular order:

Accessing Object Data Using ObjectSpaces

Note: This may well be the last and only posting in the OPath category from me. Note that OPath is evolving and getting a new, quite different life in WinFS (or WinFX? Something to mix up easily), so Paul Wilson might want to consider finding a new name for the query language used in his O/R mapper to avoid confusion with technology deployed with a future release of Windows and the .NET Framework. (But not "OQuery"! :)


Just realized that OPF3 also uses OPath, presumably also the now deprecated ObjectSpaces variant. So if you're interested in OPath content, you may find stuff there as well (I haven't checked their documentation). Paul and Christian, get in touch, team up and rename your query languages together! ;)