Archive for the ‘OrientDB’ Category

Getting Started with OrientDB

Friday, January 10th, 2014

Getting Started with OrientDB by Petter Graff.

From the post:

In my previous blog post I praised the open-source database Orient DB. I’ve received many email from people since asking me questions about Orient DB or telling me that they’d love to try Orient DB out but don’t know where to start.

I though it is time for me to contribute to the Orient DB community and write a short tutorial for exactly this audience. Ideally, I’d like to ensure that if you sit through the videos below, you’d at least have an informed view of whether Orient DB is of interest to you, your project and your organization.

Think of this blog post as the first installment. I may come back with some more advanced tutorials later. This tutorial shows you how to:

  • Download and install Orient DB
  • Play with the Orient DB studio and perform queries on the Grateful Dead database provided with the community edition
  • Create your own database (again using Orient DB studio, perhaps later I’ll provide a tutorial to show how to do this from Node or Java)
  • Create server-side functions
  • Perform graph- and document-based queries over Orient DB

I hope this tutorial gives you a good idea of how Orient DB works and some of its power. I also hope it will help illustrate the reasons for my enthusiasm in the previous post where I argued the case for Orient DB. In this post I’ll focus on how you get started.

My only quibble with this post is:

I would assume only a percentage of the readers are familiar with Grateful Dead, so let me give you a few sentences about them.

Really? I guess it depends on what you mean by “percentage.” 1%? 2% ;-)

Excellent introduction! Forward and watch for future installments.

OrientDB. Thanks!!!

Thursday, December 19th, 2013

OrientDB. Thanks!!! by Peter Graff.

From the post:

Every now and then you come across open source projects that just amazes you. OrientDB is one of these projects.

I’ve always assumed that I’d have to use a polyglot persistence model in complex applications. I’d use a graph database if I want to traverse the information, I’d use a document database when I want schema less complex structures, and the list goes on.

OrientDB seems to have it all though. It is kind of the Swiss army knife of databases, but unlike a Swiss army knife, each of the tools is best of bread.

I’ve had a few experiences with applications built on OrientDB and also been spending some time testing and evaluating the database. I keep thinking back to projects that I’ve implemented in the past and wishing I had OrientDB to my disposal. Asking questions such as:

Among several interesting observations about OrientDB Peter writes:

Now, imagine each document in the document database as a vertex? Is that possible? OrientDB has done exactly that. Instead of each node being a flat set of properties, it can be a complete document (with nested properties).

Sound tempting?

Read Peter’s post first and then grab a copy of OrientDB.

Why Relationships are cool…

Sunday, December 8th, 2013

Why Relationships are cool but the “JOIN” sucks by Luca Garulli.

I have been trying to avoid graph “intro” slides and presentations.

There are only so many times you can stand to hear “…all the world is a graph…” as though that’s news. To anyone.

This presentation by Luca is different from the usual introduction to graphs presentation.

Most of my readers won’t learn anything new but it may bump them into thinking of new ways to advocate the use of graphs.

By the way, Luca is responsible for OrientDB.

OrientDB version 1.6.1 was released on November 20, 2013, so if you haven’t looked at OrientDB in a while, now might be the time.

OrientDB becomes distributed…

Friday, November 8th, 2013

OrientDB becomes distributed using Hazelcast, leading open source in-memory data grid

From the post:

Hazelcast and Orient Technologies today announced that OrientDB has gained a multi-master replication feature powered by Hazelcast.

Clustering multiple server nodes is the most significant feature of OrientDB 1.6. Databases can be replicated across heterogeneous server nodes in multi-master mode achieving the best of scalability and performance.

“I think one of the added value of OrientDB against all the NoSQL products is the usage of Hazelcast while most of the others use Yahoo ZooKeeper to manage the cluster (discovery, split brain network, etc) and something else for the transport layer.” said Luca Garulli, CEO of Orient Technologies. “With ZooKeeper configuration is a nightmare, while Hazelcast let you to add OrientDB servers with ZERO configuration. This has been a big advantage for our clients and everything is much more ‘elastic’, specially when deployed on the Cloud. We’ve used Hazelcast not only for the auto-discovery, but also for the transport layer. Thanks to this new architecture all our clients can scale up horizontally by adding new servers without stopping or reconfigure the cluster”.

“We are amazed by the speed with which OrientDB has adopted Hazelcast and we are delighted to see such excellent technologists teaming up with Hazelcast.” said Talip Ozturk, CEO of Hazelcast. “We work hard to make the best open source in-memory data grid on the market and are happy to see it being used in this way.” (emphasis added)

It was just yesterday that I was writing about configuration issues in the Hadoop ecosystem, that includes Zookeeper. Hadoop Ecosystem Configuration Woes?

Where there is smoke, is there fire?

An empirical comparison of graph databases

Friday, September 13th, 2013

An empirical comparison of graph databases by Salim Jouili and Valentin Vansteenberghe.


In recent years, more and more companies provide services that can not be anymore achieved efficiently using relational databases. As such, these companies are forced to use alternative database models such as XML databases, object-oriented databases, document-oriented databases and, more recently graph databases. Graph databases only exist for a few years. Although there have been some comparison attempts, they are mostly focused on certain aspects only.

In this paper, we present a distributed graph database comparison framework and the results we obtained by comparing four important players in the graph databases market: Neo4j, OrientDB, Titan and DEX.

(Salim Jouili and Valentin Vansteenberghe, An empirical comparison of graph databases. To appear in Proceedings of the 2013 ASE/IEEE International Conference on Big Data, Washington D.C., USA, September 2013.)

For your convenience:





I won’t reproduce the comparison graphs here. The “winner” depends on your requirements.

Looking forward to seeing this graph benchmark develop!

OrientDB 1.5.1

Tuesday, September 3rd, 2013

Release OrientDB 1.5.1 containing hot-fixes for 1.5 by Luca Garulli.

From the post:

Orient Technologies has just released the version 1.5.1 of OrientDB Standard and Graph Editions.

It pays to keep up to date.

Encounter the latest problems instead of old ones.

As they say, “use the latest version Luke!” ;-)

OrientDB Graph Database 1.5!

Thursday, August 1st, 2013

Version 1.5 of OrientDB Graph Database has just been released to the planet! by Luca Garulli.

From the post:

This release could actually be named 2.0 for all the various new features:

  • New PLOCAL (Paginated Local) storage engine.  In comparison with LOCAL, it’s more durable (no usage of MMAP) and supports better concurrency on parallel transactions.
  • New Hash Index type with better performance on lookups. It does not support ranges.
  • New “transactional” SQL command to execute commands inside a transaction. This is useful for the “create edge” SQL command, in order to avoid corruption of the graph
  • Import now migrates RIDs, allowing the ability to import database objects in a different one from the original 
  • Breadth first” strategy added on traversing (Java andSQL APIs)
  • Server can limit maximum live connections (to prevent DOS)
  • Fetch plan support in SQL statements and in binary protocol for synchronous commands too
  • Various bug fixes

For all the issues:

Certainly does sound like a 2.0 release!

Released OrientDB v1.4:…

Saturday, June 8th, 2013

Released OrientDB v1.4: new TinkerPop Blueprints API and many other features

From the post:

NuvolaBase is glad to announce the new release 1.4 of OrientDB:!

What’s new with 1.4?

  • Graph: total rewrite of TinkerPop Blueprints API that now are the default Java interface, support for light-weight edges (no document), labeled relationships using separate classes and vertex fields
  • Storage: new Paged-Local compressed “plocal” engine  (not yet transactional)
  • SQL: INSERT and UPDATE supports JSON syntax, improved usage of indexes upon ORDER BY, supported timeout in query and global, new create function command, flatten() now is expand(), new OSQLMethod classes to handle methods even in chain, new encode() and decode() functions, support for new dictionary:<key> as target in SELECT and TRAVERSE
  • new SCHEDULER component using CRON syntax
  • new OTriggered class to use JS as hook
  • MMap: auto flush of pages on regular basis
  • Fetch-plan: support for skip field using “-2″
  • Index: auto rebuild in background, usage of different data-segment
  • Export: supported partial export like schema, few clusters, etc.
  • Console: improved formatting of resultsets
  • HTTP: new /batch command supporting transaction too, faster connection through /connect command, /document returns a JSON
  • StudioUML display of class

I did not mean to get so distracted yesterday writing about useless projects that I would neglect very useful ones, like the new release of OrientDB!

The “light-weight edges” sounds particularly interesting.

With no documentation you could not reliably merge the edges but as a design decision, that could be entirely appropriate.

You are always going to be faced with decisions of what subjects are represented at all and to what extent.

Nice to have a mechanism that doesn’t make that an entirely binary decision.

XDGBench: 3rd party benchmark results against graph databases [some graph databases]

Tuesday, April 30th, 2013

XDGBench: 3rd party benchmark results against graph databases by Luca Garulli.

From the post:

Toyotaro Suzumura and Miyuru Dayarathna from the Department of Computer Science of the Tokyo Institute of Technology and IBM Research published an interesting research about a benchmark between Graph Databases in the Clouds called:

XGDBench: A Benchmarking Platform for Graph Stores in Exascale Clouds”

This research conducts a performance evaluation of four famous graph data stores AllegroGraph, Fuseki, Neo4j, an OrientDB using XGDBench on Tsubame 2.0 HPC cloud environment. XGDBench is an extension of famous Yahoo! Cloud Serving Benchmark (YCSB).

OrientDB is the faster Graph Database among the 4 products tested. In particular OrientDB is about 10x faster (!) than Neo4j in all the tests.

Look at the Presentation (25 slides) and Research PDF.

Researchers are free to pick any software packages for comparison but the selection here struck me as odd before reading a comment on the original post asking for ObjectivityDB be added to the comparison.

For that matter, where are GraphChi, Infinite Graph, Dex, Titan, FlockDB? Just to call a few of the other potential candidates out.

Will be interesting when a non-winner on such a benchmark cites it for the proposition that easy of use, reliability, lower TOC outweighs brute speed in a benchmark test.

A Comparison of 7 Graph Databases

Sunday, January 20th, 2013

A Comparison of 7 Graph Databases by Alex Popescu.

Alex links to a graphic from InfiniteGraph that compares Infinite Graph, Neo4j, AllegroGraph, Titan, FlockDB, Dex and OrientDB.

The graphic is nearly unreadable so Alex embeds and points to a GoogleDoc spreadsheet by Peter Karussell that you will find easier to view.

Thanks Alex and Peter!

OrientDB 1.3 with new SQL functions and better performance

Sunday, December 23rd, 2012

OrientDB 1.3 with new SQL functions and better performance

From the post:

NuvolaBase is glad to announce this new release 1.3 and the new Web Site of OrientDB:!

What’s new with 1.3?

  • SQL: new eval() function to execute expressions
  • SQL: new if() and ifnull() functions
  • SQL: supported server-side configuration for functions
  • SQL: new DELETE VERTEX and DELETE EDGE commands
  • SQL: execution of database functions from SQL commands
  • SQL: new create cluster command
  • Graph: bundled 2 algorithms: Dijkstra and ShortestPath between vertices
  • Performance: improved opening time when a connections is reused from pool
  • Performance: better management of indexes in ORDER BY
  • Schema: new API to handle custom fields
  • HTTP/REST: new support for fetch-plan and limit in “command”
  • Moved from Google Code to GitHub: orientdb
  • Many bugs fixed

Now that’s good tidings for Christmas!

Gephi Blueprints plugin

Wednesday, November 7th, 2012

Gephi Blueprints plugin by David Suvee.

From the homepage:

The Gephi Blueprints plugin allows a user to import graph-data from any graph database that implements the Tinkerpop Blueprints generic graph API. Out of the box, the plugin provides support for TinkerGraph, Neo4j, OrientDB, Dex and RexterGraph. Additionally, it also provides support for the FluxGraph temporal graph database.


Not to mention having a short list of interesting graph software to boot!

Persistent Graphs with OrientDB

Thursday, February 9th, 2012

Persistent Graphs with OrientDB by Luca Molino.


This talk will present OrientDB open source project and its capability to handle persistent graphs in different ways. OrientDB presentation Java Graph Native API SQL+graph extensions HTTP API Blueprints API Gremlin usage Console tool Studio web tool.

Having the slides would make this presentation much easier to follow.

The phrase “persistent graph” is used in this and other presentations with no readily apparent definition.

Wikipedia was up today so I checked the term Persistent Data Structure, but nothing in that article had anything in common (other than data, data structure) with the presentation.

I suspect that “persistent graph” is being used to indicate that data is being stored and different queries can be run against the data (without changing the data). I am not sure that merits an undefined term.


Released OrientDB v1.0rc7

Monday, December 5th, 2011

Released OrientDB v1.0rc7: Improved transactions and first Multi-Master replication (alpha)

From the post:

Hi all, after about 2 months a new release is available for all: OrientDB 1.0rc7.

OrientDB embedded and server:
OrientDB Graph(ed):

According to the community answer this release should contains the new management of links using the OMVRB-Tree, but it’s in alpha stage yet and will be available in this week as 1.0rc8-SNAPSHOT. I preferred to release something really stable with all the 34 issues fixed (more below) till now. Furthermore tomorrow the TinkerPop team will release the new version of its amazing technology stack (Blueprints, Gremlin, etc.) and we couldn’t miss the chance to include latest release of OrientDB with it, don’t you?

Thanks to all the contributors every weeks more!


  • Transactions: Improved speed, up to 500x! (issue 538)
  • New Multi-Master replication (issue 589). Will be final in the next v1.0
  • SQL insert supports MAP syntax (issue 582), new date() function
  • HTTP interface: JSONP support (issue 587), new create database (issue 566), new import/export database (issue 567, 568)
  • Many bugs fixed, 34 issues in total

Full list:

Thanks Luca!

Wednesday, November 16th, 2011

I was surprised to see this at the end of the OrientDB slides on the multi-master architecture, “the first graph database on the Cloud,” but I am used to odd things in slide decks. ;-)

From the FAQ:

What is the technology behind NuvolaBase?

NuvolaBase is a cloud of several OrientDB servers deployed in multiple data centers around the globe.

What is the architecture of your cloud?

The cloud is based on multiple servers in different server farms around the globe. This guarantee low latency and high availability. Today we have three server farms, two in Europe and one in USA. We’ve future plans to expand the cloud in China and South America.

Oh, did I mention that during the beta test is it free?

OrientDB – Distributed Architecture…

Wednesday, November 16th, 2011

OrientDB – Distributed Architecture with a Multi-Master Approach (available version 1.0, due December 2011) by Luca Garulli.

Tossing old master/slave approach in favor of a multi-master approach.

Great set of slides! One more reason to be looking forward to December!


Sunday, October 23rd, 2011


From the readme file:

Pilot is a graph database operator that allows you to perform common application-level operations on graph databases without delving into the details of their implementation or requiring knowledge of the component technologies.

Pilot aims to support graph databases conforming to the property graph model. Pilot employs technologies from the Tinkerpop stack — specifically Blueprints and Gremlin — for general access and manipulation of the underlying graph database, but also uses native graph database APIs to further optimize performance for certain operations. In addition, Pilot also handles multithreading and transaction management, while keeping all of these abstracted away from the calling application. As such, Pilot is ideally suited for use in concurrent web applications.

  • Supported graph database providers:
    • OrientDB
    • Neo4j
    • Tinkergraph (the Blueprints in-memory reference implementation)
    • (others may be added in future if there is demand)
  • Some of the functionality currently supported by Pilot include:
    • Get edges between given vertices
    • Get neighbors of a given vertex
    • Retrieving vertices corresponding to some properties (see Property Graph Model)
    • Transaction management
    • Thread synchronization for multithreaded access
    • Large commit optimization
    • Application profiling
  • Planned additions:

Graph databases aren’t a new idea. I don’t have the reference at hand but once ran across a relational database that was implemented as a hypergraph. It may be that computing power has finally gotten to the point that graph databases, or at least their capabilities, will be the common expectation.

OrientDB version 1.0rc6

Friday, October 14th, 2011

OrientDB version 1.0rc6

From the post:

Hi all,
after some delays the new release is between us: OrientDB 1.0rc6. This is supposed to be the latest SNAPSHOT before official the 1.0.

Before to go in deep with this release I’d like to report you the chance to hack all together against OrientDB & Graph stuff at the next Berlin GraphDB Dojo event:

Direct download links

OrientDB embedded and server:
OrientDB Graph(ed):

List of changes

  • SQL engine: improved link navigation (issue 230)
  • Console: new “list databases” command (issue 389)
  • Index: supported composite indexes (issue 405), indexing of collections (issue 554)
  • JPA: supported @Embedded (issue 436) and @Transient annotations
  • Object Database: Disable/Enable lazy loading (issue 563)
  • Server: new Automatic backup task (issue 556), now installable as Windows Service (issue 61)
  • Client: Load balancing in clustered configuration (issue 557)
  • 34 issues closed

This looks great!

I want to call your attention to the composite indexes issue (issue 405). An index built across multiple fields. Hmmm, composite identifiers anyone?

OrientDB JDBC Driver

Monday, October 10th, 2011

OrientDB JDBC Driver

From the project page:

OrientDB ( is a NoSql DBMS that support a subset of SQL ad query languge.

This project is an effort to develop a JDBC driver for OrientDB

Perhaps the familiar may temp DB programmers into unfamiliar territory?

OrientDB v1.0rc5 New

Monday, August 22nd, 2011

OrientDB v1.0rc5: improved index and transactions, better crossing of trees and graphs

Just quickly:

  • SQL engine: new [] operator to extract items from lists, sets, maps and arrays
  • SQL engine: ORDER BY works with projection alias
  • SQL engine: Cross trees and graphs in projections
  • SQL engine: IN operator uses Index when available
  • Fixed all known bugs on transaction recovery
  • Rewritten the memory management of MVRB-Tree: now it’s faster and uses much less RAM
  • Java 5 compatibility of common and core subprojects
  • 16 issues fixed in total

Full list:

Index With Performance Close to Linear (was: Index With Linear Performance Close to Constant)

Monday, August 15th, 2011

I don’t have a link (yet) but @lgarulli reports that OrientDB’s new index has a measured growth factor of 0,000006 per entry stored.

Will update when more information becomes available.

See OrientDB.

Although for the new index you will need the sources I suspect: OrientDB sources.

Lars suggested the correction when this post appeared but I never quite got around to changing it. Preserved the original as I dislike content that changes under foot.

OrientDB v1.0rc4

Monday, August 1st, 2011

OrientDB v1.0rc4

In case you haven’t read about OrientDB before:

OrientDB is a new Open Source NoSQL DBMS born with the best features of all the others. It’s written in Java and it’s amazing fast: can store up to 150,000 records per second on common hardware. Even if it’s Document based database the relationships are managed as in Graph Databases with direct connections among records. You can travere entire or part of trees and graphs of records in few milliseconds. Supports schema-less, schema-full and schema-mixed modes. Has a strong security profiling system based on user and roles and support the SQL between the query languages. Thank to the SQL layer it’s straightforward to use it for people skilled in Relational world.

The list of latest changes.

From the latest announcement:

Please help OrientDB to be more famous by writing a short review in your Blog, Magazines and Mailing Lists. The magic formula is: More users = More test = More stable = More support (drivers, plugins, etc).

That’s clear enough! ;-)


Saturday, July 16th, 2011

bulbflow: a Python framework for the graph era

From the Overview:

Bulbs is an open-source Python persistence framework for graph databases and the first piece of a larger Web-development toolkit that will be released in the upcoming weeks.

It’s like an ORM for graphs, but instead of SQL, you use the graph-traveral language Gremlin to query the database.

You can use it to connect to any Blueprints-enabled
database, including TinkeGraph, Neo4j, OrientDB, Dex, and OpenRDF (and there is an InfiniteGraph implementation in development).

This means your code is portable because you can to plug into different graph database backends without worrying about vendor lock in.

Bulbs was developed in the process of building Whybase, a startup that will open for preview this fall. Whybase needed a persistence layer to model its complex relationships, and Bulbs is an open-source version of that framework.

You can use Bulbs from within any Python Web-development framework, including Flask, Pyramid, and Django.

Will be watching for future developments!

OrientDB 1.0rc3 – Graph(Ed)

Friday, July 15th, 2011

OrientDB 1.0rc3 – Graph(Ed)

From the webpage:

This is a special edition of OrientDB with these TinkerPop technologies in bundle:

  • Blueprints provides a collection of interfaces and implementations to common, complex data structures. In short, Blueprints provides a one stop shop for implemented interfaces to help developers create software without being tied to particular underlying data management systems.
  • Gremlin is a Turing-complete, graph-based programming language designed for key/value-pair multi-relational graphs. Gremlin makes use of an XPath-like syntax to support complex graph traversals. This language has application in the areas of graph query, analysis, and manipulation.
  • Pipes is a graph-based data flow framework for Java 1.6+. A process graph is composed of a set of process vertices connected to one another by a set of communication edges. Pipes supports the splitting, merging, and transformation of data from input to output.

The graph community just keeps getting stronger.

OrientDB v0.9.25 & beyond!

Friday, March 4th, 2011

OrientDB v0.9.25 has been released!

Features include:

  • Brand new memory model with level-1 and level-2 caches (Issue #242)
  • SQL prepared statement (Issue #49)
  • SQL Projections with the support of links (Issue #15)
  • Graphical editor for documents in OrientDB Studio app (Issue #217)
  • Graph representation in OrientDB Studio app
  • Support for JPA annotation by the Object Database interface (Issue #102)
  • Smart Console under bash: history, auto completition, etc. (Issue #228)
  • Operations to work with GEO-spatial points (Issue #182)
  • @rid support in SQL UPDATE statement (Issue #72)
  • Range queries against Indexes (Issue #231)
  • 100% support of TinkerPop Blueprints 0.5

Even more good news: 1.0RC1 is planned for April 2011.

NoSQL Databases: Why, what and when

Tuesday, March 1st, 2011

NoSQL Databases: Why, what and when by Lorenzo Alberton.

When I posted RDBMS in the Social Networks Age I did not anticipate returning the very next day with another slide deck from Lorenzo. But, after viewing this slide deck, I just had to post it.

It is a very good overview of NoSQL databases and their underlying principles, with useful graphics as well (as opposed to the other kind).

I am going to have to study his graphic technique in hopes of applying it to the semantic issues that are at the core of topic maps.

NoSQL Tapes

Monday, January 10th, 2011

NoSQL Tapes: A filmed compilation of interviews, explanations & case studies

From the email announcement by Tim Anglade:

Late last year, as the NOSQL Summer drew to a close, I got the itch to start another NOSQL community project. So, with the help of vendors Scality and InfiniteGraph, I toured around the world for 77 days to meet and record video interviews with 40+ NOSQL vendors, users and dudes-you-can-trust.


My original goals were to attempt to map a comprehensive view of the NOSQL world, its origins, its current trends and potential future. NOSQL knowledge seemed to me to be heavily fragmented and hard to reconcile across projects, vendors & opinions. I wanted to try to foster more sharing in our community and figure out what people thought ‘NOSQL’ meant. As it happens, I ended up learning quite a lot in the process (as I’m sure even seasoned NOSQLers on this list will too).

I’d like to take this opportunity to thank everybody who agreed to participate in this series: 10gen, Basho, Cloudant, CouchOne, FourSquare, Ben Black, RethinkDB, MarkLogic, Cloudera, SimpleGeo, LinkedIn, Membase, Ryan Rawson, Cliff Moon, Gemini Mobile, Furuhashi-san, Luca Garulli, Sergio Bossa, Mathias Meyer, Wooga, Neo4J, Acunu (and a few other special guests I’m keeping under wraps for now); I couldn’t have done it without them and learned by leaps & bounds for every hour I spent with each of them.

I’d also like to thank my two sponsors, Scality & InfiniteGraph, from the bottom of my heart. They were supportive in a way I didn’t think companies could be and let me total control of the shape & content of the project. I’d encourage you to check them out if you haven’t done so already.

As always, I’ll be glad to take any comments or suggestions you may have either by email ( or on Twitter (@timanglade).

Simply awesome!

OrientDB 0.9.24

Monday, December 13th, 2010

OrientDB 0.9.24 has been released! Direct download:

Issues fixed:

Features for 0.9.25 (Jan. 2010):

To suggest a new feature:

Orient: The Database For The Web – Presentation

Sunday, November 14th, 2010

Orient: The Database For The Web

Nice slide deck if you need something for the company CTO.

Perhaps to justify a NOSQL conference or further investigation into NOSQL as an option.

I was deeply amused by slide 19′s claim of “Ø Config.”

Maybe true if I am running it on my laptop during a conference presentation.

A bit more thought required for use in or with a topic map system.

Orient is an impressive bit of software and is likely to be used or encountered by topic mappers.


  1. Uses of OrientDB in library contexts? (3-5 pages, citations/links)
  2. Download and install OrientDB. How do you evaluate it’s claim of “Ø Config?” (3-5 pages, no citations)
  3. Extra credit: As librarians you will be asked to evaluate vendor claims about software. Develop a finding aid on software evaluation for librarians faced with that task. (3-5 pages, citations)