<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://service.onki.seco.cs.helsinki.fi" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" targetNamespace="http://service.onki.seco.cs.helsinki.fi">
  <wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.onki.seco.cs.helsinki.fi">
<xsd:element name="getConceptTree">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>concept URI</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>language code (for concept labels)</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ArrayOfOnkiHierarchyRelation">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="OnkiHierarchyRelation" nillable="true" type="tns:OnkiHierarchyRelation"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OnkiHierarchyRelation">
<xsd:sequence>
<xsd:element minOccurs="0" name="conceptUri" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="indent" type="xsd:int"/>
<xsd:element minOccurs="0" name="label" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="parentUri" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="getConceptTreeResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="tns:ArrayOfOnkiHierarchyRelation"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getAvailableTypeUris">
<xsd:complexType/>
</xsd:element>
<xsd:complexType name="ArrayOfString">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="string" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="getAvailableTypeUrisResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="tns:ArrayOfString"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="search">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>query term</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>language code</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="xsd:int">
<xsd:annotation>
<xsd:documentation>maximum amount of hits</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in3" nillable="true" type="tns:ArrayOfString">
<xsd:annotation>
<xsd:documentation>Type restriction (array of URIs)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in4" nillable="true" type="tns:ArrayOfString">
<xsd:annotation>
<xsd:documentation>Parent restriction (array of URIs)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in5" nillable="true" type="tns:ArrayOfString">
<xsd:annotation>
<xsd:documentation>Group restriction (array of URIs)</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="OnkiQueryResults">
<xsd:sequence>
<xsd:element minOccurs="0" name="metadata" nillable="true" type="tns:OnkiQueryResultsMetadata"/>
<xsd:element minOccurs="0" name="results" nillable="true" type="tns:ArrayOfOnkiQueryResult"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArrayOfOnkiQueryResult">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="OnkiQueryResult" nillable="true" type="tns:OnkiQueryResult"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OnkiQueryResult">
<xsd:sequence>
<xsd:element minOccurs="0" name="altLabel" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="namespacePrefix" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="serkki" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="title" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="uri" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OnkiQueryResultsMetadata">
<xsd:sequence>
<xsd:element minOccurs="0" name="containingHitsAmount" type="xsd:int"/>
<xsd:element minOccurs="0" name="moreHits" type="xsd:boolean"/>
<xsd:element minOccurs="0" name="moreHitsAmount" type="xsd:int"/>
<xsd:element minOccurs="0" name="totalHitsAmount" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="searchResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="tns:OnkiQueryResults"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getProperties">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>concept URI</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="tns:ArrayOfString">
<xsd:annotation>
<xsd:documentation>property URIs, if only specific properties are needed</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>language code (for concept labels)</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ArrayOfStatement">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Statement" nillable="true" type="tns:Statement"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Statement">
<xsd:sequence>
<xsd:element minOccurs="0" name="label" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="lang" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="predicateLabel" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="predicateUri" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="uri" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="value" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="getPropertiesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="tns:ArrayOfStatement"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getAvailableLanguages">
<xsd:complexType/>
</xsd:element>
<xsd:element name="getAvailableLanguagesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="tns:ArrayOfString"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="expandQuery">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="tns:ArrayOfString">
<xsd:annotation>
<xsd:documentation>concept URIs</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>language code (for concept labels)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="xsd:int">
<xsd:annotation>
<xsd:documentation>maximum amount of expanded query concepts</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in3" nillable="true" type="tns:ArrayOfString">
<xsd:annotation>
<xsd:documentation>Type restriction (array of URIs)</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="expandQueryResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="tns:OnkiQueryResults"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getLabel">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>concept URI</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="xsd:string">
<xsd:annotation>
<xsd:documentation>language code</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getLabelResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="tns:OnkiQueryResult"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
  </wsdl:types>
  <wsdl:message name="getAvailableLanguagesRequest">
    <wsdl:part name="parameters" element="tns:getAvailableLanguages">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getConceptTreeResponse">
    <wsdl:part name="parameters" element="tns:getConceptTreeResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAvailableTypeUrisRequest">
    <wsdl:part name="parameters" element="tns:getAvailableTypeUris">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getLabelRequest">
    <wsdl:part name="parameters" element="tns:getLabel">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getLabelResponse">
    <wsdl:part name="parameters" element="tns:getLabelResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="expandQueryResponse">
    <wsdl:part name="parameters" element="tns:expandQueryResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPropertiesResponse">
    <wsdl:part name="parameters" element="tns:getPropertiesResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="expandQueryRequest">
    <wsdl:part name="parameters" element="tns:expandQuery">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="searchResponse">
    <wsdl:part name="parameters" element="tns:searchResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAvailableTypeUrisResponse">
    <wsdl:part name="parameters" element="tns:getAvailableTypeUrisResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="searchRequest">
    <wsdl:part name="parameters" element="tns:search">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getPropertiesRequest">
    <wsdl:part name="parameters" element="tns:getProperties">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAvailableLanguagesResponse">
    <wsdl:part name="parameters" element="tns:getAvailableLanguagesResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getConceptTreeRequest">
    <wsdl:part name="parameters" element="tns:getConceptTree">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="IOnkiQueryPortType">
<wsdl:documentation/>
    <wsdl:operation name="getConceptTree">
<wsdl:documentation/>
      <wsdl:input name="getConceptTreeRequest" message="tns:getConceptTreeRequest">
    </wsdl:input>
      <wsdl:output name="getConceptTreeResponse" message="tns:getConceptTreeResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAvailableTypeUris">
<wsdl:documentation/>
      <wsdl:input name="getAvailableTypeUrisRequest" message="tns:getAvailableTypeUrisRequest">
    </wsdl:input>
      <wsdl:output name="getAvailableTypeUrisResponse" message="tns:getAvailableTypeUrisResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="search">
<wsdl:documentation/>
      <wsdl:input name="searchRequest" message="tns:searchRequest">
    </wsdl:input>
      <wsdl:output name="searchResponse" message="tns:searchResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getProperties">
<wsdl:documentation/>
      <wsdl:input name="getPropertiesRequest" message="tns:getPropertiesRequest">
    </wsdl:input>
      <wsdl:output name="getPropertiesResponse" message="tns:getPropertiesResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAvailableLanguages">
<wsdl:documentation/>
      <wsdl:input name="getAvailableLanguagesRequest" message="tns:getAvailableLanguagesRequest">
    </wsdl:input>
      <wsdl:output name="getAvailableLanguagesResponse" message="tns:getAvailableLanguagesResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="expandQuery">
<wsdl:documentation/>
      <wsdl:input name="expandQueryRequest" message="tns:expandQueryRequest">
    </wsdl:input>
      <wsdl:output name="expandQueryResponse" message="tns:expandQueryResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getLabel">
<wsdl:documentation/>
      <wsdl:input name="getLabelRequest" message="tns:getLabelRequest">
    </wsdl:input>
      <wsdl:output name="getLabelResponse" message="tns:getLabelResponse">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="IOnkiQueryHttpBinding" type="tns:IOnkiQueryPortType">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getConceptTree">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="getConceptTreeRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getConceptTreeResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAvailableTypeUris">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="getAvailableTypeUrisRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getAvailableTypeUrisResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="search">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="searchRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="searchResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getProperties">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="getPropertiesRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getPropertiesResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAvailableLanguages">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="getAvailableLanguagesRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getAvailableLanguagesResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="expandQuery">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="expandQueryRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="expandQueryResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getLabel">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="getLabelRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getLabelResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="IOnkiQuery">
    <wsdl:port name="onkiQuery" binding="tns:IOnkiQueryHttpBinding">
      <wsdlsoap:address location="http://onki.fi/key-{ONKI Key}/api/v1/soap/yso"/>
    </wsdl:port>
    <wsdl:port name="IOnkiQueryHttpPort" binding="tns:IOnkiQueryHttpBinding">
      <wsdlsoap:address location="http://onki.fi/key-{ONKI Key}/api/v1/soap/yso"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
