The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Lingua::DE::Wortschatz - wortschatz.uni-leipzig.de webservice client

SYNOPSIS

    use Lingua::DE::Wortschatz;
    
    my $result=Lingua::DE::Wortschatz::use_service('T','toll');
    $result->dump;
    
    @lines=$result->hashrefs();
    for (@lines) {
        print $_->{Synonym},"\n";
    }

    print Lingua::DE::Wortschatz::help('T');
    print Lingua::DE::Wortschatz::help('full');

DESCRIPTION

This is a full featured client for the webservices at http://wortschatz.uni-leipzig.de. The script wsws.pl is a command line client that uses this lib. It is contained in this distribution.

The webservices at http://wortschatz.uni-leipzig.de provide access to a database of the german word pool. Available services include tools to reduce words to base form, find synonyms, significant neighbours, example sentences and more. All public services at http://wortschatz.uni-leipzig.de are available. See below for a detailed list.

FUNCTIONS

The following functions can be exported or used via the full name.

use_service($name,@args)

Uses the webservice named $name with the arguments @args. Returns undef if not enough arguments for the desired service are supplied. Otherwise it returns a result object (see below).

All public services at http://wortschatz.uni-leipzig.de are available. Below is a list of service names and their parameters. Any parameter with = is optional and defaults to the given value. Service names can be abbreviated to the shortest unique form.

  * ServiceOverview Name=
  * Cooccurrences Wort Mindestsignifikanz=1 Limit=10
  * Baseform Wort
  * Sentences Wort Limit=10
  * RightNeighbours Wort Limit=10
  * LeftNeighbours Wort Limit=10
  * Frequencies Wort Limit=10
  * Synonyms Wort Limit=10
  * Thesaurus Wort Limit=10
  * Wordforms Word Limit=10
  * Similarity Wort Limit=10
  * LeftCollocationFinder Wort Wortart Limit=10
  * RightCollocationFinder Wort Wortart Limit=10

A full list of available services, their parameters and additional information on what each service does can be obtained with the help function.

help(?$service)

Returns a string containing information about the service with name $service. If no service name is given, a short list of all available services is returned. If $service eq 'full', a more detailed list is created.

THE RESULT OBJECT

The use_service function returns a result object of class Lingua::DE::Wortschatz::Result that holds the results.

This object offers methods to conveniently access the data.

dump()

 $result->dump();

Pretty prints the data to STDOUT.

service()

 $service_name=$result->service();

Returns the name of the service that was used to obtain the data.

names()

 @column_headers=$result->names();

Returns a list of the names of the data columns.

data()

 @rows=$result->data();

Returns a list of datasets. Each dataset is a reference to a list of values.

hashrefs()

 @lines=$result->hashrefs();

Returns a list of datasets. Each dataset is a references to a hash. The hashkeys are the names of the return values and the values are the data.

CAVEATS/BUGS

I wrote this to understand SOAP better. It took me way too long, due to the lack of documentation.

I couldn't figure out how to make SOAP::Lite and SOAP::Data create the request parameters in the correct way. It appears to me that this would require me to create custom as_Datatype functions for all the used types.

I could neither make it work using the WSDL file. I think with the data format that wortschatz.u-l requires, WSDL is pretty useless.

So I decided to use a straightforward approach and create the XML request parameters myself. This is probably not the idea of that whole SOAP thing, but it's short and it works. But see it as a hack.

SEE ALSO

http://wortschatz.uni-leipzig.de
SOAP::Lite

AUTHOR/COPYRIGHT

This is $Id: Wortschatz.pm,v 1.9 2005/11/21 13:58:07 manonegra Exp $.

Copyright 2005 Daniel Schröer (daniel@daimla1.de).

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 299:

Non-ASCII character seen before =encoding in 'Schröer'. Assuming CP1252