Versa
Encyclopedia
Versa is a RDF query language
RDF query language
An RDF query language is a computer language able to retrieve and manipulate data stored in Resource Description Framework format.SPARQL is emerging as the de-facto RDF query language, and is a W3C Recommendation. Released as a Candidate Recommendation in April 2006, it returned to Working Draft...

, used to query RDF
Resource Description Framework
The Resource Description Framework is a family of World Wide Web Consortium specifications originally designed as a metadata data model...

 data.
Versa differs from most other RDF query languages, which are typically based on SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

 or specialized XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 vocabularies. Although the design of Versa was inspired by XPath
XPath
XPath is a language for selecting nodes from an XML document. In addition, XPath may be used to compute values from the content of an XML document...

, its compact, functional
Functional programming
In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state...

 syntax also somewhat resembles Lisp
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...

. , the only Versa implementation is in the Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

-language, open-source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 4Suite XML framework.

History and status

Versa's origins can be traced to 2000, when professional XML consultancy Fourthought, Inc. began developing RIL, an open, XML-based RDF Inference Language
RDF Inference Language
RDF Inference Language is an open format designed to express expert systems rules and queries that operate on RDF models. RIL uses an XML vocabulary to define rules for a RIL processor to operate on an RDF model....

. RIL was implemented briefly in Fourthought's 4Suite Server product, which allowed for persistent storage and querying of an RDF model and associated XML document store.

In October 2001, the query portion of RIL was spun off into a separate project named Versa, with the intent that after Versa stabilized, development would resume in order to establish RIL as a formal language for working Versa query results. RIL development never resumed, however; inference capabilities in 4Suite were easily handled by XSLT extensions and did not require a separate language.

Versa initially had limitations that required the language to be redesigned. The overhaul was performed in late 2001 and early 2002 by software engineers from Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 and Fourthought, in order to facilitate internal knowledge management
Knowledge management
Knowledge management comprises a range of strategies and practices used in an organization to identify, create, represent, distribute, and enable adoption of insights and experiences...

 applications at Sun and to drive applications that were in development for Fourthought's other clients. 4Suite's Versa library was used as the reference implementation, and a draft specification was published.

Versa development slowed in 2002, although Sun and Fourthought continued to work together to develop Versa based applications through 2004. In mid-2005, Chimezie Ogbuji and Daniel Krech began planning to fold the capabilities of 4Suite's outdated RDF libraries (4RDF), including Versa support, into RDFLib
RDFLib
RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information. The library contains an RDF/XML parser/serializer that conforms to the RDF/XML Syntax Specification . The library also contains both in-memory and persistent Graph backends...

, which offers complementary features and would allow Versa to be used independently of 4Suite. This coincided with renewed interest in refining the Versa draft specification and publishing a "1.0" version.

As of 2006, the development of Versa is being coordinated primarily by Chimezie and Uche Ogbuji of Fourthought.

Syntax examples

Get the URI
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...

s of all known resources:
all

Get the URIs of all known instances of type edu:Subject:
type(edu:Subject)

Get the rdfs:labels of all edu:Subjects having one or more rdfs:label:
type(edu:Subject) - rdfs:label -> *

Get the URIs of all edu:Subjects having a rdfs:label matching "Russian language":
type(edu:Subject) |- rdfs:label -> eq("Russian language")

Get the URIs of all "super-edu:Subjects" (transitively) of the edu:Subject identified by "http://en.wikipedia.org/wiki/Russian_language":
traverse(@"http://en.wikipedia.org/wiki/Russian_language",
@"http://example.com/education#subTopicOf",
vtrav:forward, vtrav:transitive)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK