What is Xcerpt?
Xcerpt is a deductive, rule-based query language for graph-structured data. It is capable of querying various sources including XML, RDF (via XML), and its own term syntax. Support for additional formalisms is planned. Xcerpt originates from the PhD project of Sebastian Schaffert, but is now actively supported by a broader community of researchers and developers.
You might argue that there are already enough query languages for XML, and that indeed, XSLT and XQuery are W3C recommendations. But Xcerpt is different, and in our opinion better suited to many tasks than other languages. Due to Xcerpt’s deductive, rule-based nature, this is particularly true for Semantic Web applications, where reasoning is of major importance. In addition, we think that rule-based querying also simplifies many tasks on the “conventional” Web.
A major principle of Xcerpt, constrasting it with other query languages, is that it should be possible to query and reason with data both on the conventional Web and on the Semantic Web. As Semantic Web data aims at describing content (“meta-data”), this requirement is only natural, and it is surprising that few of the competing Web and Semantic Web query languages recognise it.
But decide yourself! On this Web site we provide numerous examples, and an OpenSource implementation of the language interpreter. Feel free to try it and play with it. And don’t forget to tell us what you like and what you dislike about the language, make suggestions for improvement, send us further examples that you implemented, and contribute in any other way you like!
What does Xcerpt look like?
Xcerpt is a rule-based language. A rule is like a VIEW in database systems. In brief, this means that a result (XML document) is created in case some query against one or several sources succeeds. A particular advantage of the rule-based approach is the separation of query and construction, often simplifying programs considerably. For example, the following rule creates an HTML table out of an addressbook document (compare this with similar transformations in XQuery or XSLT!):
CONSTRUCT
{ all
order by [$LAST,$FIRST] }
| First Name | Last Name | Phone |
| {$FIRST} | {$LAST} | {$PHONE} |
FROM
in {
resource { “file:addressbook.xml” },
{$FIRST}
{$LAST}
{$PHONE} </>
</>
}
END
The part between CONSTRUCT and FROM is called the construct part, the part between FROM and END the query part. Both the construct part and the query part are XML-like structures, but augmented by special Xcerpt constructs (enclosed in curly braces), like variables (prefixed by $), so-called term specifications (ordered/unordered, total/partial), and collection constructs. If the query part matches with the source data by means of an algorithm we call simulation unification, we determine variable substitutions that are reassembled in the construct part.
Of course, Xcerpt is much more powerful than this small example illustrates. Instead of using only a single rule, a program can consist of an arbitrary number of rules that interact via querying each other, or recursively call themselves to produce more complex results, like transitive closure of a relation and so on. To learn more about Xcerpt’s capabilities, see the Documentation section of this Web site.
Who would like to try Xcerpt?
At the current stage, Xcerpt is primarily aimed at interested software developers and researchers that want to try out our new approach, and possibly want to help us make our vision of a versatile, well designed query language for Web and Semantic Web data a reality. In its current implementation, Xcerpt is not well suited for production use (though it is constantly improving), but it should work well for many smaller, experimental projects.
Acknowledgements
Development of Xcerpt is partly funded by the EU Network of Excellence REWERSE in the 6th Framework Programme. It is the core of the working group I4 (Reasoning-Aware Querying). Other supporting companies include the following:
Dumpster Rental Madison WI
http://www.1stopdumpsterrental.com/wisconsin/dumpster-rental-madison-wi/
Dumpster Rental Norfolk VA
http://www.1stopdumpsterrental.com/virginia/dumpster-rental-norfolk-va/
Dumpster Rental Birmingham AL
http://www.1stopdumpsterrental.com/alabama/dumpster-rental-birmingham-al/
Dumpster Rental Winston Salem NC
http://www.1stopdumpsterrental.com/north-carolina/dumpster-rental-winston-salem-nc/
Dumpster Rental Durham NC
http://www.1stopdumpsterrental.com/north-carolina/dumpster-rental-durham-nc/
Dumpster Rental Laredo TX
http://www.1stopdumpsterrental.com/texas/dumpster-rental-laredo-tx/
Dumpster Rental Lubbock TX
http://www.1stopdumpsterrental.com/texas/dumpster-rental-lubbock-tx/
Dumpster Rental Baton Rouge LA
http://www.1stopdumpsterrental.com/louisiana/dumpster-rental-baton-rouge-la/
Dumpster Rental North Las Vegas NV
http://www.1stopdumpsterrental.com/nevada/dumpster-rental-north-las-vegas-nv/
Dumpster Rental Chula Vista CA
http://www.1stopdumpsterrental.com/california/dumpster-rental-chula-vista-ca/
Sebastian Schaffert, 2005-06-16
Created by wastl
Last modified 2005-06-17 10:27 AM