Technisches Entwurfsdokument für den SOOM SOOM. AIT Vocabulary Service Description. Version 0.1 2009-03-03



Similar documents
API Guide. SilkCentral Test Manager

Send your request via a SOAP-Request (e.g. with DotNET/SOAP, Java, PHP) to he following URL of our server:

Affiliate SOAP-API. Content:

Załącznik nr. 1. do Uchwały nr Rady Miejskiej w Strumieniu z dnia

<?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:niso="

Joke Server example. with Java and Axis. Web services with Axis SOAP, WSDL, UDDI. Joke Metaservice Joke Server Joke Client.

How To Write A Technical Interoperability Standard For Spain

Bindings for the Service Provisioning Markup Language (SPML) Version 1.0

XML Based Customizable Screen. Rev 1.1

SilkCentral Test Manager 2009 SP1. API Help

Parallels Operations Automation 5.4

EHR-IIS Interoperability Enhancement Project. Transport Layer Protocol Recommendation Formal Specification. Version 1.

Software Developer s Guide for the Cisco Secure Access Control System 5.1

Distributed Embedded Systems

1. Open Source J2EE Enterprise Service Bus Investigation

Allegato XML flusso richieste di produzione

Web-Service Example. Service Oriented Architecture

Web-Programmierung (WPR)

SOAP. SOAP SOAP d Apache/IBM Invocation générique : SOAP. Message XML SOAP. SOAP d Apache/IBM Invocation générique : SOAP

Web Services Resource Lifetime (WS-ResourceLifetime)

Chapter 15 Working with Web Services

Comparison of IEC CIM and NRECA MultiSpeak

EFSOC Framework Overview and Infrastructure Services

Web Services Servizio Telematico Doganale

XML Schema Definition Language (XSDL)

[MS-MDE]: Mobile Device Enrollment Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

Intelligent Agents and XML - A method for accessing webportals in both B2C and B2B E-Commerce

Quartermaster: Grid Services for Data Center Resource Reservation

Selling on Amazon Guide to XML

T320 E-business technologies: foundations and practice

Grid Working Draft - Informational, GWD-I-XXX Network Service Interface (NSI) Working Group (WG) September 1, 2010

Validating Documents of Web-based Metalanguages Using Semantic Rules

DMP ESB Stanlab Interface vejledning i anvendelse.

Cúram Web Services Guide

[MS-DLX]: Distribution List Expansion Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

MDM Server Web Services Reference Guide (Internal)

Argos Web Service Interface Specification

How To Write A Contract Versioning In Wsdl 2.2.2

Geography Markup Language (GML) simple features profile

Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007

Connecting to WebSphere ESB and WebSphere Process Server

INTEGRATING WEB SERVICES INTO A WEB-BASED COLLEGE ADMISSION PORTAL SYSTEM

CHAPTER 9: DATAPORT AND XMLPORT CHANGES

Device Feature Key Synchronization

XML-BASED AUTOMATIC TEST DATA GENERATION

FUSE ESB. Getting Started with FUSE ESB. Version 4.1 April 2009

How To Integrate Existing Applications With A Web Browser And Create A Service Oriented Application

PHP Language Binding Guide For The Connection Cloud Web Services

Service Oriented Architecture using JAVA

HireDesk API V1.0 Developer s Guide

XML and Data Management

DTD Tutorial. About the tutorial. Tutorial

The A2A Data Model and its application in WieWasWie. Michel

Leitungs-WS. Speziell : Trinkwasserversorgung. Gruppe 7: Stefan Buchholz, Martin Hoffmann, Conrad Kobsch, Jörg Winkler

Exchange Synchronization AX 2012

How To Use The Mets Document In A Webmail Document In An Html File On A Microsoft Powerbook (Html) On A Macbook 2 (Html).1.5 (Html2)

Temando Api. Release Developer Documentation. Temando IT Department

DocuSign Connect Guide

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

Service Description: NIH GovTrip - NBS Web Service

White Paper. SAP Solution Manager 7.0 Service Desk WebService API

Coveo Platform 7.0. Salesforce Connector Guide

i2b2 Cell Messaging Project Management (PM) Cell

Exercises: XSD, XPath Basi di da4 2

WS-BPEL Extension for Semantic Web Services (BPEL4SWS), Version 1.0

Web Services versus Distributed Objects: A Case Study of Performance and Interface Design

Contents. 2 Alfresco API Version 1.0

Encoding Library of Congress Subject Headings in SKOS: Authority Control for the Semantic Web

Summary. Griglie e Sistemi di Elaborazione Ubiqui. Corso di Laurea Specialistica in Ingegneria informatica. Lucidi delle Esercitazioni

Commerce Services Documentation

XML for Analysis Specification. Version 1.1 Microsoft Corporation Hyperion Solutions Corporation Updated: 11/20/2002

IoT-Ticket.com. Your Ticket to the Internet of Things and beyond. IoT API

04 XML Schemas. Software Technology 2. MSc in Communication Sciences Program in Technologies for Human Communication Davide Eynard

Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX. Recuperación de Información 2007 Lecture 3.

TCG Trusted Network Connect. TNC IF-MAP Metadata for Network Security

Demonstrating BC: Sending Out Mass ing v1.0

Web Services. Distributed Object Systems 11. Web Services, SOAP and NET. Web Applications. Web Services. Web services vs Distributed Objects

Coveo Platform 7.0. Microsoft Dynamics CRM Connector Guide

Single Sign-On Implementation Guide

Getting Started with Clearlogin A Guide for Administrators V1.01

REST Webservices API Reference Manual

Best Practices for Designing and Building the Services of an SOA

LabVIEW Internet Toolkit User Guide

Introduction aux Services Web # $ $ "! # $ % & ' ()* + (, ), * ' % & ' -. / (00 * (00 ', 1' 000*

Apache Cassandra Query Language (CQL)

[MS-FSDAP]: Forms Services Design and Activation Web Service Protocol

Et tu, XML? Philip Wadler, Avaya Labs

TUTORIALS. version 17.0

Security and Design Conadvantages of Using XML Modeling Framework

"! # $ % & ' ()* + (, ), * '. / (00 * " (00 ', 1' 000*

metaengine DataConnect For SharePoint 2007 Configuration Guide

Implementing a Custom Search Interface with SES - a case study with search.oracle.com. An Oracle White Paper June 2006

Single Sign-On Implementation Guide

The Global Justice Reference Architecture (JRA) Web Services Service Interaction Profile

Twinfield Single Sign On

Chapter 4. Sharing Data through Web Services

Developer Guide to Authentication and Authorisation Web Services Secure and Public

Nintex Workflow 2013 Help

Adjumed Webservice API-GUIDE

Transcription:

Technisches Entwurfsdokument für den Version 0.1 2009-03-03

Version 0.1 Technical Design Project Number Project Title Document Reference Title Date 2009-03-03 Document Name AIT Vocabulary Service Description.doc Version 0.1 draft final Restrictions public internal restricted : Distribution Authors Abstract Keywords Alexander Herzog, Odo Benda Describes the AIT vocabulary service wsdl and its usage WebServices, WSDL, Document Revisions Version Date Author(s) Description of Change 0.1 Mar 3, 2009 Alexander Herzog Initial draft Seite 1 / 1

Version 0.1 Table of Contents 1 Introduction...5 2 Parameters...6 2.1 getallthesauri... 6 2.2 getallthesauriresponse... 6 2.3 getlanguages... 6 2.4 getlanguagesresponse... 6 2.5 query... 6 2.6 queryresponse...7 2.7 getnodes... 7 2.8 getmetaattribute... 7 2.9 getmetaattributeresponse... 8 2.10 login... 8 2.11 loginresponse... 8 2.12 logout... 8 2.13 logoutresponse... 8 2.14 createnode... 8 2.15 manipulatednoderesponse... 9 2.16 updatenode... 9 2.17 deletenode... 9 2.18 deletenoderesponse... 9 2.19 setmetaattribute... 9 2.20 setmetaattributeresponse... 9 2.21 importnodes... 10 2.22 importnodesresponse... 10 2.23 exportnodes... 10 2.24 exportnodesresponse... 10 2.25 scanindex... 10 2.26 scanindexresponse... 11 Seite 2 / 2

Version 0.1 3 Common types...12 3.1 ThesaurusInfo... 12 3.2 MetaAttribute... 12 3.3 LanguageInfo... 12 3.4 QueryExpr... 12 3.5 RelationExpr... 13 3.6 AndExpr... 13 3.7 OrExpr... 13 3.8 QueryableField... 13 3.9 Operator... 13 3.10 NotExpr... 14 3.11 SimpleQuery... 14 3.12 ThesaurusNode... 14 3.13 ThesaurusNodeNP... 15 3.14 Scope... 15 3.15 ThesaurusNodeLink... 15 3.16 AccountInformation... 16 3.17 Costs... 16 4 Methods...17 4.1 login... 17 4.2 logout... 17 4.3 getallthesauri... 17 4.4 getlanguages... 17 4.5 query... 17 4.6 scanindex... 17 4.7 getnodes... 18 4.8 getmetaattribute... 18 4.9 createnode... 18 4.10 updatenode... 18 4.11 deletenode... 19 4.12 setmetaattribute... 19 4.13 importnodes... 19 Seite 3 / 3

Version 0.1 4.14 exportnodes... 19 I. Glossar...20 II. WSDL...21 III. List of Figures...47 IV. List of Tables...48 Seite 4 / 4

Version 0.1 1 Introduction In this paper, the AIT vocabulary service is discussed. Notation Some parameters are maked with *,? or +. These markers are the short repeat information. None to infinite repeatations is equivalent to *, optional parameters are marked with an? for zero or one repetations. If at least one repeatation is needed, then the + will be used. Seite 5 / 5

Version 0.1 2 Parameters This chapter describes the paramers used by the Methodes described in chapter 4. 2.1 getallthesauri Used as request at 4.3. Contains a session_ticket string 2.2 getallthesauriresponse Used as response at 4.3. Contains a list of ThesaurusInfo (3.1) elements 2.3 getlanguages Used as request at 4.4. Consists of a session_ticket thesaurus_name lang*: You will get the list of languages that includes o The international three digit country code (ISO 639-3) o the native language name o and the translation you specify here. 2.4 getlanguagesresponse Used as response at 4.4. Consists of a message language* (3.3): A LanguageInfo type: A list list of languages for which terms exist in the thesaurus. 2.5 query Used as request at 4.5. Consists of a session_ticket thesaurus_name query_lang: The language of the query. Only terms in this language match. Default: any result_lang?: The languages of the result nodes. Other languages will be stripped from the result. Default: any Followed by one of Seite 6 / 6

Version 0.1 o simplequery (3.11): Simple query expression o complexquery (3.4): Complex (boolean) query expression origin? (3.4): Specify the ancestor nodes of result nodes. This means only nodes will be included in the result when they have an ancestor that is matches "origin". Default: The thesaurus root. max_depth?: For each node that maches add up to this many levels of children to the result. Default: 0 max_nodes?: For each node that maches add up to this many levels of children to the result. Default: 10 2.6 queryresponse Used as response at 4.5 and 4.7. Consists of message: result_id: node* (3.12): The resulting node list. 2.7 getnodes Used as request at 4.7. Consists of a session_ticket thesaurus_name id: The list of ids of the nodes to return levels: Either: 0 (the specified ids only) or 1, 2,.. maximum depth for children to be added or -1, -2,.. maximum depth for parents to be added to the result. max_nodes?: Maximum size of the result. Default: 10 2.8 getmetaattribute Used as request at 4.8. Consists of a session_ticket thesaurus meta_att_name: Attribute name node_id*: A list of nodes to query. The meta attributes of these nodes will be returned Seite 7 / 7

Version 0.1 2.9 getmetaattributeresponse Used as reponse at 4.8. Consists of a message attributes* (3.2) 2.10 login Used as request at 4.1. Consists of a username password timout: Inactivity duration in second. If no request is sent within this amount of time the session_ticket will become invalid (just like when calling logout). Default: 1800 2.11 loginresponse Used as response at 4.1. Consists of a message session_ticket account_information (3.16) 2.12 logout Used as request at 4.2. Consists of a session_ticket 2.13 logoutresponse Used as response at 4.2. Consists of a message session_ticket: This is empty on a succuessful logout. Otherwise it contains the still valid session ticket. account_information (3.16) 2.14 createnode Used as request at 4.9. Consists of a session_ticket: The authentication token from the login thesaurus_name All following nodes are added to this thesauru Seite 8 / 8

Version 0.1 node* (3.12) 2.15 manipulatednoderesponse Used as response at 4.9 and 4.10. Consists of a message: node* (3.12) The nodes as they where really stored 2.16 updatenode Used as request at 4.10. Consists of a session_ticket thesaurus_name node (3.12) 2.17 deletenode Used as request at 4.11. Consists of a session_ticket thesaurus_name node_id*: List of node ids to delete slice?: If true the children of the node will not be deleteted but inserted as children of the deleted node's parent. 2.18 deletenoderesponse Used as response at 4.11. Consists of a message 2.19 setmetaattribute Used as request at 4.12. Consists of a session_ticket node_id attribute_name attribute_value 2.20 setmetaattributeresponse Used as response at 4.12. Consists of a Seite 9 / 9

Version 0.1 message 2.21 importnodes Used as request at 4.13. Consists of a session_ticket thesaurus_name data_format Choose the encoding/data schema of the import data. This is one of: o SKOS/museumvok (SKOS schema encoded as museumvok XML) o CSV/ait (ait table schema, as comma separated table) o ZIP/xml data The data encoded as base64 binary blob. Any data has to be encoded that was, no matter if it's text or real binary content. 2.22 importnodesresponse Used as response at 4.13. Consists of a message 2.23 exportnodes Used as request at 4.14. Consists of a session_ticket thesaurus_name data_format Is one of the following: o SKOS/museumvok 2.24 exportnodesresponse Used as response at 4.14. Consists of a message data The data encoded as base64 binary blob 2.25 scanindex Used as request at 4.6. Consists of a session_ticket thesaurus_name Seite 10 / 10

Version 0.1 term max_terms Number of returned terms 2.26 scanindexresponse Used as response at 4.6. Consists of a message result_id In the case when more hits exist than the maximum limit specified with the call this allow continuation. The result_id is either o 0 (Result complete) o -1 (continuation not possible) o >0 an identifier allowing the continuation. term* The resulting node list Seite 11 / 11

Version 0.1 3 Common types Within the parameters, the types described in this chapter are used on various occations. 3.1 ThesaurusInfo Used as type in 2.2. Consists of a thesaurus_name: A unique short name identifying the thesaurus. description: A link to a human readable description of the thesaurus' content. rights: Copyright information genericlanguage: The main language of the thesaurus. Every entry must exist in this language. This is also the default when no language is selected and the fallback when a certain entry is not available in some chosen language. availablelanguage*: A list of all languages used by the terms in the thesaurus. (Iso codes) 3.2 MetaAttribute Used as type in 2.9. Consists of a node_id attribute_name attribute_value 3.3 LanguageInfo Used as type at 2.4. A list list of languages for which terms exist in the thesaurus. Consists of a iso639_3 The three letter international language name code (ISO 639-3). Do not confuse this with ISO 639-2 which is a three letter language name code based on the english names. (E.g. Germany: ISO 639-3: "deu", ISO 639-2 "ger") native The native name of the language. translated? An optional translation to another language. 3.4 QueryExpr Used as type in 2.5, 3.6, 3.7 and 3.10. Consists of one of the following elements compare (3.5) RelationExpr and (3.6) AndExpr Seite 12 / 12

Version 0.1 or (3.7) OrExpr not (3.10) NotExpr 3.5 RelationExpr Used as type in 3.4 and 3.11. Consists of a field (3.8) QueryableField op (3.9) Operator value 3.6 AndExpr Used as type in 3.4. Consists of a left (3.4) QueryExpr right (3.4) QueryExpr 3.7 OrExpr Used as type in 3.4. Consists of a left (3.4) QueryExpr right (3.4) QueryExpr 3.8 QueryableField Used as type in 3.5. A String with one of the following values TRM Scope TRM[@preferred] TRM[not(@preferred)] 3.9 Operator Used as type in 3.5. Can be one of the following strings matches Used to match the word index equals less_than less_or_equal Seite 13 / 13

Version 0.1 greater_than greater_or_equal 3.10 NotExpr Used as type in 3.4. Consists of a arg (3.4) QueryExpr 3.11 SimpleQuery Used as type in 2.5. Consists of a fulltext term more_fields* (3.5) RelationExpr combine_by_or Boolean value. By default all terms must apply. With this options nodes where only some terms apply will be included in the result. Set this to true to connect the terms with an or statement 3.12 ThesaurusNode Used as type in 2.6, 2.14, 2.15 and 2.16. Consists of a TRM+ There has to be exactly one the in the generic language of the thesaurus and optionally translations into other languages. Each TRM should have a xml:lang attribute. If it is missing the generic will be used term BT* (3.15) ThesaurusNodeLink NT* (3.15) ThesaurusNodeLink RT* (3.15) ThesaurusNodeLink UF* (3.13) A list of used for terms SCOPE* (3.14) Scope The following attributes apply to this element @id schema? gs? Seite 14 / 14

Version 0.1 3.13 ThesaurusNodeNP Used as type in 3.12. Consists of a TRM+ There has to be exactly one the in the generic language of the thesaurus and optionally translations into other languages. Each TRM should have a xml:lang attribute. If it is missing the generic will be used RT* (3.15) ThesaurusNodeLink USE* (3.15) ThesaurusNodeLink SCOPE* (3.14) Scope The following attributes apply to this element where you can use either @id? schema? gs? or @href? 3.14 Scope Used as type in 3.12, 3.13 and 3.15. This element can contain any element in any namespace 3.15 ThesaurusNodeLink Used as type in 3.12 and 3.13. This is the connection between two thesaurus nodes. Each link must provide an @href attribute to the other ThesaurusNode/@id attribute. Related terms may have a @role attribute to classify the relation. Each realtion may cache the TRM and SCOPE of the target node. If it is cached the node can be found by a query to this field. Consists of a TRM* There has to be exactly one the in the generic language of the thesaurus and optionally translations into other languages. Each TRM should have a xml:lang attribute. If it is missing the generic will be used SCOPE* (3.14) Scope The following attributes apply to this element @href @role? Seite 15 / 15

Version 0.1 3.16 AccountInformation Used as type in 2.11 and 2.13. Consists of a fullname? Account owner. email? Email address of the account owner. additional? Additional information e_points? E-Points for this service account all together. E-Points are consumed be any operation that creates, updates, retrieves or delete nodes. e_points_left? Remaining E-Points. E-Points are consumed be any operation that creates, updates, retrieves or delete nodes. 3.17 Costs Consists of a duration? Number bandwith? Number hits? Number license? Number e_points? Number e_points_left? Number Seite 16 / 16

Version 0.1 4 Methods This chapter describes the methods of the AIT vocabulary service are reference in chapter 2. 4.1 login Authenticate yourself to the system and get a sessionticket to execute operations on the thesaurus. Input Message: loginrequest (2.10) Output Message: loginresponse (2.11) 4.2 logout Invalidate a session ticket immediately. Input Message: logoutrequest (2.12) Output Message: logoutresponse (2.13) 4.3 getallthesauri Retrieve a list of all thesauri accessable by this service. Input Message: getallthesaurirequest (2.1) Output Message: getallthesauriresponse (2.2) 4.4 getlanguages Get a list of all languages available in the thesaurus. This will retrieve a list of languages for which entries do exist. However the thesaurus will need not be completely available in each language. Input Message: getlanguagesrequest (2.3) Output Message: getlanguagesresponse (2.4) 4.5 query Query the thesaurus. This operation combines simple and complex query functionality. Input Message: queryrequest (2.5) Output Message: queryresponse (2.6) 4.6 scanindex Lookup terms from an index. This works with phrase indices only and will report all matching terms and their frequency in the thesaurus. Seite 17 / 17

Version 0.1 Input Message: scanindexrequest (Fehler! Verweisquelle konnte nicht gefunden werden.) Output Message: scanindexresponse (2.26) 4.7 getnodes Starting from a certain nodeid go up or down in the generic structure and retrieve the nodes. Input Message: getnodesrequest (2.7) Output Message: queryresponse (2.6) 4.8 getmetaattribute Get a certain meta data attribute of a thesaurus node. Input Message: getmetaattributerequest (2.8) Output Message: getmetaattributeresponse (2.9) 4.9 createnode Add one or more nodes to the thesaurus that did not exist before. Detailed operation: If @id is given it must be a number and must not yet exist, if it is empty it will be auto assigned. @gs will be automatically generated, overriding any value given BT an existing parent node id. The created node will be added as the last child of the parent unless you specify it like {parent_id} '#' {previous_sibling_id}. An empty previous_sibling_id created the node as the first child of its parent. The first BT2 is always the broader term in the generic structure NT if these nodes already exist in the thesaurus they will be moved to be children of the created node. Input Message: createnoderequest (2.14) Output Message: createnoderesponse (2.15) 4.10 updatenode Changes the nodes content or moves the node in the hierachy. The generic structure (@gs) will be created automatically and override any value you set there. To move a node in the hierachy modify the broader (BT) and narrower (NT) terms fields of the node. The operation will fail if the node id does not yet exist. Seite 18 / 18

Version 0.1 Note: It is not possible to change the nodes id. In that case you have to delete the node and create a new one. Input Message: updatenoderequest (2.16) Output Message: updatenoderesponse (2.15) 4.11 deletenode Delete or slice one or more nodes from the theaurus. The operation will fail if the id does not exist. Input Message: deletenoderequest (2.17) Output Message: deletenoderesponse (2.18) 4.12 setmetaattribute Set a meta attribute of a thesaurus node to a specific value. Input Message: setmetaattributerequest (2.19) Output Message: setmetaattributeresponse (2.20) 4.13 importnodes Batch import nodes into the thesaurus. Input Message: importnodesrequest (2.21) Output Message: importnodesresponse (2.22) 4.14 exportnodes Batch export all nodes from the thesaurus. Input Message: exportnodesrequest (2.23) Output Message: exportnodesresponse (2.24) Seite 19 / 19

Version 0.1 I. Glossar WSDL WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedureoriented information http://www.w3.org/tr/wsdl [Urldate: 03/03/2009] Seite 20 / 20

Version 0.1 II. WSDL <?xml version="1.0" encoding="utf-8" standalone="no"?> <wsdl:definitions xmlns:mus="urn:museumvok" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.aitbiz.com/ns/thesauri" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/xmlschema" name="thesauri" targetnamespace="http://www.aitbiz.com/ns/thesauri" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <wsdl:types> <xsd:schema targetnamespace="http://www.aitbiz.com/ns/thesauri" xmlns:tns="http://www.aitbiz.com/ns/thesauri"> <xsd:element name="getallthesauri"> <xsd:element name="session_ticket" type="xsd:string"/> <xsd:element name="getallthesauriresponse"> <xsd:element name="thesauri" type="tns:thesaurusinfo" minoccurs="0" maxoccurs="unbounded"/> <xsd:complextype name="thesaurusinfo"> <xsd:element name="thesaurus_name" A unique short name identifying the thesaurus. <xsd:element name="description" type="xsd:anyuri"> A link to a human readable description of the thesaurus' content. <xsd:element name="rights" Copyright information <xsd:element name="genericlanguage" The main language of the thesaurus. Every entry must exist in this language. This is also the default when no language is selected and the fallback when a certain entry is not available in some chosen language. Seite 21 / 21

Version 0.1 <xsd:element name="availablelanguage" type="xsd:string" minoccurs="0" maxoccurs="unbounded"> A list of all languages used by the terms in the thesaurus. <xsd:element name="getlanguages"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" <xsd:element name="lang" type="xsd:string" minoccurs="0"> You will get the list of languages that includes: * The international three digit country code (ISO 639-3) * the native language name * and the translation you specify here. <xsd:element name="getlanguagesresponse"> <xsd:element name="message" <xsd:element name="language" type="tns:languageinfo" minoccurs="0" maxoccurs="unbounded"> A list list of languages for which terms exist in the thesaurus. <xsd:element name="query"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" <xsd:element name="query_lang" type="xsd:string" maxoccurs="1" minoccurs="0"> The language of the query. Only terms in this language match. Default: any Seite 22 / 22

Version 0.1 <xsd:element name="result_lang" type="xsd:string" maxoccurs="unbounded" minoccurs="0"> The languages of the result nodes. Other languages will be stripped from the result. Default: any <xsd:choice> <xsd:element name="simplequery" type="tns:simplequery"> Simple query expression <xsd:element name="complexquery" type="tns:queryexpr"> Complex (boolean) query expression </xsd:choice> <xsd:element name="origin" type="tns:queryexpr" maxoccurs="1" minoccurs="0"> Specify the ancestor nodes of result nodes. This means only nodes will be included in the result when they have an ancestor that is matches "origin". Default: The thesaurus root. <xsd:element name="max_depth" type="xsd:int" maxoccurs="1" minoccurs="0"> For each node that maches add up to this many levels of children to the result. Default: 0 <xsd:element name="max_nodes" type="xsd:int" maxoccurs="1" minoccurs="0"> Maximum size of the result. Default: 10 Seite 23 / 23

Version 0.1 <xsd:element name="queryresponse"> <xsd:element name="message" <xsd:element name="result_id" <xsd:element name="node" type="tns:thesaurusnode" minoccurs="0" maxoccurs="unbounded"> The resulting node list. <xsd:element name="getnodes"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" <xsd:element name="id" type="xsd:string" maxoccurs="unbounded" minoccurs="1"> The list of ids of the nodes to return. <xsd:element name="levels" type="xsd:int"> Either: 0 (the specified ids only) or 1, 2,.. maximum depth for children to be added or -1, -2,.. maximum depth for parents to be added to the result. <xsd:element name="max_nodes" type="xsd:int"> Maximum size of the result. Default: 10 <xsd:element name="getmetaattribute"> <xsd:element name="session_ticket" Seite 24 / 24

Version 0.1 Attribute name. <xsd:element name="thesaurus" <xsd:element name="meta_att_name" <xsd:element name="node_id" type="xsd:string" maxoccurs="unbounded" minoccurs="0"> A list of nodes to query. The meta attributes of these nodes will be returned. <xsd:element name="getmetaattributeresponse"> <xsd:element name="message" <xsd:element name="attributes" type="tns:metaattribute" maxoccurs="unbounded" minoccurs="0"> <xsd:element name="login"> <xsd:element name="username" <xsd:element name="password" <xsd:element name="timeout" type="xsd:int" minoccurs="0"> Inactivity duration in second. If no request is sent within this amount of time the session_ticket will become invalid (just like when calling logout). Default: unlimited <xsd:element name="loginresponse"> <xsd:element name="message" <xsd:element name="session_ticket" <xsd:element name="account_information" type="tns:accountinformation"> <xsd:element name="logout"> <xsd:element name="session_ticket" Seite 25 / 25

Version 0.1 <xsd:element name="logoutresponse"> <xsd:element name="message" <xsd:element name="session_ticket" This is empty on a succuessful logout. Otherwise it contains the still valid session ticket. <xsd:element name="account_information" type="tns:accountinformation"> <xsd:element name="thesaurusfault"> <xsd:element name="fault_message" <xsd:element name="query_fault1"> <xsd:element name="query_fault1" <xsd:element name="getlanguages_fault"> <xsd:element name="getlanguages_fault" <xsd:complextype name="languageinfo"> <xsd:element name="iso639_3" The three letter international language name code (ISO 639-3). Do not confuse this with ISO 639-2 which is a three letter language name code based on the english names. (E.g. Germany: ISO 639-3: "deu", ISO 639-2 "ger") <xsd:element name="native" The native name of the language. <xsd:element name="translated" type="xsd:string" minoccurs="0"> Seite 26 / 26

Version 0.1 An optional translation to another language. <xsd:complextype name="queryexpr"> <xsd:choice> <xsd:element name="compare" type="tns:relationexpr"> <xsd:element name="and" type="tns:andexpr"> <xsd:element name="or" type="tns:orexpr"> <xsd:element name="not" type="tns:notexpr"> </xsd:choice> <xsd:complextype name="relationexpr"> <xsd:element name="field" type="tns:queryablefield"> <xsd:element name="op" type="tns:operator"> <xsd:element name="value" <xsd:complextype name="andexpr"> <xsd:element name="left" type="tns:queryexpr"> <xsd:element name="right" type="tns:queryexpr"> <xsd:complextype name="orexpr"> <xsd:element name="left" type="tns:queryexpr"> <xsd:element name="right" type="tns:queryexpr"> <xsd:simpletype name="queryablefield"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="trm"></xsd:enumeration> <xsd:enumeration value="scope"></xsd:enumeration> <xsd:enumeration value="trm[@preferred]"></xsd:enumeration> <xsd:enumeration value="trm[not(@preferred)]"></xsd:enumeration> </xsd:restriction> </xsd:simpletype> <xsd:complextype name="operator"> <xsd:complextype name="notexpr"> <xsd:element name="arg" type="tns:queryexpr"> <xsd:complextype name="simplequery"> <xsd:element name="fulltext" type="xsd:string" minoccurs="0"> <xsd:element name="term" type="xsd:string" minoccurs="0"> <xsd:element name="more_fields" type="tns:relationexpr" minoccurs="0" maxoccurs="unbounded"> Seite 27 / 27

Version 0.1 <xsd:element name="combine_by_or" type="xsd:boolean"> By default all terms must apply. With this options nodes where only some terms apply will be included in the result. <xsd:complextype name="thesaurusnode"> <xsd:element name="trm" type="xsd:string" minoccurs="1" maxoccurs="unbounded"> There has to be exactly one the in the generic language of the thesaurus and optionally translations into other languages. Each TRM should have a xml:lang attribute. If it is missing the generic <xsd:element name="bt" type="tns:thesaurusnodelink" minoccurs="0" maxoccurs="unbounded"> <xsd:element name="nt" type="tns:thesaurusnodelink" minoccurs="0" maxoccurs="unbounded"> <xsd:element name="rt" type="tns:thesaurusnodelink" minoccurs="0" maxoccurs="unbounded"> <xsd:choice maxoccurs="unbounded" minoccurs="0"> <xsd:element name="uf" type="tns:thesaurusnodenp"> <xsd:element name="uf" type="tns:thesaurusnodelink"> </xsd:choice> <xsd:element name="scope" type="tns:scope" minoccurs="0" maxoccurs="unbounded"> <xsd:attribute name="id" type="xsd:id" use="required"></xsd:attribute> <xsd:attribute name="schema" type="xsd:string" use="optional"> </xsd:attribute> <xsd:attribute name="gs" </xsd:attribute> <xsd:complextype name="thesaurusnodenp"> <xsd:element name="trm" type="xsd:string" minoccurs="1" maxoccurs="unbounded"> <xsd:element name="rt" type="tns:thesaurusnodelink" minoccurs="0" maxoccurs="unbounded"> Seite 28 / 28

Version 0.1 <xsd:element name="use" type="tns:thesaurusnodelink" minoccurs="0"> <xsd:element name="scope" type="tns:scope" minoccurs="0" maxoccurs="unbounded"> <xsd:attribute name="id" type="xsd:id"></xsd:attribute> <xsd:attribute name="schema" </xsd:attribute> <xsd:attribute name="gs" </xsd:attribute> <xsd:complextype name="scope"> <xsd:any namespace="##other"></xsd:any> <xsd:complextype name="thesaurusnodelink"> This is the connection between two thesaurus nodes. Each link must provide an @href attribute to the other ThesaurusNode/@id attribute. Related terms may have a @role attribute to classify the relation. Each realtion may cache the TRM and SCOPE of the target node. If it is cached the node can be found by a query to this field. <xsd:element name="trm" type="xsd:string" minoccurs="0" maxoccurs="unbounded"> <xsd:element name="scope" type="tns:scope" minoccurs="0" maxoccurs="unbounded"> <xsd:attribute name="href" type="xsd:idref" use="required"></xsd:attribute> <xsd:attribute name="role" type="xsd:string" use="optional"></xsd:attribute> <xsd:element name="createnode"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" <xsd:element name="node" type="tns:thesaurusnode" maxoccurs="unbounded" minoccurs="1"> <xsd:element name="manipulatednoderesponse"> <xsd:element name="message" <xsd:element name="nodes" type="tns:thesaurusnode" maxoccurs="unbounded" minoccurs="0"> Seite 29 / 29

Version 0.1 The nodes as they where really stored. <xsd:element name="updatenode"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" <xsd:element name="node" type="tns:thesaurusnode"> <xsd:element name="updatenoderesponse"> <xsd:element name="out" <xsd:element name="deletenode"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" <xsd:element name="node_id" type="xsd:string" maxoccurs="unbounded" minoccurs="1"> List of node ids to delete. <xsd:element name="slice" type="xsd:boolean" maxoccurs="1" minoccurs="0"> If true the children of the node will not be deleteted but inserted as children of the deleted node's parent. <xsd:element name="deletenoderesponse"> Seite 30 / 30

Version 0.1 <xsd:element name="message" <xsd:element name="setmetaattribute"> <xsd:element name="session_ticket" <xsd:element name="node_id" <xsd:element name="attribute_name" <xsd:element name="attribute_value" <xsd:element name="setmetaattributeresponse"> <xsd:element name="message" <xsd:element name="importnodes"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" <xsd:element name="data_format"> Choose the encoding/data schema of the import data. This is one of: * SKOS/museumvok (SKOS schema encoded as museumvok XML) * CSV/ait (ait table schema, as comma separated table) <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="skos/musemvok"> </xsd:enumeration> <xsd:enumeration value="csv/ait"></xsd:enumeration> <xsd:enumeration value="zip/xml"></xsd:enumeration> </xsd:restriction> </xsd:simpletype> <xsd:element name="data" type="xsd:base64binary"> Seite 31 / 31

Version 0.1 The data encoded as base64 binary blob. Any data has to be encoded that was, no matter if it's text or real binary content. <xsd:element name="importnodesresponse"> <xsd:element name="out" <xsd:element name="exportnodes"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" <xsd:element name="data_format"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="skos/museumvok"></xsd:enumeration> </xsd:restriction> </xsd:simpletype> <xsd:element name="exportnodesresponse"> <xsd:element name="message" <xsd:element name="data" type="xsd:base64binary"> <xsd:complextype name="metaattribute"> <xsd:element name="node_id" <xsd:element name="attribute_name" <xsd:element name="attribute_value" <xsd:complextype name="accountinformation"> <xsd:element name="fullname" type="xsd:string" minoccurs="0" maxoccurs="1"> Seite 32 / 32

Version 0.1 Account owner. <xsd:element name="email" type="xsd:string" minoccurs="0" maxoccurs="1"> Email address of the account owner. <xsd:element name="additional" type="xsd:string" minoccurs="0" maxoccurs="1"> Additional information. <xsd:element name="e_points" type="xsd:string" minoccurs="0" maxoccurs="1"> E-Points for this service account all together. E-Points are consumed be any operation that creates, updates, retrieves or delete nodes. <xsd:element name="e_points_left" type="xsd:string" minoccurs="0" maxoccurs="1"> Remaining E-Points. E-Points are consumed be any operation that creates, updates, retrieves or delete nodes. <xsd:complextype name="costs"> <xsd:element name="duration" type="xsd:float" minoccurs="0" maxoccurs="1"/> <xsd:element name="bandwidth" type="xsd:float" minoccurs="0" maxoccurs="1"/> <xsd:element name="hits" type="xsd:float" minoccurs="0" maxoccurs="1"/> <xsd:element name="license" type="xsd:float" minoccurs="0" maxoccurs="1"/> <xsd:element name="e_points" type="xsd:float" minoccurs="0" maxoccurs="1"/> <xsd:element name="e_points_left" type="xsd:float" minoccurs="0" maxoccurs="1"/> <xsd:element name="scanindex"> <xsd:element name="session_ticket" <xsd:element name="thesaurus_name" Seite 33 / 33

Version 0.1 <xsd:element name="term" <xsd:element name="max_terms" type="xsd:int"> <xsd:element name="scanindexresponse"> <xsd:element name="message" <xsd:element name="result_id" In the case when more hits exist than the maximum limit specified with the call this allow continuation. The result_id is either * 0 (Result complete) * -1 (continuation not possible) * >0 an identifier allowing the continuation. <xsd:element name="term" type="xsd:string" minoccurs="0" maxoccurs="unbounded"> The resulting node list. </xsd:schema> <xsd:schema xmlns:mus="urn:museumvok" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetnamespace="urn:museumvok"> <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemalocation="soapenc.xsd"/> <xsd:complextype name="arrayofstrings"> <xsd:complexcontent> <xsd:restriction base="soapenc:array"> <xsd:element maxoccurs="unbounded" minoccurs="0" name="item" type="xsd:string"/> <xsd:attribute ref="soapenc:arraytype" wsdl:arraytype="xsd:string[]"/> </xsd:restriction> </xsd:complexcontent> <xsd:complextype name="arrayofsearchfields"> <xsd:complexcontent> <xsd:restriction base="soapenc:array"> <xsd:element maxoccurs="unbounded" minoccurs="0" name="onefield" type="mus:searchfields"/> <xsd:attribute ref="soapenc:arraytype" wsdl:arraytype="xsd:string[]"/> Seite 34 / 34

Version 0.1 </xsd:restriction> </xsd:complexcontent> <xsd:simpletype name="searchtermmode"> <xsd:documentation xml:lang="de">suchmodus<br/> 0 = exakte Suche 1 = Gro?/Kleinschreibung ignorieren 2 = Sonderzeichen ignorieren 4 = Linkstrunkierung 8 = Rechtstrunkierung Kombination der Modi durch Addition <xsd:restriction base="xsd:integer"> <xsd:pattern value="[0-15]"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="returnmode"> <xsd:documentation xml:lang="de">rueckgabemodus: 0 = komplettes museumvok-element 1 = SKOS-Element: about/labels/semanticrelations/notes (Bezeichnungen, Beziehungen und Semantik des Konzepts, keine Verwaltungsinformation) 2 = about/labels/semanticrelations (nur Bezeichnungen und Beziehungen, keine Definitionen/Beschreibungen/Anmerkungen, keine Verwaltungsinformation) 3 = about/labels (nur Bezeichnungen) <xsd:restriction base="xsd:integer"> <xsd:pattern value="[0-2]"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="direction"> <xsd:documentation xml:lang="de">suchrichtung in der Hierarchie: ASC = aufsteigend, Oberbegriffe DESC = absteigend, Unterbegriffe TOP = TopTerms, alle Begriffe der ersten Hierarchieebene <xsd:restriction base="xsd:string"> <xsd:enumeration value="asc"/> <xsd:enumeration value="desc"/> <xsd:enumeration value="top"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="statuscode"> <xsd:documentation xml:lang="de">rueckgabestatus / Fehlercodes:<br/> 0 = Ok.<br/> 101 = Authentifikation fehlgeschlagen.<br/> 102 = Funktion nicht realisiert.<br/> 103 = Suchparameter fehlerhaft: Keine IdList fuer Funktion searchconceptsbyid / Kein arrayofstrings uebergeben.<br/> Keine termlist fuer Funktion searchconceptsbyterm/ Kein arrayofstrings uebergeben. <br/> Keine Id fuer Funktion fetchhierarchy / Kein string uebergeben.<br/> Seite 35 / 35

Version 0.1 104 = Server nicht erreichbar / Uebergebener Parameter Server fehlerhaft.<br/> 105 = Schema existiert nicht / Uebergebener Parameter Schema fehlerhaft.<br/> 106 = Unzulaessiger searchmode-parameter fuer Funktion searchconceptsbyid oder searchconceptsbyterm<br/> 107 = Unzulaessiger returnmode-parameter fuer Funktion searchconceptsbyid oder searchconceptsbyterm<br/> 108 = Unzulaessiger level-parameter fuer Funktion fetchhierarchy / Kein integer-wert uebergeben.<br/> 109 = Unzulaessiger direction-parameter fuer Funktion fetchhierarchy<br/> <xsd:restriction base="xsd:integer"> <xsd:pattern value="[0,100-199]"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="searchfields"> <xsd:documentation xml:lang="de">angabe der zu durchsuchenden Bezeichnungen preflabel = Vorzugsbezeichnung altlabel = Alternative Bezeichnungen notation = Notation hiddenlabel = Versteckte Bezeichnungen <xsd:restriction base="xsd:string"> <xsd:enumeration value="altlabel"/> <xsd:enumeration value="hiddenlabel"/> <xsd:enumeration value="notation"/> <xsd:enumeration value="preflabel"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="sortfield"> <xsd:documentation xml:lang="de">sortierung nach about = ID preflabel = Vorzugsbezeichnung notation = Notation <xsd:restriction base="xsd:string"> <xsd:enumeration value="about"/> <xsd:enumeration value="notation"/> <xsd:enumeration value="preflabel"/> </xsd:restriction> </xsd:simpletype> <xsd:complextype name="baseconcept"> <xsd:documentation xml:lang="de"> Einfacher String, der entweder komplettes museumvok- Element oder Teile davon in XML-Syntax enthaelt. <br/> Kann ggf. zu strukturiertem Element ausgebaut werden. <xsd:all> <xsd:element maxoccurs="1" minoccurs="1" name="concept" type="xsd:string"/> </xsd:all> <!-- Nachfolgender Type wird derzeit nicht gebraucht --> Seite 36 / 36

Version 0.1 <xsd:complextype name="arrayofconcepts"> <xsd:complexcontent> <xsd:restriction base="soapenc:array"> <xsd:element maxoccurs="unbounded" minoccurs="0" name="oneconcept" type="mus:baseconcept"/> <xsd:attribute ref="soapenc:arraytype" wsdl:arraytype="xsd:string[]"/> </xsd:restriction> </xsd:complexcontent> <xsd:complextype name="searchresponsetype"> <!--xsd:complexcontent> <xsd:restriction base="soapenc:array"--> <xsd:element name="result" type="xsd:string"/> <xsd:element name="resultnumber" type="xsd:integer" minoccurs="0" maxoccurs="1"/> <xsd:element name="statuscode" type="xsd:integer" minoccurs="0" maxoccurs="1"/> <xsd:element name="session_id" type="xsd:string" minoccurs="0" maxoccurs="1"/> <!--/xsd:restriction> </xsd:complexcontent--> <xsd:complextype name="authentresponsetype"> <xsd:complexcontent> <xsd:restriction base="soapenc:array"> <xsd:element name="statuscode" type="mus:statuscode"/> <xsd:element name="session_id" type="xsd:string"/> </xsd:restriction> </xsd:complexcontent> </xsd:schema> </wsdl:types> <wsdl:message name="getallthesaurirequest"> <wsdl:part element="tns:getallthesauri" name="request"/> <wsdl:message name="getallthesauriresponse"> <wsdl:part element="tns:getallthesauriresponse" name="response"/> <wsdl:message name="getlanguagesrequest"> <wsdl:part name="request" element="tns:getlanguages"></wsdl:part> <wsdl:message name="getlanguagesresponse"> <wsdl:part name="response" element="tns:getlanguagesresponse"></wsdl:part> <wsdl:message name="queryrequest"> <wsdl:part name="request" element="tns:query"></wsdl:part> <wsdl:message name="queryresponse"> <wsdl:part name="response" element="tns:queryresponse"></wsdl:part> <wsdl:message name="getnodesrequest"> <wsdl:part name="request" element="tns:getnodes"></wsdl:part> Seite 37 / 37

Version 0.1 <wsdl:message name="getnodesresponse"> <wsdl:part name="response" element="tns:queryresponse"></wsdl:part> <wsdl:message name="getmetaattributerequest"> <wsdl:part name="request" element="tns:getmetaattribute"></wsdl:part> <wsdl:message name="getmetaattributeresponse"> <wsdl:part name="response" element="tns:getmetaattributeresponse"></wsdl:part> <wsdl:message name="loginrequest"> <wsdl:part name="request" element="tns:login"></wsdl:part> <wsdl:message name="loginresponse"> <wsdl:part name="response" element="tns:loginresponse"></wsdl:part> <wsdl:message name="logoutrequest"> <wsdl:part name="request" element="tns:logout"></wsdl:part> <wsdl:message name="logoutresponse"> <wsdl:part name="response" element="tns:logoutresponse"></wsdl:part> <wsdl:message name="createnoderequest"> <wsdl:part name="request" element="tns:createnode"></wsdl:part> <wsdl:message name="createnoderesponse"> <wsdl:part name="response" element="tns:manipulatednoderesponse"></wsdl:part> <wsdl:message name="updatenoderequest"> <wsdl:part name="request" element="tns:updatenode"></wsdl:part> <wsdl:message name="updatenoderesponse"> <wsdl:part name="response" element="tns:manipulatednoderesponse"></wsdl:part> <wsdl:message name="deletenoderequest"> <wsdl:part name="request" element="tns:deletenode"></wsdl:part> <wsdl:message name="deletenoderesponse"> <wsdl:part name="response" element="tns:deletenoderesponse"></wsdl:part> <wsdl:message name="setmetaattributerequest"> <wsdl:part name="request" element="tns:setmetaattribute"></wsdl:part> <wsdl:message name="setmetaattributeresponse"> <wsdl:part name="response" element="tns:setmetaattributeresponse"></wsdl:part> <wsdl:message name="importnodesrequest"> <wsdl:part name="request" element="tns:importnodes"></wsdl:part> <wsdl:message name="importnodesresponse"> <wsdl:part name="response" element="tns:importnodesresponse"></wsdl:part> <wsdl:message name="exportnodesrequest"> <wsdl:part name="request" element="tns:exportnodes"></wsdl:part> <wsdl:message name="exportnodesresponse"> <wsdl:part name="response" element="tns:exportnodesresponse"></wsdl:part> <wsdl:message name="scanindexrequest"> <wsdl:part name="request" element="tns:scanindex"></wsdl:part> <wsdl:message name="scanindexresponse"> <wsdl:part name="response" element="tns:scanindexresponse"></wsdl:part> Seite 38 / 38

Version 0.1 <wsdl:message name="searchconceptsbyidrequest"> <wsdl:part name="idlist" type="mus:arrayofstrings"/> <wsdl:part name="server" type="xsd:string"/> <wsdl:part name="schema" type="xsd:string"/> <wsdl:part name="sortfield" type="mus:sortfield"/> <wsdl:part name="returnmode" type="mus:returnmode"/> <wsdl:part name="returnnumberofconcepts" type="xsd:integer"/> <wsdl:part name="session_id" type="xsd:string"/> <wsdl:message name="searchconceptsbyidresponse"> <wsdl:part name="result" type="mus:searchresponsetype"/> <wsdl:message name="searchconceptsbytermrequest"> <wsdl:part name="termlist" type="mus:arrayofstrings"/> <wsdl:part name="server" type="xsd:string"/> <wsdl:part name="schema" type="xsd:string"/> <wsdl:part name="searchtermmode" type="mus:searchtermmode"/> <wsdl:part name="searchfields" type="mus:arrayofsearchfields"/> <wsdl:part name="searchlang" type="mus:arrayofstrings"/> <wsdl:part name="sortfield" type="mus:sortfield"/> <wsdl:part name="returnmode" type="mus:returnmode"/> <wsdl:part name="returnnumberofconcepts" type="xsd:integer"/> <wsdl:part name="session_id" type="xsd:string"/> <wsdl:message name="searchconceptsbytermresponse"> <wsdl:part name="result" type="mus:searchresponsetype"/> <wsdl:message name="fetchhierarchyrequest"> <wsdl:part name="id" type="xsd:string"/> <wsdl:part name="server" type="xsd:string"/> <wsdl:part name="schema" type="xsd:string"/> <wsdl:part name="level" type="xsd:integer"/> <wsdl:part name="direction" type="mus:direction"/> <wsdl:part name="returnmode" type="mus:returnmode"/> <wsdl:part name="returnnumberofconcepts" type="xsd:integer"/> <wsdl:part name="session_id" type="xsd:string"/> <wsdl:message name="fetchhierarchyresponse"> <wsdl:part name="result" type="mus:searchresponsetype"/> <wsdl:message name="getschememetadatarequest"> <wsdl:documentation> * schemelist An array of schemata of which requested information is returned. Default is "ALL": returns information about all available schemata. </wsdl:documentation> <wsdl:part name="schemelist" type="mus:arrayofstrings"/> <wsdl:part name="server" type="xsd:string"/> <wsdl:part name="returnmode" type="mus:returnmode"/> <wsdl:part name="returnnumberofconcepts" type="xsd:integer"/> <wsdl:part name="session_id" type="xsd:string"/> <wsdl:message name="getschememetadataresponse"> <wsdl:part name="result" type="mus:searchresponsetype"/> <wsdl:message name="loginrequest"> <wsdl:part name="username" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> <wsdl:message name="loginresponse"> <wsdl:part name="result" type="mus:authentresponsetype"/> Seite 39 / 39

Version 0.1 <wsdl:message name="logoutrequest"> <wsdl:part name="session_id" type="xsd:string"/> <wsdl:message name="logoutresponse"> <wsdl:part name="result" type="mus:authentresponsetype"/> <wsdl:porttype name="com.ait.service.thesaurus.thesaurus"> <wsdl:operation name="login"> <wsdl:documentation> Authenticate yourself to the system and get a sessionticket to execute operations on the thesaurus.</wsdl:documentation> <wsdl:input message="tns:loginrequest"></wsdl:input> <wsdl:output message="tns:loginresponse"></wsdl:output> <wsdl:operation name="logout"> <wsdl:documentation> Invalidate a session ticket immediately. </wsdl:documentation> <wsdl:input message="tns:logoutrequest"></wsdl:input> <wsdl:output message="tns:logoutresponse"></wsdl:output> <wsdl:operation name="getallthesauri"> <wsdl:documentation>retrieve a list of all thesauri accessable by this service.</wsdl:documentation> <wsdl:input message="tns:getallthesaurirequest"/> <wsdl:output message="tns:getallthesauriresponse"/> <wsdl:operation name="getlanguages"> <wsdl:documentation> Get a list of all languages available in the thesaurus. This will retrieve a list of languages for which entries do exist. However the thesaurus will need not be completly available in each language. </wsdl:documentation> <wsdl:input message="tns:getlanguagesrequest"></wsdl:input> <wsdl:output message="tns:getlanguagesresponse"></wsdl:output> <wsdl:operation name="query"> <wsdl:documentation> Query the thesaurus. This operation combines simple and complex query functionality.</wsdl:documentation> <wsdl:input message="tns:queryrequest"></wsdl:input> <wsdl:output message="tns:queryresponse"></wsdl:output> <wsdl:operation name="scanindex"> <wsdl:documentation>lookup terms from an index. This works with phrase indices only and will report all matching terms and their frequency in the thesaurus.</wsdl:documentation> <wsdl:input message="tns:scanindexrequest"></wsdl:input> <wsdl:output message="tns:scanindexresponse"></wsdl:output> <wsdl:operation name="getnodes"> <wsdl:documentation> Starting from a certain nodeid go up or down in the generic structure and retrieve the nodes. </wsdl:documentation> <wsdl:input message="tns:getnodesrequest"></wsdl:input> <wsdl:output message="tns:getnodesresponse"></wsdl:output> <wsdl:operation name="getmetaattribute"> <wsdl:documentation> Get a certain meta data attribute of a thesaurus node.</wsdl:documentation> <wsdl:input message="tns:getmetaattributerequest"></wsdl:input> Seite 40 / 40

Version 0.1 <wsdl:output message="tns:getmetaattributeresponse"></wsdl:output> <wsdl:operation name="createnode"> <wsdl:documentation> Add one or more nodes to the thesaurus that did not exist before. @param session_ticket The authentication token from the login @param thesaurus_name All following nodes are added to this thesauru @param node (list of nodes) Detailed operation: * If "@id" is given it must be a number and must not yet exist, if it is empty it will be auto assigned. * "@gs" will be automatically generated, overriding any value given * "BT" an existing parent node id. The created node will be added as the last child of the parent unless you specify it like {parent_id} '#' {previous_sibling_id}. An empty previous_sibling_id created the node as the first child of its parent. The first "BT" is always the broader term in the generic structure * "NT" if these nodes already exist in the thesaurus they will be moved to be children of the created node. </wsdl:documentation> <wsdl:input message="tns:createnoderequest"></wsdl:input> <wsdl:output message="tns:createnoderesponse"></wsdl:output> <wsdl:operation name="updatenode"> <wsdl:documentation> Changes the nodes content or moves the node in the hierachy. The generic structure (@gs) will be created automatically and override any value you set there. To move a node in the hierachy modify the broader (BT) and narrower (NT) terms fields of the node The operation will fail if the node id does not yet exist. Note: It is not possible to change the node's id. In that case you have to delete the node and create a new one. </wsdl:documentation> <wsdl:input message="tns:updatenoderequest"></wsdl:input> <wsdl:output message="tns:updatenoderesponse"></wsdl:output> <wsdl:operation name="deletenode"> <wsdl:documentation> Delete or slice one or more nodes from the theaurus. The operation will fail if the id does not exist.</wsdl:documentation> <wsdl:input message="tns:deletenoderequest"></wsdl:input> <wsdl:output message="tns:deletenoderesponse"></wsdl:output> <wsdl:operation name="setmetaattribute"> <wsdl:documentation> Set a meta attribute of a thesaurus node to a specific value. </wsdl:documentation> <wsdl:input message="tns:setmetaattributerequest"></wsdl:input> <wsdl:output message="tns:setmetaattributeresponse"></wsdl:output> <wsdl:operation name="importnodes"> <wsdl:documentation> Batch import nodes into the thesaurus. </wsdl:documentation> <wsdl:input message="tns:importnodesrequest"></wsdl:input> <wsdl:output message="tns:importnodesresponse"></wsdl:output> Seite 41 / 41

Version 0.1 <wsdl:operation name="exportnodes"> <wsdl:documentation> Batch export all nodes from the thesaurus. </wsdl:documentation> <wsdl:input message="tns:exportnodesrequest"></wsdl:input> <wsdl:output message="tns:exportnodesresponse"></wsdl:output> </wsdl:porttype> <wsdl:porttype name="com.ait.service.thesaurus.muesumvok"> <wsdl:operation name="searchconceptsbyid"> <wsdl:input message="tns:searchconceptsbyidrequest"/> <wsdl:output message="tns:searchconceptsbyidresponse"/> <wsdl:operation name="searchconceptsbyterm"> <wsdl:input message="tns:searchconceptsbytermrequest"/> <wsdl:output message="tns:searchconceptsbytermresponse"/> <wsdl:operation name="fetchhierarchy"> <wsdl:input message="tns:fetchhierarchyrequest"/> <wsdl:output message="tns:fetchhierarchyresponse"/> <wsdl:operation name="getschememetadata"> <wsdl:input message="tns:getschememetadatarequest"/> <wsdl:output message="tns:getschememetadataresponse"/> <wsdl:operation name="login"> <wsdl:input message="tns:loginrequest"/> <wsdl:output message="tns:loginresponse"/> <wsdl:operation name="logout"> <wsdl:input message="tns:logoutrequest"/> <wsdl:output message="tns:logoutresponse"/> </wsdl:porttype> <wsdl:binding name="thesauribinding" type="tns:com.ait.service.thesaurus.thesaurus"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="getallthesauri"> <soap:operation soapaction="http://www.aitbiz.com/ns/thesauri/getallthesauri" /> <wsdl:input> </wsdl:input> <wsdl:output> </wsdl:output> <wsdl:operation name="getlanguages"> <soap:operation soapaction="http://www.aitbiz.com/ns/thesauri/getlanguages" /> <wsdl:input> </wsdl:input> <wsdl:output> </wsdl:output> <wsdl:operation name="query"> <soap:operation Seite 42 / 42

Version 0.1 soapaction="http://www.aitbiz.com/ns/thesauri/query" /> <wsdl:input> </wsdl:input> <wsdl:output> </wsdl:output> <wsdl:operation name="getnodes"> <soap:operation soapaction="http://www.aitbiz.com/ns/thesauri/getnodes" /> <wsdl:input> </wsdl:input> <wsdl:output> </wsdl:output> <wsdl:operation name="getmetaattribute"> <soap:operation soapaction="http://www.aitbiz.com/ns/thesauri/getmetaattribute" /> <wsdl:input> </wsdl:input> <wsdl:output> </wsdl:output> <wsdl:operation name="login"> <soap:operation soapaction="http://www.aitbiz.com/ns/thesauri/login" /> <wsdl:input> </wsdl:input> <wsdl:output> </wsdl:output> <wsdl:operation name="logout"> <soap:operation soapaction="http://www.aitbiz.com/ns/thesauri/logout" /> <wsdl:input> </wsdl:input> <wsdl:output> </wsdl:output> <wsdl:operation name="createnode"> <soap:operation soapaction="http://www.aitbiz.com/ns/thesauri/createnode" /> <wsdl:input> </wsdl:input> <wsdl:output> </wsdl:output> <wsdl:operation name="updatenode"> <soap:operation soapaction="http://www.aitbiz.com/ns/thesauri/updatenode" /> <wsdl:input> Seite 43 / 43