Saturday, February 25, 2017

Singleton implementation two ways : Traditional & using single enum

Singleton can be implemented in two ways.
  1. Traditional way of static instance object and private constructor
  2. using Single object enum
Second way needs less coding.
I was comparing the the two approaches with respect to ways to override singleton behaviour and care to be taken by programmer
1) Cloning
In traditional way do not implement clonable interface or throw error in clone() method. In Enum way it is not needed as cloning is not possible as enum can not implement clonable method
2) Create object through reflection
In traditional way throw error in constructor if instance is already intialized. In Enum way it is not needed as we cannot reflectively create enum objects. It throws error " java.lang.IllegalArgumentException: Cannot reflectively create enum objects"
3) Serialization-deserialization
In traditional implement serializable interface or if implemented readResolve() method to return same instance.
Now in Enum are by default serializable. But we do not need to implement any method. Also serialization of Enum only saves Enum name. Other fields are not serialized.
So on deserialization it automatically returns reference to existing instance of enum. So latest info is available.  
Refer
http://stackoverflow.com/questions/42465564/readresolve-not-called-during-enum-desrialization/42466469#42466469
https://docs.oracle.com/javase/7/docs/platform/serialization/spec/serial-arch.html#6469

Below is the code
Traditional way singleton
package desgnpattern;

import java.io.ObjectStreamException;
import java.io.Serializable;


public class MySingleton implements  Cloneable , Serializable{
private static MySingleton instance = null;
private int age;
private String name;
private MySingleton(int age, String name){
if(instance!=null) throw new RuntimeException("Do not try to create class through reflection");
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public static MySingleton getInstance(){
if(instance==null){
instance= new MySingleton(21, "narendra");
}
return instance;

}

@Override
public Object clone() throws CloneNotSupportedException {
throw new RuntimeException("Do not try to create class through reflection");
}


 //Hook for not breaking the singleton pattern while deserializing.
    private Object readResolve() throws ObjectStreamException {
    System.out.println("The constructed obejct has age="+age+" name="+name);
    System.out.println("But now returning same instance");
          return instance;
    }

    public void print(){
    System.out.println(getAge()+" ...."+getName());
    }
}


Test traditional singleton
public class SingletonCaller {

public static void main(String[] args) throws CloneNotSupportedException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, FileNotFoundException, IOException, ClassNotFoundException {
// TODO Auto-generated method stub
//System.out.println(MySingleton.CM.getAge()+" ...."+MySingleton.CM.getName());

// Get singleton object
MySingleton ms1= MySingleton.getInstance();
System.out.println(ms1);
ms1.print();

//tryClone();
//tryReflection();
trySerialization();


}

public static void  tryClone() throws CloneNotSupportedException{
//Try cloning it is disabled
MySingleton clonedOnj = (MySingleton)MySingleton.getInstance().clone();
System.out.println(clonedOnj);
clonedOnj.print();
}

public static void  tryReflection() throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
// Call constructor using it is disabled
Constructor<?>[] constructArray= MySingleton.class.getDeclaredConstructors();
constructArray[0].setAccessible(true);
MySingleton reflectedobject = (MySingleton)constructArray[0].newInstance(31,"Kaushik");
System.out.println(reflectedobject);
reflectedobject.print();
}

public static void  trySerialization() throws FileNotFoundException, IOException, ClassNotFoundException{
String filePath = "d:\\kaushik\\kaushik26Feb.txt";
File f = new File(filePath);
f.createNewFile();

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(filePath));
oos.writeObject(MySingleton.getInstance());
oos.close();
MySingleton.getInstance().setAge(999);
MySingleton.getInstance().setName("Before deserialize");
System.out.println("Printing values before deserialize");
MySingleton.getInstance().print();
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filePath));
MySingleton deserializedObj = (MySingleton)ois.readObject();

System.out.println(deserializedObj);
System.out.println(deserializedObj.getAge()+" ...."+deserializedObj.getName());

if(deserializedObj==MySingleton.getInstance()){
System.out.println("Same instance");
}else{
System.out.println("Different instance");
}
}
}


One Enum singleton
package desgnpattern;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectStreamException;
import java.io.Serializable;


/* New way of declaring singleton is create enum class and create one instance of enum */
public enum MySingletonEnum {
instance(41,"Devendra"),
instance2(42,"Devendra");

private MySingletonEnum(int age, String name){
this.age = age;
this.name = name;
}

private int age;
private String name;

public int getAge() {
return age;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public static MySingletonEnum getInstance(){
return instance;
}

public void print(){
System.out.println(getAge()+" ...."+getName());
    }

 //Hook for not breaking the singleton pattern while deserializing.
    private Object readResolve() throws ObjectStreamException {
    System.out.println("The constructed obejct has age="+age+" name="+name);
    System.out.println("But now returning same instance");
          return instance;
    }
    
    private void readObject(ObjectInputStream ois)
    throws ClassNotFoundException, IOException {
    System.out.println("In readObject");
       // default deserialization
       ois.defaultReadObject();
       MySingletonEnum obj = (MySingletonEnum)ois.readObject(); // Replace with real deserialization
       obj.print();
    }
}



Test one Enum Singleton

package desgnpattern;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class EnumSingletonCaller {

public static void main(String[] args) throws CloneNotSupportedException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, FileNotFoundException, IOException, ClassNotFoundException {

// Get singleton object
MySingletonEnum ms1= MySingletonEnum.getInstance();
System.out.println(ms1);
ms1.print();

// Cloning is not possible as enum can not implement clonable method

// Cannot reflectively create enum objects. So without extra code in constructor this case is automatically handled
//tryReflection();

trySerialization();


}


public static void  tryReflection() throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
// Call constructor using it is disabled
Constructor<?>[] constructArray= MySingletonEnum.class.getDeclaredConstructors();
constructArray[0].setAccessible(true);

// This method will throw errror
// java.lang.IllegalArgumentException: Cannot reflectively create enum objects
MySingletonEnum reflectedobject = (MySingletonEnum)constructArray[0].newInstance(31,"Kaushik");
System.out.println(reflectedobject);
reflectedobject.print();
}

public static void  trySerialization() throws FileNotFoundException, IOException, ClassNotFoundException{
String filePath = "d:\\kaushik\\kaushik26Feb.txt";
File f = new File(filePath);
f.createNewFile();

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(filePath));
oos.writeObject(MySingletonEnum.getInstance());
oos.close();
MySingletonEnum.getInstance().setAge(999);
MySingletonEnum.getInstance().setName("Before deserialize");
System.out.println("Printing values before deserialize");
MySingletonEnum.getInstance().print();
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filePath));
MySingletonEnum deserializedObj = (MySingletonEnum)ois.readObject();

System.out.println("deserializedObj="+deserializedObj);
System.out.println(deserializedObj.getAge()+" ...."+deserializedObj.getName());

if(deserializedObj==MySingletonEnum.getInstance()){
System.out.println("Same instance");
}else{
System.out.println("Different instance");
}
}
}


Saturday, May 30, 2015

AlchemyAPI text analysis sample XML, XSD and Java class

By calling TextGetCombined() API of AlchemyAPI to get result XML.
Then it was converted to XSD.
And from XSD java class was created.

I have shared all the three below.

**************  XML ****************** 
File name =CallCenterConversation_1.txt
<?xml version="1.0" encoding="UTF-8" standalone="no"?><results>
    <status>OK</status>
    <usage>By accessing AlchemyAPI or using information generated by AlchemyAPI, you are agreeing to be bound by the AlchemyAPI Terms of Use: http://www.alchemyapi.com/company/terms.html</usage>
    <totalTransactions>8</totalTransactions>
    <language>english</language>
    <docSentiment>
        <type>positive</type>
        <score>0.00469414</score>
        <mixed>1</mixed>
    </docSentiment>
    <keywords>
        <keyword>
            <text>Agent</text>
            <relevance>0.99457</relevance>
        </keyword>
        <keyword>
            <text>Customer</text>
            <relevance>0.899203</relevance>
        </keyword>
        <keyword>
            <text>Rocket Speed Internet</text>
            <relevance>0.722569</relevance>
        </keyword>
        <keyword>
            <text>DSL light</text>
            <relevance>0.720473</relevance>
        </keyword>
        <keyword>
            <text>account number</text>
            <relevance>0.66475</relevance>
        </keyword>
        <keyword>
            <text>gray phone cord</text>
            <relevance>0.645014</relevance>
        </keyword>
        <keyword>
            <text>dsl signal</text>
            <relevance>0.499255</relevance>
        </keyword>
        <keyword>
            <text>test results</text>
            <relevance>0.487799</relevance>
        </keyword>
        <keyword>
            <text>Robert W. Smith</text>
            <relevance>0.471284</relevance>
        </keyword>
        <keyword>
            <text>modem</text>
            <relevance>0.463742</relevance>
        </keyword>
        <keyword>
            <text>hard time hearing</text>
            <relevance>0.455945</relevance>
        </keyword>
        <keyword>
            <text>initial test results</text>
            <relevance>0.438599</relevance>
        </keyword>
        <keyword>
            <text>loose phone cord</text>
            <relevance>0.426741</relevance>
        </keyword>
        <keyword>
            <text>steady green light</text>
            <relevance>0.425212</relevance>
        </keyword>
        <keyword>
            <text>DSL line</text>
            <relevance>0.362136</relevance>
        </keyword>
        <keyword>
            <text>account information</text>
            <relevance>0.356255</relevance>
        </keyword>
        <keyword>
            <text>decent service</text>
            <relevance>0.349596</relevance>
        </keyword>
        <keyword>
            <text>anymore questions</text>
            <relevance>0.342656</relevance>
        </keyword>
        <keyword>
            <text>network problems</text>
            <relevance>0.341432</relevance>
        </keyword>
        <keyword>
            <text>account holder</text>
            <relevance>0.340769</relevance>
        </keyword>
        <keyword>
            <text>happy camper</text>
            <relevance>0.335368</relevance>
        </keyword>
        <keyword>
            <text>Ethernet lights</text>
            <relevance>0.333699</relevance>
        </keyword>
        <keyword>
            <text>dispatch charges</text>
            <relevance>0.329747</relevance>
        </keyword>
        <keyword>
            <text>good thing</text>
            <relevance>0.329204</relevance>
        </keyword>
        <keyword>
            <text>miracle worker</text>
            <relevance>0.328766</relevance>
        </keyword>
        <keyword>
            <text>great job</text>
            <relevance>0.325238</relevance>
        </keyword>
        <keyword>
            <text>email</text>
            <relevance>0.308005</relevance>
        </keyword>
        <keyword>
            <text>jerry</text>
            <relevance>0.30301</relevance>
        </keyword>
        <keyword>
            <text>steps</text>
            <relevance>0.294926</relevance>
        </keyword>
        <keyword>
            <text>patience</text>
            <relevance>0.271366</relevance>
        </keyword>
    </keywords>
    <concepts>
        <concept>
            <text>2008 singles</text>
            <relevance>0.936935</relevance>
            <dbpedia>http://dbpedia.org/resource/2008_singles</dbpedia>
        </concept>
        <concept>
            <text>2008 albums</text>
            <relevance>0.88221</relevance>
            <dbpedia>http://dbpedia.org/resource/2008_albums</dbpedia>
        </concept>
        <concept>
            <text>Digital Subscriber Line</text>
            <relevance>0.84942</relevance>
            <dbpedia>http://dbpedia.org/resource/Digital_Subscriber_Line</dbpedia>
        </concept>
        <concept>
            <text>Asymmetric Digital Subscriber Line</text>
            <relevance>0.779277</relevance>
            <dbpedia>http://dbpedia.org/resource/Asymmetric_Digital_Subscriber_Line</dbpedia>
            <opencyc>http://sw.opencyc.org/concept/Mx4rvc0WLJwpEbGdrcN5Y29ycA</opencyc>
            <yago>http://yago-knowledge.org/resource/Asymmetric_Digital_Subscriber_Line</yago>
        </concept>
        <concept>
            <text>Light</text>
            <relevance>0.771708</relevance>
            <dbpedia>http://dbpedia.org/resource/Light</dbpedia>
            <freebase>http://rdf.freebase.com/ns/m.04k84</freebase>
            <opencyc>http://sw.opencyc.org/concept/Mx4rv6bf0ZwpEbGdrcN5Y29ycA</opencyc>
        </concept>
        <concept>
            <text>English-language films</text>
            <relevance>0.762024</relevance>
            <dbpedia>http://dbpedia.org/resource/English-language_films</dbpedia>
        </concept>
        <concept>
            <text>2005 singles</text>
            <relevance>0.652106</relevance>
            <dbpedia>http://dbpedia.org/resource/2005_singles</dbpedia>
        </concept>
        <concept>
            <text>Billboard Hot 100 number-one singles</text>
            <relevance>0.641938</relevance>
            <dbpedia>http://dbpedia.org/resource/Billboard_Hot_100_number-one_singles</dbpedia>
        </concept>
    </concepts>
    <entities>
        <entity>
            <type>Technology</type>
            <relevance>0.887613</relevance>
            <count>7</count>
            <text>DSL</text>
        </entity>
        <entity>
            <type>Person</type>
            <relevance>0.559098</relevance>
            <count>5</count>
            <text>JERRY</text>
        </entity>
        <entity>
            <type>Person</type>
            <relevance>0.342859</relevance>
            <count>1</count>
            <text>Robert W. Smith</text>
            <disambiguated>
                <name>Robert W. Smith</name>
                <subType>Composer</subType>
                <subType>MusicalArtist</subType>
                <website>http://www.barnhouse.com/composers.php?id=350</website>
                <dbpedia>http://dbpedia.org/resource/Robert_W._Smith</dbpedia>
                <freebase>http://rdf.freebase.com/ns/m.07880k</freebase>
                <yago>http://yago-knowledge.org/resource/Robert_W._Smith</yago>
            </disambiguated>
        </entity>
    </entities>
    <relations>
        <relation>
            <sentence>Agent: Thank you for Calling, Rocket Speed Internet.</sentence>
            <subject>
                <text>you</text>
            </subject>
            <action>
                <text>Thank</text>
                <lemmatized>Thank</lemmatized>
                <verb>
                    <text>Thank</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>for Calling, Rocket Speed Internet</text>
                <keywords>
                    <keyword>
                        <text>Rocket Speed Internet</text>
                    </keyword>
                    <keyword>
                        <text>Calling</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Customer: I'm sorry, can you please, repeat yourself?</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>am</text>
                <lemmatized>be</lemmatized>
                <verb>
                    <text>be</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>sorry</text>
            </object>
        </relation>
        <relation>
            <sentence> Agent: I'm sorry, can you hear me OK now?</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>am</text>
                <lemmatized>be</lemmatized>
                <verb>
                    <text>be</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>sorry, can you hear me OK now</text>
            </object>
        </relation>
        <relation>
            <sentence> Agent: I'm sorry, can you hear me OK now?</sentence>
            <subject>
                <text>me</text>
            </subject>
            <action>
                <text>OK</text>
                <lemmatized>OK</lemmatized>
                <verb>
                    <text>OK</text>
                    <tense>future</tense>
                </verb>
            </action>
        </relation>
        <relation>
            <sentence> I was asking you, about your Phone or Account Number?</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>was</text>
                <lemmatized>be</lemmatized>
                <verb>
                    <text>be</text>
                    <tense>past</tense>
                </verb>
            </action>
            <object>
                <text>asking you, about your Phone or Account Number</text>
                <keywords>
                    <keyword>
                        <text>Account Number</text>
                    </keyword>
                    <keyword>
                        <text>Phone</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Customer: Well, before I give you my account information, I just wanna let you know that I'm really pissed.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>give</text>
                <lemmatized>give</lemmatized>
                <verb>
                    <text>give</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>my account information</text>
                <keywords>
                    <keyword>
                        <text>account information</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Customer: Well, before I give you my account information, I just wanna let you know that I'm really pissed.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>wanna let</text>
                <lemmatized>wanna let</lemmatized>
                <verb>
                    <text>wan</text>
                    <tense>present</tense>
                </verb>
            </action>
        </relation>
        <relation>
            <sentence> Customer: Well, before I give you my account information, I just wanna let you know that I'm really pissed.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>wanna let</text>
                <lemmatized>wanna let</lemmatized>
                <verb>
                    <text>let</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>you know that I'm really pissed</text>
            </object>
        </relation>
        <relation>
            <sentence> Customer: Well, before I give you my account information, I just wanna let you know that I'm really pissed.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>am</text>
                <lemmatized>be</lemmatized>
                <verb>
                    <text>be</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>really pissed</text>
            </object>
        </relation>
        <relation>
            <sentence> I can't access my email for almost a week now.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>access</text>
                <lemmatized>access</lemmatized>
                <verb>
                    <text>access</text>
                    <tense>future</tense>
                    <negated>1</negated>
                </verb>
            </action>
            <object>
                <text>my email</text>
                <keywords>
                    <keyword>
                        <text>email</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> I'm paying you guys lots of money, and you can't even provide a decent service.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>paying</text>
                <lemmatized>pay</lemmatized>
                <verb>
                    <text>pay</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>you guys lots of money</text>
                <keywords>
                    <keyword>
                        <text>guys</text>
                    </keyword>
                    <keyword>
                        <text>money</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> I'm paying you guys lots of money, and you can't even provide a decent service.</sentence>
            <subject>
                <text>you</text>
            </subject>
            <action>
                <text>provide</text>
                <lemmatized>provide</lemmatized>
                <verb>
                    <text>provide</text>
                    <tense>future</tense>
                    <negated>1</negated>
                </verb>
            </action>
            <object>
                <text>a decent service</text>
                <keywords>
                    <keyword>
                        <text>decent service</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Agent: I'm really sorry for the inconvenience, I would probably feel the same way if I'm in your situation.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>would probably feel</text>
                <lemmatized>would probably feel</lemmatized>
                <verb>
                    <text>feel</text>
                    <tense>future</tense>
                </verb>
            </action>
            <object>
                <text>the same way if I'm in your situation</text>
                <keywords>
                    <keyword>
                        <text>situation</text>
                    </keyword>
                    <keyword>
                        <text>way</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Agent: I'm really sorry for the inconvenience, I would probably feel the same way if I'm in your situation.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>am</text>
                <lemmatized>be</lemmatized>
                <verb>
                    <text>be</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>in your situation</text>
                <keywords>
                    <keyword>
                        <text>situation</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> But, don't worry, I promise you that we'll get your issue resolved.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>promise</text>
                <lemmatized>promise</lemmatized>
                <verb>
                    <text>promise</text>
                    <tense>future</tense>
                </verb>
            </action>
            <object>
                <text>you</text>
            </object>
        </relation>
        <relation>
            <sentence> But, don't worry, I promise you that we'll get your issue resolved.</sentence>
            <subject>
                <text>we</text>
            </subject>
            <action>
                <text>get</text>
                <lemmatized>get</lemmatized>
                <verb>
                    <text>get</text>
                    <tense>future</tense>
                </verb>
            </action>
            <object>
                <text>your issue</text>
                <keywords>
                    <keyword>
                        <text>issue</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Let me get first your account number so we can check your account, would that be ok?!</sentence>
            <subject>
                <text>me</text>
            </subject>
            <action>
                <text>get</text>
                <lemmatized>get</lemmatized>
                <verb>
                    <text>get</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>first your account number</text>
                <keywords>
                    <keyword>
                        <text>account number</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Let me get first your account number so we can check your account, would that be ok?!</sentence>
            <subject>
                <text>we</text>
            </subject>
            <action>
                <text>can check</text>
                <lemmatized>can check</lemmatized>
                <verb>
                    <text>check</text>
                    <tense>future</tense>
                </verb>
            </action>
            <object>
                <text>your account</text>
                <keywords>
                    <keyword>
                        <text>account</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Customer: Sure, my account number is 860-995-****</sentence>
            <subject>
                <text>my account number</text>
                <keywords>
                    <keyword>
                        <text>account number</text>
                    </keyword>
                </keywords>
            </subject>
            <action>
                <text>is</text>
                <lemmatized>be</lemmatized>
                <verb>
                    <text>be</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>860-995-****</text>
            </object>
        </relation>
        <relation>
            <sentence> Agent: Got it, may I please verify the name on the account?</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>please</text>
                <lemmatized>please</lemmatized>
                <verb>
                    <text>please</text>
                    <tense>future</tense>
                </verb>
            </action>
            <object>
                <text>verify the name on the account</text>
                <keywords>
                    <keyword>
                        <text>account</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Agent: Got it, may I please verify the name on the account?</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>please verify</text>
                <lemmatized>please verify</lemmatized>
                <verb>
                    <text>verify</text>
                    <tense>future</tense>
                </verb>
            </action>
            <object>
                <text>the name</text>
            </object>
            <location>
                <text>on the account</text>
            </location>
        </relation>
        <relation>
            <sentence> Customer: It's Robert W. Smith, I am the account holder.</sentence>
            <subject>
                <text>It</text>
            </subject>
            <action>
                <text>has</text>
                <lemmatized>has</lemmatized>
                <verb>
                    <text>has</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>Robert W. Smith</text>
                <entities>
                    <entity>
                        <type>Person</type>
                        <text>Robert W. Smith</text>
                            <disambiguated>
                                <name>Robert W. Smith</name>
                                <subType>Composer</subType>
                                <subType>MusicalArtist</subType>
                                <website>http://www.barnhouse.com/composers.php?id=350</website>
                                <dbpedia>http://dbpedia.org/resource/Robert_W._Smith</dbpedia>
                                <freebase>http://rdf.freebase.com/ns/m.07880k</freebase>
                                <yago>http://yago-knowledge.org/resource/Robert_W._Smith</yago>
                            </disambiguated>
                    </entity>
                </entities>
                <keywords>
                    <keyword>
                        <text>Robert W. Smith</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Customer: It's Robert W. Smith, I am the account holder.</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>am</text>
                <lemmatized>be</lemmatized>
                <verb>
                    <text>be</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>the account holder</text>
                <keywords>
                    <keyword>
                        <text>account holder</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Agent: Can we call you back at the same number, or do you have a better call back number?</sentence>
            <subject>
                <text>we</text>
            </subject>
            <action>
                <text>call</text>
                <lemmatized>call</lemmatized>
                <verb>
                    <text>call</text>
                    <tense>future</tense>
                </verb>
            </action>
            <object>
                <text>you</text>
            </object>
        </relation>
        <relation>
            <sentence> Agent: Can we call you back at the same number, or do you have a better call back number?</sentence>
            <subject>
                <text>you</text>
            </subject>
            <action>
                <text>have</text>
                <lemmatized>have</lemmatized>
                <verb>
                    <text>have</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>a better call back number</text>
                <keywords>
                    <keyword>
                        <text>number</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Customer: I'm sorry, I'm having a hard time hearing, can you please, repeat yourself?</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>am</text>
                <lemmatized>be</lemmatized>
                <verb>
                    <text>be</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>sorry</text>
            </object>
        </relation>
        <relation>
            <sentence> Customer: I'm sorry, I'm having a hard time hearing, can you please, repeat yourself?</sentence>
            <subject>
                <text>I</text>
            </subject>
            <action>
                <text>having</text>
                <lemmatized>have</lemmatized>
                <verb>
                    <text>have</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>a hard time hearing</text>
                <keywords>
                    <keyword>
                        <text>hard time hearing</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Agent: Sure, I was just asking you, if we can call you at the same number you gave me, or if you have a better call back number?</sentence>
            <subject>
                <text>we</text>
            </subject>
            <action>
                <text>can call</text>
                <lemmatized>can call</lemmatized>
                <verb>
                    <text>call</text>
                    <tense>future</tense>
                </verb>
            </action>
            <object>
                <text>at the same number you gave me</text>
                <keywords>
                    <keyword>
                        <text>number</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Agent: Sure, I was just asking you, if we can call you at the same number you gave me, or if you have a better call back number?</sentence>
            <subject>
                <text>you</text>
            </subject>
            <action>
                <text>have</text>
                <lemmatized>have</lemmatized>
                <verb>
                    <text>have</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>a better call back number</text>
                <keywords>
                    <keyword>
                        <text>number</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
        <relation>
            <sentence> Customer: Yes, that's a good call back number.</sentence>
            <subject>
                <text>that</text>
            </subject>
            <action>
                <text>has</text>
                <lemmatized>has</lemmatized>
                <verb>
                    <text>has</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>a good call back number</text>
                <keywords>
                    <keyword>
                        <text>number</text>
                    </keyword>
                </keywords>
            </object>
        </relation>
    </relations>
    <taxonomy>
        <element>
            <label>/technology and computing/hardware/computer networking/router</label>
            <score>0.517866</score>
        </element>
        <element>
            <label>/finance/bank/bank account</label>
            <score>0.456364</score>
        </element>
        <element>
            <confident>no</confident>
            <label>/technology and computing/hardware/computer</label>
            <score>0.394801</score>
        </element>
    </taxonomy>
</results>


By convertingXML into XSD using 
http://www.freeformatter.com/xsd-generator.html

We get XSD as


**************  XSD ********************** 

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="results">
    <xs:complexType>
      <xs:sequence>
        <xs:element type="xs:string" name="status"/>
        <xs:element type="xs:string" name="usage"/>
        <xs:element type="xs:byte" name="totalTransactions"/>
        <xs:element type="xs:string" name="language"/>
        <xs:element name="docSentiment">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="type"/>
              <xs:element type="xs:float" name="score"/>
              <xs:element type="xs:byte" name="mixed"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="keywords">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="keyword" maxOccurs="unbounded" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="text"/>
                    <xs:element type="xs:float" name="relevance"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="concepts">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="concept" maxOccurs="unbounded" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="text"/>
                    <xs:element type="xs:float" name="relevance"/>
                    <xs:element type="xs:anyURI" name="dbpedia"/>
                    <xs:element type="xs:anyURI" name="freebase" minOccurs="0"/>
                    <xs:element type="xs:anyURI" name="opencyc" minOccurs="0"/>
                    <xs:element type="xs:anyURI" name="yago" minOccurs="0"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="entities">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="entity" maxOccurs="unbounded" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="type"/>
                    <xs:element type="xs:float" name="relevance"/>
                    <xs:element type="xs:byte" name="count"/>
                    <xs:element type="xs:string" name="text"/>
                    <xs:element name="disambiguated" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="name"/>
                          <xs:element type="xs:string" name="subType" maxOccurs="unbounded" minOccurs="0"/>
                          <xs:element type="xs:anyURI" name="website"/>
                          <xs:element type="xs:anyURI" name="dbpedia"/>
                          <xs:element type="xs:anyURI" name="freebase"/>
                          <xs:element type="xs:anyURI" name="yago"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="relations">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="relation" maxOccurs="unbounded" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="sentence"/>
                    <xs:element name="subject">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="text"/>
                          <xs:element name="keywords" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="keyword">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element type="xs:string" name="text"/>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="action">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="text"/>
                          <xs:element type="xs:string" name="lemmatized"/>
                          <xs:element name="verb">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element type="xs:string" name="text"/>
                                <xs:element type="xs:string" name="tense"/>
                                <xs:element type="xs:byte" name="negated" minOccurs="0"/>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="object" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="text"/>
                          <xs:element name="entities" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="entity">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element type="xs:string" name="type"/>
                                      <xs:element type="xs:string" name="text"/>
                                      <xs:element name="disambiguated">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element type="xs:string" name="name"/>
                                            <xs:element type="xs:string" name="subType" maxOccurs="unbounded" minOccurs="0"/>
                                            <xs:element type="xs:anyURI" name="website"/>
                                            <xs:element type="xs:anyURI" name="dbpedia"/>
                                            <xs:element type="xs:anyURI" name="freebase"/>
                                            <xs:element type="xs:anyURI" name="yago"/>
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="keywords" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="keyword" maxOccurs="unbounded" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element type="xs:string" name="text"/>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="location" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="text"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="taxonomy">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="element" maxOccurs="unbounded" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="confident" minOccurs="0"/>
                    <xs:element type="xs:string" name="label"/>
                    <xs:element type="xs:float" name="score"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

**************  Java Class ****************** 
Using JAXB to generate Java class from it, we get result as

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2015.05.30 at 01:20:10 PM IST 
//


package de.demo.team;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for anonymous complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="status" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="usage" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="totalTransactions" type="{http://www.w3.org/2001/XMLSchema}byte"/&gt;
 *         &lt;element name="language" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="docSentiment"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                   &lt;element name="score" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
 *                   &lt;element name="mixed" type="{http://www.w3.org/2001/XMLSchema}byte"/&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="keywords"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="keyword" maxOccurs="unbounded" minOccurs="0"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                             &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="concepts"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="concept" maxOccurs="unbounded" minOccurs="0"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                             &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
 *                             &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                             &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
 *                             &lt;element name="opencyc" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
 *                             &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="entities"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="entity" maxOccurs="unbounded" minOccurs="0"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                             &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
 *                             &lt;element name="count" type="{http://www.w3.org/2001/XMLSchema}byte"/&gt;
 *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                             &lt;element name="disambiguated" minOccurs="0"&gt;
 *                               &lt;complexType&gt;
 *                                 &lt;complexContent&gt;
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                     &lt;sequence&gt;
 *                                       &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                       &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
 *                                       &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                                       &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                                       &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                                       &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                                     &lt;/sequence&gt;
 *                                   &lt;/restriction&gt;
 *                                 &lt;/complexContent&gt;
 *                               &lt;/complexType&gt;
 *                             &lt;/element&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="relations"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="relation" maxOccurs="unbounded" minOccurs="0"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="sentence" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                             &lt;element name="subject"&gt;
 *                               &lt;complexType&gt;
 *                                 &lt;complexContent&gt;
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                     &lt;sequence&gt;
 *                                       &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                       &lt;element name="keywords" minOccurs="0"&gt;
 *                                         &lt;complexType&gt;
 *                                           &lt;complexContent&gt;
 *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                               &lt;sequence&gt;
 *                                                 &lt;element name="keyword"&gt;
 *                                                   &lt;complexType&gt;
 *                                                     &lt;complexContent&gt;
 *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                                         &lt;sequence&gt;
 *                                                           &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                                         &lt;/sequence&gt;
 *                                                       &lt;/restriction&gt;
 *                                                     &lt;/complexContent&gt;
 *                                                   &lt;/complexType&gt;
 *                                                 &lt;/element&gt;
 *                                               &lt;/sequence&gt;
 *                                             &lt;/restriction&gt;
 *                                           &lt;/complexContent&gt;
 *                                         &lt;/complexType&gt;
 *                                       &lt;/element&gt;
 *                                     &lt;/sequence&gt;
 *                                   &lt;/restriction&gt;
 *                                 &lt;/complexContent&gt;
 *                               &lt;/complexType&gt;
 *                             &lt;/element&gt;
 *                             &lt;element name="action"&gt;
 *                               &lt;complexType&gt;
 *                                 &lt;complexContent&gt;
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                     &lt;sequence&gt;
 *                                       &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                       &lt;element name="lemmatized" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                       &lt;element name="verb"&gt;
 *                                         &lt;complexType&gt;
 *                                           &lt;complexContent&gt;
 *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                               &lt;sequence&gt;
 *                                                 &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                                 &lt;element name="tense" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                                 &lt;element name="negated" type="{http://www.w3.org/2001/XMLSchema}byte" minOccurs="0"/&gt;
 *                                               &lt;/sequence&gt;
 *                                             &lt;/restriction&gt;
 *                                           &lt;/complexContent&gt;
 *                                         &lt;/complexType&gt;
 *                                       &lt;/element&gt;
 *                                     &lt;/sequence&gt;
 *                                   &lt;/restriction&gt;
 *                                 &lt;/complexContent&gt;
 *                               &lt;/complexType&gt;
 *                             &lt;/element&gt;
 *                             &lt;element name="object" minOccurs="0"&gt;
 *                               &lt;complexType&gt;
 *                                 &lt;complexContent&gt;
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                     &lt;sequence&gt;
 *                                       &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                       &lt;element name="entities" minOccurs="0"&gt;
 *                                         &lt;complexType&gt;
 *                                           &lt;complexContent&gt;
 *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                               &lt;sequence&gt;
 *                                                 &lt;element name="entity"&gt;
 *                                                   &lt;complexType&gt;
 *                                                     &lt;complexContent&gt;
 *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                                         &lt;sequence&gt;
 *                                                           &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                                           &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                                           &lt;element name="disambiguated"&gt;
 *                                                             &lt;complexType&gt;
 *                                                               &lt;complexContent&gt;
 *                                                                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                                                   &lt;sequence&gt;
 *                                                                     &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                                                     &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
 *                                                                     &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                                                                     &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                                                                     &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                                                                     &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *                                                                   &lt;/sequence&gt;
 *                                                                 &lt;/restriction&gt;
 *                                                               &lt;/complexContent&gt;
 *                                                             &lt;/complexType&gt;
 *                                                           &lt;/element&gt;
 *                                                         &lt;/sequence&gt;
 *                                                       &lt;/restriction&gt;
 *                                                     &lt;/complexContent&gt;
 *                                                   &lt;/complexType&gt;
 *                                                 &lt;/element&gt;
 *                                               &lt;/sequence&gt;
 *                                             &lt;/restriction&gt;
 *                                           &lt;/complexContent&gt;
 *                                         &lt;/complexType&gt;
 *                                       &lt;/element&gt;
 *                                       &lt;element name="keywords" minOccurs="0"&gt;
 *                                         &lt;complexType&gt;
 *                                           &lt;complexContent&gt;
 *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                               &lt;sequence&gt;
 *                                                 &lt;element name="keyword" maxOccurs="unbounded" minOccurs="0"&gt;
 *                                                   &lt;complexType&gt;
 *                                                     &lt;complexContent&gt;
 *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                                         &lt;sequence&gt;
 *                                                           &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                                         &lt;/sequence&gt;
 *                                                       &lt;/restriction&gt;
 *                                                     &lt;/complexContent&gt;
 *                                                   &lt;/complexType&gt;
 *                                                 &lt;/element&gt;
 *                                               &lt;/sequence&gt;
 *                                             &lt;/restriction&gt;
 *                                           &lt;/complexContent&gt;
 *                                         &lt;/complexType&gt;
 *                                       &lt;/element&gt;
 *                                     &lt;/sequence&gt;
 *                                   &lt;/restriction&gt;
 *                                 &lt;/complexContent&gt;
 *                               &lt;/complexType&gt;
 *                             &lt;/element&gt;
 *                             &lt;element name="location" minOccurs="0"&gt;
 *                               &lt;complexType&gt;
 *                                 &lt;complexContent&gt;
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                     &lt;sequence&gt;
 *                                       &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                                     &lt;/sequence&gt;
 *                                   &lt;/restriction&gt;
 *                                 &lt;/complexContent&gt;
 *                               &lt;/complexType&gt;
 *                             &lt;/element&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="taxonomy"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="element" maxOccurs="unbounded" minOccurs="0"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="confident" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *                             &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                             &lt;element name="score" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "status",
    "usage",
    "totalTransactions",
    "language",
    "docSentiment",
    "keywords",
    "concepts",
    "entities",
    "relations",
    "taxonomy"
})
@XmlRootElement(name = "results")
public class Results {

    @XmlElement(required = true)
    protected String status;
    @XmlElement(required = true)
    protected String usage;
    protected byte totalTransactions;
    @XmlElement(required = true)
    protected String language;
    @XmlElement(required = true)
    protected Results.DocSentiment docSentiment;
    @XmlElement(required = true)
    protected Results.Keywords keywords;
    @XmlElement(required = true)
    protected Results.Concepts concepts;
    @XmlElement(required = true)
    protected Results.Entities entities;
    @XmlElement(required = true)
    protected Results.Relations relations;
    @XmlElement(required = true)
    protected Results.Taxonomy taxonomy;

    /**
     * Gets the value of the status property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStatus() {
        return status;
    }

    /**
     * Sets the value of the status property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStatus(String value) {
        this.status = value;
    }

    /**
     * Gets the value of the usage property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getUsage() {
        return usage;
    }

    /**
     * Sets the value of the usage property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUsage(String value) {
        this.usage = value;
    }

    /**
     * Gets the value of the totalTransactions property.
     * 
     */
    public byte getTotalTransactions() {
        return totalTransactions;
    }

    /**
     * Sets the value of the totalTransactions property.
     * 
     */
    public void setTotalTransactions(byte value) {
        this.totalTransactions = value;
    }

    /**
     * Gets the value of the language property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLanguage() {
        return language;
    }

    /**
     * Sets the value of the language property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLanguage(String value) {
        this.language = value;
    }

    /**
     * Gets the value of the docSentiment property.
     * 
     * @return
     *     possible object is
     *     {@link Results.DocSentiment }
     *     
     */
    public Results.DocSentiment getDocSentiment() {
        return docSentiment;
    }

    /**
     * Sets the value of the docSentiment property.
     * 
     * @param value
     *     allowed object is
     *     {@link Results.DocSentiment }
     *     
     */
    public void setDocSentiment(Results.DocSentiment value) {
        this.docSentiment = value;
    }

    /**
     * Gets the value of the keywords property.
     * 
     * @return
     *     possible object is
     *     {@link Results.Keywords }
     *     
     */
    public Results.Keywords getKeywords() {
        return keywords;
    }

    /**
     * Sets the value of the keywords property.
     * 
     * @param value
     *     allowed object is
     *     {@link Results.Keywords }
     *     
     */
    public void setKeywords(Results.Keywords value) {
        this.keywords = value;
    }

    /**
     * Gets the value of the concepts property.
     * 
     * @return
     *     possible object is
     *     {@link Results.Concepts }
     *     
     */
    public Results.Concepts getConcepts() {
        return concepts;
    }

    /**
     * Sets the value of the concepts property.
     * 
     * @param value
     *     allowed object is
     *     {@link Results.Concepts }
     *     
     */
    public void setConcepts(Results.Concepts value) {
        this.concepts = value;
    }

    /**
     * Gets the value of the entities property.
     * 
     * @return
     *     possible object is
     *     {@link Results.Entities }
     *     
     */
    public Results.Entities getEntities() {
        return entities;
    }

    /**
     * Sets the value of the entities property.
     * 
     * @param value
     *     allowed object is
     *     {@link Results.Entities }
     *     
     */
    public void setEntities(Results.Entities value) {
        this.entities = value;
    }

    /**
     * Gets the value of the relations property.
     * 
     * @return
     *     possible object is
     *     {@link Results.Relations }
     *     
     */
    public Results.Relations getRelations() {
        return relations;
    }

    /**
     * Sets the value of the relations property.
     * 
     * @param value
     *     allowed object is
     *     {@link Results.Relations }
     *     
     */
    public void setRelations(Results.Relations value) {
        this.relations = value;
    }

    /**
     * Gets the value of the taxonomy property.
     * 
     * @return
     *     possible object is
     *     {@link Results.Taxonomy }
     *     
     */
    public Results.Taxonomy getTaxonomy() {
        return taxonomy;
    }

    /**
     * Sets the value of the taxonomy property.
     * 
     * @param value
     *     allowed object is
     *     {@link Results.Taxonomy }
     *     
     */
    public void setTaxonomy(Results.Taxonomy value) {
        this.taxonomy = value;
    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="concept" maxOccurs="unbounded" minOccurs="0"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                   &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
     *                   &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                   &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
     *                   &lt;element name="opencyc" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
     *                   &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "concept"
    })
    public static class Concepts {

        protected List<Results.Concepts.Concept> concept;

        /**
         * Gets the value of the concept property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the concept property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getConcept().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link Results.Concepts.Concept }
         * 
         * 
         */
        public List<Results.Concepts.Concept> getConcept() {
            if (concept == null) {
                concept = new ArrayList<Results.Concepts.Concept>();
            }
            return this.concept;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType&gt;
         *   &lt;complexContent&gt;
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *       &lt;sequence&gt;
         *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *         &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
         *         &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *         &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
         *         &lt;element name="opencyc" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
         *         &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "text",
            "relevance",
            "dbpedia",
            "freebase",
            "opencyc",
            "yago"
        })
        public static class Concept {

            @XmlElement(required = true)
            protected String text;
            protected float relevance;
            @XmlElement(required = true)
            @XmlSchemaType(name = "anyURI")
            protected String dbpedia;
            @XmlSchemaType(name = "anyURI")
            protected String freebase;
            @XmlSchemaType(name = "anyURI")
            protected String opencyc;
            @XmlSchemaType(name = "anyURI")
            protected String yago;

            /**
             * Gets the value of the text property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getText() {
                return text;
            }

            /**
             * Sets the value of the text property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setText(String value) {
                this.text = value;
            }

            /**
             * Gets the value of the relevance property.
             * 
             */
            public float getRelevance() {
                return relevance;
            }

            /**
             * Sets the value of the relevance property.
             * 
             */
            public void setRelevance(float value) {
                this.relevance = value;
            }

            /**
             * Gets the value of the dbpedia property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getDbpedia() {
                return dbpedia;
            }

            /**
             * Sets the value of the dbpedia property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setDbpedia(String value) {
                this.dbpedia = value;
            }

            /**
             * Gets the value of the freebase property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getFreebase() {
                return freebase;
            }

            /**
             * Sets the value of the freebase property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setFreebase(String value) {
                this.freebase = value;
            }

            /**
             * Gets the value of the opencyc property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getOpencyc() {
                return opencyc;
            }

            /**
             * Sets the value of the opencyc property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setOpencyc(String value) {
                this.opencyc = value;
            }

            /**
             * Gets the value of the yago property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getYago() {
                return yago;
            }

            /**
             * Sets the value of the yago property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setYago(String value) {
                this.yago = value;
            }

        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *         &lt;element name="score" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
     *         &lt;element name="mixed" type="{http://www.w3.org/2001/XMLSchema}byte"/&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "type",
        "score",
        "mixed"
    })
    public static class DocSentiment {

        @XmlElement(required = true)
        protected String type;
        protected float score;
        protected byte mixed;

        /**
         * Gets the value of the type property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getType() {
            return type;
        }

        /**
         * Sets the value of the type property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setType(String value) {
            this.type = value;
        }

        /**
         * Gets the value of the score property.
         * 
         */
        public float getScore() {
            return score;
        }

        /**
         * Sets the value of the score property.
         * 
         */
        public void setScore(float value) {
            this.score = value;
        }

        /**
         * Gets the value of the mixed property.
         * 
         */
        public byte getMixed() {
            return mixed;
        }

        /**
         * Sets the value of the mixed property.
         * 
         */
        public void setMixed(byte value) {
            this.mixed = value;
        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="entity" maxOccurs="unbounded" minOccurs="0"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                   &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
     *                   &lt;element name="count" type="{http://www.w3.org/2001/XMLSchema}byte"/&gt;
     *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                   &lt;element name="disambiguated" minOccurs="0"&gt;
     *                     &lt;complexType&gt;
     *                       &lt;complexContent&gt;
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                           &lt;sequence&gt;
     *                             &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                             &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
     *                             &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                             &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                             &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                             &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                           &lt;/sequence&gt;
     *                         &lt;/restriction&gt;
     *                       &lt;/complexContent&gt;
     *                     &lt;/complexType&gt;
     *                   &lt;/element&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "entity"
    })
    public static class Entities {

        protected List<Results.Entities.Entity> entity;

        /**
         * Gets the value of the entity property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the entity property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getEntity().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link Results.Entities.Entity }
         * 
         * 
         */
        public List<Results.Entities.Entity> getEntity() {
            if (entity == null) {
                entity = new ArrayList<Results.Entities.Entity>();
            }
            return this.entity;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType&gt;
         *   &lt;complexContent&gt;
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *       &lt;sequence&gt;
         *         &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *         &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
         *         &lt;element name="count" type="{http://www.w3.org/2001/XMLSchema}byte"/&gt;
         *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *         &lt;element name="disambiguated" minOccurs="0"&gt;
         *           &lt;complexType&gt;
         *             &lt;complexContent&gt;
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                 &lt;sequence&gt;
         *                   &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                   &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
         *                   &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *                   &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *                   &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *                   &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *                 &lt;/sequence&gt;
         *               &lt;/restriction&gt;
         *             &lt;/complexContent&gt;
         *           &lt;/complexType&gt;
         *         &lt;/element&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "type",
            "relevance",
            "count",
            "text",
            "disambiguated"
        })
        public static class Entity {

            @XmlElement(required = true)
            protected String type;
            protected float relevance;
            protected byte count;
            @XmlElement(required = true)
            protected String text;
            protected Results.Entities.Entity.Disambiguated disambiguated;

            /**
             * Gets the value of the type property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getType() {
                return type;
            }

            /**
             * Sets the value of the type property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setType(String value) {
                this.type = value;
            }

            /**
             * Gets the value of the relevance property.
             * 
             */
            public float getRelevance() {
                return relevance;
            }

            /**
             * Sets the value of the relevance property.
             * 
             */
            public void setRelevance(float value) {
                this.relevance = value;
            }

            /**
             * Gets the value of the count property.
             * 
             */
            public byte getCount() {
                return count;
            }

            /**
             * Sets the value of the count property.
             * 
             */
            public void setCount(byte value) {
                this.count = value;
            }

            /**
             * Gets the value of the text property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getText() {
                return text;
            }

            /**
             * Sets the value of the text property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setText(String value) {
                this.text = value;
            }

            /**
             * Gets the value of the disambiguated property.
             * 
             * @return
             *     possible object is
             *     {@link Results.Entities.Entity.Disambiguated }
             *     
             */
            public Results.Entities.Entity.Disambiguated getDisambiguated() {
                return disambiguated;
            }

            /**
             * Sets the value of the disambiguated property.
             * 
             * @param value
             *     allowed object is
             *     {@link Results.Entities.Entity.Disambiguated }
             *     
             */
            public void setDisambiguated(Results.Entities.Entity.Disambiguated value) {
                this.disambiguated = value;
            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType&gt;
             *   &lt;complexContent&gt;
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *       &lt;sequence&gt;
             *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *         &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
             *         &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
             *         &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
             *         &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
             *         &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
             *       &lt;/sequence&gt;
             *     &lt;/restriction&gt;
             *   &lt;/complexContent&gt;
             * &lt;/complexType&gt;
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "name",
                "subType",
                "website",
                "dbpedia",
                "freebase",
                "yago"
            })
            public static class Disambiguated {

                @XmlElement(required = true)
                protected String name;
                protected List<String> subType;
                @XmlElement(required = true)
                @XmlSchemaType(name = "anyURI")
                protected String website;
                @XmlElement(required = true)
                @XmlSchemaType(name = "anyURI")
                protected String dbpedia;
                @XmlElement(required = true)
                @XmlSchemaType(name = "anyURI")
                protected String freebase;
                @XmlElement(required = true)
                @XmlSchemaType(name = "anyURI")
                protected String yago;

                /**
                 * Gets the value of the name property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getName() {
                    return name;
                }

                /**
                 * Sets the value of the name property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setName(String value) {
                    this.name = value;
                }

                /**
                 * Gets the value of the subType property.
                 * 
                 * <p>
                 * This accessor method returns a reference to the live list,
                 * not a snapshot. Therefore any modification you make to the
                 * returned list will be present inside the JAXB object.
                 * This is why there is not a <CODE>set</CODE> method for the subType property.
                 * 
                 * <p>
                 * For example, to add a new item, do as follows:
                 * <pre>
                 *    getSubType().add(newItem);
                 * </pre>
                 * 
                 * 
                 * <p>
                 * Objects of the following type(s) are allowed in the list
                 * {@link String }
                 * 
                 * 
                 */
                public List<String> getSubType() {
                    if (subType == null) {
                        subType = new ArrayList<String>();
                    }
                    return this.subType;
                }

                /**
                 * Gets the value of the website property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getWebsite() {
                    return website;
                }

                /**
                 * Sets the value of the website property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setWebsite(String value) {
                    this.website = value;
                }

                /**
                 * Gets the value of the dbpedia property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getDbpedia() {
                    return dbpedia;
                }

                /**
                 * Sets the value of the dbpedia property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setDbpedia(String value) {
                    this.dbpedia = value;
                }

                /**
                 * Gets the value of the freebase property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getFreebase() {
                    return freebase;
                }

                /**
                 * Sets the value of the freebase property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setFreebase(String value) {
                    this.freebase = value;
                }

                /**
                 * Gets the value of the yago property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getYago() {
                    return yago;
                }

                /**
                 * Sets the value of the yago property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setYago(String value) {
                    this.yago = value;
                }

            }

        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="keyword" maxOccurs="unbounded" minOccurs="0"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                   &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "keyword"
    })
    public static class Keywords {

        protected List<Results.Keywords.Keyword> keyword;

        /**
         * Gets the value of the keyword property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the keyword property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getKeyword().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link Results.Keywords.Keyword }
         * 
         * 
         */
        public List<Results.Keywords.Keyword> getKeyword() {
            if (keyword == null) {
                keyword = new ArrayList<Results.Keywords.Keyword>();
            }
            return this.keyword;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType&gt;
         *   &lt;complexContent&gt;
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *       &lt;sequence&gt;
         *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *         &lt;element name="relevance" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "text",
            "relevance"
        })
        public static class Keyword {

            @XmlElement(required = true)
            protected String text;
            protected float relevance;

            /**
             * Gets the value of the text property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getText() {
                return text;
            }

            /**
             * Sets the value of the text property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setText(String value) {
                this.text = value;
            }

            /**
             * Gets the value of the relevance property.
             * 
             */
            public float getRelevance() {
                return relevance;
            }

            /**
             * Sets the value of the relevance property.
             * 
             */
            public void setRelevance(float value) {
                this.relevance = value;
            }

        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="relation" maxOccurs="unbounded" minOccurs="0"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="sentence" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                   &lt;element name="subject"&gt;
     *                     &lt;complexType&gt;
     *                       &lt;complexContent&gt;
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                           &lt;sequence&gt;
     *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                             &lt;element name="keywords" minOccurs="0"&gt;
     *                               &lt;complexType&gt;
     *                                 &lt;complexContent&gt;
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                     &lt;sequence&gt;
     *                                       &lt;element name="keyword"&gt;
     *                                         &lt;complexType&gt;
     *                                           &lt;complexContent&gt;
     *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                               &lt;sequence&gt;
     *                                                 &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                                               &lt;/sequence&gt;
     *                                             &lt;/restriction&gt;
     *                                           &lt;/complexContent&gt;
     *                                         &lt;/complexType&gt;
     *                                       &lt;/element&gt;
     *                                     &lt;/sequence&gt;
     *                                   &lt;/restriction&gt;
     *                                 &lt;/complexContent&gt;
     *                               &lt;/complexType&gt;
     *                             &lt;/element&gt;
     *                           &lt;/sequence&gt;
     *                         &lt;/restriction&gt;
     *                       &lt;/complexContent&gt;
     *                     &lt;/complexType&gt;
     *                   &lt;/element&gt;
     *                   &lt;element name="action"&gt;
     *                     &lt;complexType&gt;
     *                       &lt;complexContent&gt;
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                           &lt;sequence&gt;
     *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                             &lt;element name="lemmatized" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                             &lt;element name="verb"&gt;
     *                               &lt;complexType&gt;
     *                                 &lt;complexContent&gt;
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                     &lt;sequence&gt;
     *                                       &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                                       &lt;element name="tense" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                                       &lt;element name="negated" type="{http://www.w3.org/2001/XMLSchema}byte" minOccurs="0"/&gt;
     *                                     &lt;/sequence&gt;
     *                                   &lt;/restriction&gt;
     *                                 &lt;/complexContent&gt;
     *                               &lt;/complexType&gt;
     *                             &lt;/element&gt;
     *                           &lt;/sequence&gt;
     *                         &lt;/restriction&gt;
     *                       &lt;/complexContent&gt;
     *                     &lt;/complexType&gt;
     *                   &lt;/element&gt;
     *                   &lt;element name="object" minOccurs="0"&gt;
     *                     &lt;complexType&gt;
     *                       &lt;complexContent&gt;
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                           &lt;sequence&gt;
     *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                             &lt;element name="entities" minOccurs="0"&gt;
     *                               &lt;complexType&gt;
     *                                 &lt;complexContent&gt;
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                     &lt;sequence&gt;
     *                                       &lt;element name="entity"&gt;
     *                                         &lt;complexType&gt;
     *                                           &lt;complexContent&gt;
     *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                               &lt;sequence&gt;
     *                                                 &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                                                 &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                                                 &lt;element name="disambiguated"&gt;
     *                                                   &lt;complexType&gt;
     *                                                     &lt;complexContent&gt;
     *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                                         &lt;sequence&gt;
     *                                                           &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                                                           &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
     *                                                           &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                                                           &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                                                           &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                                                           &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
     *                                                         &lt;/sequence&gt;
     *                                                       &lt;/restriction&gt;
     *                                                     &lt;/complexContent&gt;
     *                                                   &lt;/complexType&gt;
     *                                                 &lt;/element&gt;
     *                                               &lt;/sequence&gt;
     *                                             &lt;/restriction&gt;
     *                                           &lt;/complexContent&gt;
     *                                         &lt;/complexType&gt;
     *                                       &lt;/element&gt;
     *                                     &lt;/sequence&gt;
     *                                   &lt;/restriction&gt;
     *                                 &lt;/complexContent&gt;
     *                               &lt;/complexType&gt;
     *                             &lt;/element&gt;
     *                             &lt;element name="keywords" minOccurs="0"&gt;
     *                               &lt;complexType&gt;
     *                                 &lt;complexContent&gt;
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                     &lt;sequence&gt;
     *                                       &lt;element name="keyword" maxOccurs="unbounded" minOccurs="0"&gt;
     *                                         &lt;complexType&gt;
     *                                           &lt;complexContent&gt;
     *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                                               &lt;sequence&gt;
     *                                                 &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                                               &lt;/sequence&gt;
     *                                             &lt;/restriction&gt;
     *                                           &lt;/complexContent&gt;
     *                                         &lt;/complexType&gt;
     *                                       &lt;/element&gt;
     *                                     &lt;/sequence&gt;
     *                                   &lt;/restriction&gt;
     *                                 &lt;/complexContent&gt;
     *                               &lt;/complexType&gt;
     *                             &lt;/element&gt;
     *                           &lt;/sequence&gt;
     *                         &lt;/restriction&gt;
     *                       &lt;/complexContent&gt;
     *                     &lt;/complexType&gt;
     *                   &lt;/element&gt;
     *                   &lt;element name="location" minOccurs="0"&gt;
     *                     &lt;complexType&gt;
     *                       &lt;complexContent&gt;
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                           &lt;sequence&gt;
     *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                           &lt;/sequence&gt;
     *                         &lt;/restriction&gt;
     *                       &lt;/complexContent&gt;
     *                     &lt;/complexType&gt;
     *                   &lt;/element&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "relation"
    })
    public static class Relations {

        protected List<Results.Relations.Relation> relation;

        /**
         * Gets the value of the relation property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the relation property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getRelation().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link Results.Relations.Relation }
         * 
         * 
         */
        public List<Results.Relations.Relation> getRelation() {
            if (relation == null) {
                relation = new ArrayList<Results.Relations.Relation>();
            }
            return this.relation;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType&gt;
         *   &lt;complexContent&gt;
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *       &lt;sequence&gt;
         *         &lt;element name="sentence" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *         &lt;element name="subject"&gt;
         *           &lt;complexType&gt;
         *             &lt;complexContent&gt;
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                 &lt;sequence&gt;
         *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                   &lt;element name="keywords" minOccurs="0"&gt;
         *                     &lt;complexType&gt;
         *                       &lt;complexContent&gt;
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                           &lt;sequence&gt;
         *                             &lt;element name="keyword"&gt;
         *                               &lt;complexType&gt;
         *                                 &lt;complexContent&gt;
         *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                                     &lt;sequence&gt;
         *                                       &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                                     &lt;/sequence&gt;
         *                                   &lt;/restriction&gt;
         *                                 &lt;/complexContent&gt;
         *                               &lt;/complexType&gt;
         *                             &lt;/element&gt;
         *                           &lt;/sequence&gt;
         *                         &lt;/restriction&gt;
         *                       &lt;/complexContent&gt;
         *                     &lt;/complexType&gt;
         *                   &lt;/element&gt;
         *                 &lt;/sequence&gt;
         *               &lt;/restriction&gt;
         *             &lt;/complexContent&gt;
         *           &lt;/complexType&gt;
         *         &lt;/element&gt;
         *         &lt;element name="action"&gt;
         *           &lt;complexType&gt;
         *             &lt;complexContent&gt;
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                 &lt;sequence&gt;
         *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                   &lt;element name="lemmatized" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                   &lt;element name="verb"&gt;
         *                     &lt;complexType&gt;
         *                       &lt;complexContent&gt;
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                           &lt;sequence&gt;
         *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                             &lt;element name="tense" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                             &lt;element name="negated" type="{http://www.w3.org/2001/XMLSchema}byte" minOccurs="0"/&gt;
         *                           &lt;/sequence&gt;
         *                         &lt;/restriction&gt;
         *                       &lt;/complexContent&gt;
         *                     &lt;/complexType&gt;
         *                   &lt;/element&gt;
         *                 &lt;/sequence&gt;
         *               &lt;/restriction&gt;
         *             &lt;/complexContent&gt;
         *           &lt;/complexType&gt;
         *         &lt;/element&gt;
         *         &lt;element name="object" minOccurs="0"&gt;
         *           &lt;complexType&gt;
         *             &lt;complexContent&gt;
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                 &lt;sequence&gt;
         *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                   &lt;element name="entities" minOccurs="0"&gt;
         *                     &lt;complexType&gt;
         *                       &lt;complexContent&gt;
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                           &lt;sequence&gt;
         *                             &lt;element name="entity"&gt;
         *                               &lt;complexType&gt;
         *                                 &lt;complexContent&gt;
         *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                                     &lt;sequence&gt;
         *                                       &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                                       &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                                       &lt;element name="disambiguated"&gt;
         *                                         &lt;complexType&gt;
         *                                           &lt;complexContent&gt;
         *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                                               &lt;sequence&gt;
         *                                                 &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                                                 &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
         *                                                 &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *                                                 &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *                                                 &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *                                                 &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
         *                                               &lt;/sequence&gt;
         *                                             &lt;/restriction&gt;
         *                                           &lt;/complexContent&gt;
         *                                         &lt;/complexType&gt;
         *                                       &lt;/element&gt;
         *                                     &lt;/sequence&gt;
         *                                   &lt;/restriction&gt;
         *                                 &lt;/complexContent&gt;
         *                               &lt;/complexType&gt;
         *                             &lt;/element&gt;
         *                           &lt;/sequence&gt;
         *                         &lt;/restriction&gt;
         *                       &lt;/complexContent&gt;
         *                     &lt;/complexType&gt;
         *                   &lt;/element&gt;
         *                   &lt;element name="keywords" minOccurs="0"&gt;
         *                     &lt;complexType&gt;
         *                       &lt;complexContent&gt;
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                           &lt;sequence&gt;
         *                             &lt;element name="keyword" maxOccurs="unbounded" minOccurs="0"&gt;
         *                               &lt;complexType&gt;
         *                                 &lt;complexContent&gt;
         *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                                     &lt;sequence&gt;
         *                                       &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                                     &lt;/sequence&gt;
         *                                   &lt;/restriction&gt;
         *                                 &lt;/complexContent&gt;
         *                               &lt;/complexType&gt;
         *                             &lt;/element&gt;
         *                           &lt;/sequence&gt;
         *                         &lt;/restriction&gt;
         *                       &lt;/complexContent&gt;
         *                     &lt;/complexType&gt;
         *                   &lt;/element&gt;
         *                 &lt;/sequence&gt;
         *               &lt;/restriction&gt;
         *             &lt;/complexContent&gt;
         *           &lt;/complexType&gt;
         *         &lt;/element&gt;
         *         &lt;element name="location" minOccurs="0"&gt;
         *           &lt;complexType&gt;
         *             &lt;complexContent&gt;
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                 &lt;sequence&gt;
         *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *                 &lt;/sequence&gt;
         *               &lt;/restriction&gt;
         *             &lt;/complexContent&gt;
         *           &lt;/complexType&gt;
         *         &lt;/element&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "sentence",
            "subject",
            "action",
            "object",
            "location"
        })
        public static class Relation {

            @XmlElement(required = true)
            protected String sentence;
            @XmlElement(required = true)
            protected Results.Relations.Relation.Subject subject;
            @XmlElement(required = true)
            protected Results.Relations.Relation.Action action;
            protected Results.Relations.Relation.Object object;
            protected Results.Relations.Relation.Location location;

            /**
             * Gets the value of the sentence property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getSentence() {
                return sentence;
            }

            /**
             * Sets the value of the sentence property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setSentence(String value) {
                this.sentence = value;
            }

            /**
             * Gets the value of the subject property.
             * 
             * @return
             *     possible object is
             *     {@link Results.Relations.Relation.Subject }
             *     
             */
            public Results.Relations.Relation.Subject getSubject() {
                return subject;
            }

            /**
             * Sets the value of the subject property.
             * 
             * @param value
             *     allowed object is
             *     {@link Results.Relations.Relation.Subject }
             *     
             */
            public void setSubject(Results.Relations.Relation.Subject value) {
                this.subject = value;
            }

            /**
             * Gets the value of the action property.
             * 
             * @return
             *     possible object is
             *     {@link Results.Relations.Relation.Action }
             *     
             */
            public Results.Relations.Relation.Action getAction() {
                return action;
            }

            /**
             * Sets the value of the action property.
             * 
             * @param value
             *     allowed object is
             *     {@link Results.Relations.Relation.Action }
             *     
             */
            public void setAction(Results.Relations.Relation.Action value) {
                this.action = value;
            }

            /**
             * Gets the value of the object property.
             * 
             * @return
             *     possible object is
             *     {@link Results.Relations.Relation.Object }
             *     
             */
            public Results.Relations.Relation.Object getObject() {
                return object;
            }

            /**
             * Sets the value of the object property.
             * 
             * @param value
             *     allowed object is
             *     {@link Results.Relations.Relation.Object }
             *     
             */
            public void setObject(Results.Relations.Relation.Object value) {
                this.object = value;
            }

            /**
             * Gets the value of the location property.
             * 
             * @return
             *     possible object is
             *     {@link Results.Relations.Relation.Location }
             *     
             */
            public Results.Relations.Relation.Location getLocation() {
                return location;
            }

            /**
             * Sets the value of the location property.
             * 
             * @param value
             *     allowed object is
             *     {@link Results.Relations.Relation.Location }
             *     
             */
            public void setLocation(Results.Relations.Relation.Location value) {
                this.location = value;
            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType&gt;
             *   &lt;complexContent&gt;
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *       &lt;sequence&gt;
             *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *         &lt;element name="lemmatized" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *         &lt;element name="verb"&gt;
             *           &lt;complexType&gt;
             *             &lt;complexContent&gt;
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                 &lt;sequence&gt;
             *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *                   &lt;element name="tense" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *                   &lt;element name="negated" type="{http://www.w3.org/2001/XMLSchema}byte" minOccurs="0"/&gt;
             *                 &lt;/sequence&gt;
             *               &lt;/restriction&gt;
             *             &lt;/complexContent&gt;
             *           &lt;/complexType&gt;
             *         &lt;/element&gt;
             *       &lt;/sequence&gt;
             *     &lt;/restriction&gt;
             *   &lt;/complexContent&gt;
             * &lt;/complexType&gt;
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "text",
                "lemmatized",
                "verb"
            })
            public static class Action {

                @XmlElement(required = true)
                protected String text;
                @XmlElement(required = true)
                protected String lemmatized;
                @XmlElement(required = true)
                protected Results.Relations.Relation.Action.Verb verb;

                /**
                 * Gets the value of the text property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getText() {
                    return text;
                }

                /**
                 * Sets the value of the text property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setText(String value) {
                    this.text = value;
                }

                /**
                 * Gets the value of the lemmatized property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getLemmatized() {
                    return lemmatized;
                }

                /**
                 * Sets the value of the lemmatized property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setLemmatized(String value) {
                    this.lemmatized = value;
                }

                /**
                 * Gets the value of the verb property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link Results.Relations.Relation.Action.Verb }
                 *     
                 */
                public Results.Relations.Relation.Action.Verb getVerb() {
                    return verb;
                }

                /**
                 * Sets the value of the verb property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link Results.Relations.Relation.Action.Verb }
                 *     
                 */
                public void setVerb(Results.Relations.Relation.Action.Verb value) {
                    this.verb = value;
                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType&gt;
                 *   &lt;complexContent&gt;
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *       &lt;sequence&gt;
                 *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                 *         &lt;element name="tense" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                 *         &lt;element name="negated" type="{http://www.w3.org/2001/XMLSchema}byte" minOccurs="0"/&gt;
                 *       &lt;/sequence&gt;
                 *     &lt;/restriction&gt;
                 *   &lt;/complexContent&gt;
                 * &lt;/complexType&gt;
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "", propOrder = {
                    "text",
                    "tense",
                    "negated"
                })
                public static class Verb {

                    @XmlElement(required = true)
                    protected String text;
                    @XmlElement(required = true)
                    protected String tense;
                    protected Byte negated;

                    /**
                     * Gets the value of the text property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link String }
                     *     
                     */
                    public String getText() {
                        return text;
                    }

                    /**
                     * Sets the value of the text property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link String }
                     *     
                     */
                    public void setText(String value) {
                        this.text = value;
                    }

                    /**
                     * Gets the value of the tense property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link String }
                     *     
                     */
                    public String getTense() {
                        return tense;
                    }

                    /**
                     * Sets the value of the tense property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link String }
                     *     
                     */
                    public void setTense(String value) {
                        this.tense = value;
                    }

                    /**
                     * Gets the value of the negated property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link Byte }
                     *     
                     */
                    public Byte getNegated() {
                        return negated;
                    }

                    /**
                     * Sets the value of the negated property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link Byte }
                     *     
                     */
                    public void setNegated(Byte value) {
                        this.negated = value;
                    }

                }

            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType&gt;
             *   &lt;complexContent&gt;
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *       &lt;sequence&gt;
             *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *       &lt;/sequence&gt;
             *     &lt;/restriction&gt;
             *   &lt;/complexContent&gt;
             * &lt;/complexType&gt;
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "text"
            })
            public static class Location {

                @XmlElement(required = true)
                protected String text;

                /**
                 * Gets the value of the text property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getText() {
                    return text;
                }

                /**
                 * Sets the value of the text property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setText(String value) {
                    this.text = value;
                }

            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType&gt;
             *   &lt;complexContent&gt;
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *       &lt;sequence&gt;
             *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *         &lt;element name="entities" minOccurs="0"&gt;
             *           &lt;complexType&gt;
             *             &lt;complexContent&gt;
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                 &lt;sequence&gt;
             *                   &lt;element name="entity"&gt;
             *                     &lt;complexType&gt;
             *                       &lt;complexContent&gt;
             *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                           &lt;sequence&gt;
             *                             &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *                             &lt;element name="disambiguated"&gt;
             *                               &lt;complexType&gt;
             *                                 &lt;complexContent&gt;
             *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                                     &lt;sequence&gt;
             *                                       &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *                                       &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
             *                                       &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
             *                                       &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
             *                                       &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
             *                                       &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
             *                                     &lt;/sequence&gt;
             *                                   &lt;/restriction&gt;
             *                                 &lt;/complexContent&gt;
             *                               &lt;/complexType&gt;
             *                             &lt;/element&gt;
             *                           &lt;/sequence&gt;
             *                         &lt;/restriction&gt;
             *                       &lt;/complexContent&gt;
             *                     &lt;/complexType&gt;
             *                   &lt;/element&gt;
             *                 &lt;/sequence&gt;
             *               &lt;/restriction&gt;
             *             &lt;/complexContent&gt;
             *           &lt;/complexType&gt;
             *         &lt;/element&gt;
             *         &lt;element name="keywords" minOccurs="0"&gt;
             *           &lt;complexType&gt;
             *             &lt;complexContent&gt;
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                 &lt;sequence&gt;
             *                   &lt;element name="keyword" maxOccurs="unbounded" minOccurs="0"&gt;
             *                     &lt;complexType&gt;
             *                       &lt;complexContent&gt;
             *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                           &lt;sequence&gt;
             *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *                           &lt;/sequence&gt;
             *                         &lt;/restriction&gt;
             *                       &lt;/complexContent&gt;
             *                     &lt;/complexType&gt;
             *                   &lt;/element&gt;
             *                 &lt;/sequence&gt;
             *               &lt;/restriction&gt;
             *             &lt;/complexContent&gt;
             *           &lt;/complexType&gt;
             *         &lt;/element&gt;
             *       &lt;/sequence&gt;
             *     &lt;/restriction&gt;
             *   &lt;/complexContent&gt;
             * &lt;/complexType&gt;
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "text",
                "entities",
                "keywords"
            })
            public static class Object {

                @XmlElement(required = true)
                protected String text;
                protected Results.Relations.Relation.Object.Entities entities;
                protected Results.Relations.Relation.Object.Keywords keywords;

                /**
                 * Gets the value of the text property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getText() {
                    return text;
                }

                /**
                 * Sets the value of the text property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setText(String value) {
                    this.text = value;
                }

                /**
                 * Gets the value of the entities property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link Results.Relations.Relation.Object.Entities }
                 *     
                 */
                public Results.Relations.Relation.Object.Entities getEntities() {
                    return entities;
                }

                /**
                 * Sets the value of the entities property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link Results.Relations.Relation.Object.Entities }
                 *     
                 */
                public void setEntities(Results.Relations.Relation.Object.Entities value) {
                    this.entities = value;
                }

                /**
                 * Gets the value of the keywords property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link Results.Relations.Relation.Object.Keywords }
                 *     
                 */
                public Results.Relations.Relation.Object.Keywords getKeywords() {
                    return keywords;
                }

                /**
                 * Sets the value of the keywords property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link Results.Relations.Relation.Object.Keywords }
                 *     
                 */
                public void setKeywords(Results.Relations.Relation.Object.Keywords value) {
                    this.keywords = value;
                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType&gt;
                 *   &lt;complexContent&gt;
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *       &lt;sequence&gt;
                 *         &lt;element name="entity"&gt;
                 *           &lt;complexType&gt;
                 *             &lt;complexContent&gt;
                 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *                 &lt;sequence&gt;
                 *                   &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                 *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                 *                   &lt;element name="disambiguated"&gt;
                 *                     &lt;complexType&gt;
                 *                       &lt;complexContent&gt;
                 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *                           &lt;sequence&gt;
                 *                             &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                 *                             &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
                 *                             &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                 *                             &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                 *                             &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                 *                             &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                 *                           &lt;/sequence&gt;
                 *                         &lt;/restriction&gt;
                 *                       &lt;/complexContent&gt;
                 *                     &lt;/complexType&gt;
                 *                   &lt;/element&gt;
                 *                 &lt;/sequence&gt;
                 *               &lt;/restriction&gt;
                 *             &lt;/complexContent&gt;
                 *           &lt;/complexType&gt;
                 *         &lt;/element&gt;
                 *       &lt;/sequence&gt;
                 *     &lt;/restriction&gt;
                 *   &lt;/complexContent&gt;
                 * &lt;/complexType&gt;
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "", propOrder = {
                    "entity"
                })
                public static class Entities {

                    @XmlElement(required = true)
                    protected Results.Relations.Relation.Object.Entities.Entity entity;

                    /**
                     * Gets the value of the entity property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link Results.Relations.Relation.Object.Entities.Entity }
                     *     
                     */
                    public Results.Relations.Relation.Object.Entities.Entity getEntity() {
                        return entity;
                    }

                    /**
                     * Sets the value of the entity property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link Results.Relations.Relation.Object.Entities.Entity }
                     *     
                     */
                    public void setEntity(Results.Relations.Relation.Object.Entities.Entity value) {
                        this.entity = value;
                    }


                    /**
                     * <p>Java class for anonymous complex type.
                     * 
                     * <p>The following schema fragment specifies the expected content contained within this class.
                     * 
                     * <pre>
                     * &lt;complexType&gt;
                     *   &lt;complexContent&gt;
                     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                     *       &lt;sequence&gt;
                     *         &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                     *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                     *         &lt;element name="disambiguated"&gt;
                     *           &lt;complexType&gt;
                     *             &lt;complexContent&gt;
                     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                     *                 &lt;sequence&gt;
                     *                   &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                     *                   &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
                     *                   &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                     *                   &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                     *                   &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                     *                   &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                     *                 &lt;/sequence&gt;
                     *               &lt;/restriction&gt;
                     *             &lt;/complexContent&gt;
                     *           &lt;/complexType&gt;
                     *         &lt;/element&gt;
                     *       &lt;/sequence&gt;
                     *     &lt;/restriction&gt;
                     *   &lt;/complexContent&gt;
                     * &lt;/complexType&gt;
                     * </pre>
                     * 
                     * 
                     */
                    @XmlAccessorType(XmlAccessType.FIELD)
                    @XmlType(name = "", propOrder = {
                        "type",
                        "text",
                        "disambiguated"
                    })
                    public static class Entity {

                        @XmlElement(required = true)
                        protected String type;
                        @XmlElement(required = true)
                        protected String text;
                        @XmlElement(required = true)
                        protected Results.Relations.Relation.Object.Entities.Entity.Disambiguated disambiguated;

                        /**
                         * Gets the value of the type property.
                         * 
                         * @return
                         *     possible object is
                         *     {@link String }
                         *     
                         */
                        public String getType() {
                            return type;
                        }

                        /**
                         * Sets the value of the type property.
                         * 
                         * @param value
                         *     allowed object is
                         *     {@link String }
                         *     
                         */
                        public void setType(String value) {
                            this.type = value;
                        }

                        /**
                         * Gets the value of the text property.
                         * 
                         * @return
                         *     possible object is
                         *     {@link String }
                         *     
                         */
                        public String getText() {
                            return text;
                        }

                        /**
                         * Sets the value of the text property.
                         * 
                         * @param value
                         *     allowed object is
                         *     {@link String }
                         *     
                         */
                        public void setText(String value) {
                            this.text = value;
                        }

                        /**
                         * Gets the value of the disambiguated property.
                         * 
                         * @return
                         *     possible object is
                         *     {@link Results.Relations.Relation.Object.Entities.Entity.Disambiguated }
                         *     
                         */
                        public Results.Relations.Relation.Object.Entities.Entity.Disambiguated getDisambiguated() {
                            return disambiguated;
                        }

                        /**
                         * Sets the value of the disambiguated property.
                         * 
                         * @param value
                         *     allowed object is
                         *     {@link Results.Relations.Relation.Object.Entities.Entity.Disambiguated }
                         *     
                         */
                        public void setDisambiguated(Results.Relations.Relation.Object.Entities.Entity.Disambiguated value) {
                            this.disambiguated = value;
                        }


                        /**
                         * <p>Java class for anonymous complex type.
                         * 
                         * <p>The following schema fragment specifies the expected content contained within this class.
                         * 
                         * <pre>
                         * &lt;complexType&gt;
                         *   &lt;complexContent&gt;
                         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                         *       &lt;sequence&gt;
                         *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                         *         &lt;element name="subType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
                         *         &lt;element name="website" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                         *         &lt;element name="dbpedia" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                         *         &lt;element name="freebase" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                         *         &lt;element name="yago" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
                         *       &lt;/sequence&gt;
                         *     &lt;/restriction&gt;
                         *   &lt;/complexContent&gt;
                         * &lt;/complexType&gt;
                         * </pre>
                         * 
                         * 
                         */
                        @XmlAccessorType(XmlAccessType.FIELD)
                        @XmlType(name = "", propOrder = {
                            "name",
                            "subType",
                            "website",
                            "dbpedia",
                            "freebase",
                            "yago"
                        })
                        public static class Disambiguated {

                            @XmlElement(required = true)
                            protected String name;
                            protected List<String> subType;
                            @XmlElement(required = true)
                            @XmlSchemaType(name = "anyURI")
                            protected String website;
                            @XmlElement(required = true)
                            @XmlSchemaType(name = "anyURI")
                            protected String dbpedia;
                            @XmlElement(required = true)
                            @XmlSchemaType(name = "anyURI")
                            protected String freebase;
                            @XmlElement(required = true)
                            @XmlSchemaType(name = "anyURI")
                            protected String yago;

                            /**
                             * Gets the value of the name property.
                             * 
                             * @return
                             *     possible object is
                             *     {@link String }
                             *     
                             */
                            public String getName() {
                                return name;
                            }

                            /**
                             * Sets the value of the name property.
                             * 
                             * @param value
                             *     allowed object is
                             *     {@link String }
                             *     
                             */
                            public void setName(String value) {
                                this.name = value;
                            }

                            /**
                             * Gets the value of the subType property.
                             * 
                             * <p>
                             * This accessor method returns a reference to the live list,
                             * not a snapshot. Therefore any modification you make to the
                             * returned list will be present inside the JAXB object.
                             * This is why there is not a <CODE>set</CODE> method for the subType property.
                             * 
                             * <p>
                             * For example, to add a new item, do as follows:
                             * <pre>
                             *    getSubType().add(newItem);
                             * </pre>
                             * 
                             * 
                             * <p>
                             * Objects of the following type(s) are allowed in the list
                             * {@link String }
                             * 
                             * 
                             */
                            public List<String> getSubType() {
                                if (subType == null) {
                                    subType = new ArrayList<String>();
                                }
                                return this.subType;
                            }

                            /**
                             * Gets the value of the website property.
                             * 
                             * @return
                             *     possible object is
                             *     {@link String }
                             *     
                             */
                            public String getWebsite() {
                                return website;
                            }

                            /**
                             * Sets the value of the website property.
                             * 
                             * @param value
                             *     allowed object is
                             *     {@link String }
                             *     
                             */
                            public void setWebsite(String value) {
                                this.website = value;
                            }

                            /**
                             * Gets the value of the dbpedia property.
                             * 
                             * @return
                             *     possible object is
                             *     {@link String }
                             *     
                             */
                            public String getDbpedia() {
                                return dbpedia;
                            }

                            /**
                             * Sets the value of the dbpedia property.
                             * 
                             * @param value
                             *     allowed object is
                             *     {@link String }
                             *     
                             */
                            public void setDbpedia(String value) {
                                this.dbpedia = value;
                            }

                            /**
                             * Gets the value of the freebase property.
                             * 
                             * @return
                             *     possible object is
                             *     {@link String }
                             *     
                             */
                            public String getFreebase() {
                                return freebase;
                            }

                            /**
                             * Sets the value of the freebase property.
                             * 
                             * @param value
                             *     allowed object is
                             *     {@link String }
                             *     
                             */
                            public void setFreebase(String value) {
                                this.freebase = value;
                            }

                            /**
                             * Gets the value of the yago property.
                             * 
                             * @return
                             *     possible object is
                             *     {@link String }
                             *     
                             */
                            public String getYago() {
                                return yago;
                            }

                            /**
                             * Sets the value of the yago property.
                             * 
                             * @param value
                             *     allowed object is
                             *     {@link String }
                             *     
                             */
                            public void setYago(String value) {
                                this.yago = value;
                            }

                        }

                    }

                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType&gt;
                 *   &lt;complexContent&gt;
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *       &lt;sequence&gt;
                 *         &lt;element name="keyword" maxOccurs="unbounded" minOccurs="0"&gt;
                 *           &lt;complexType&gt;
                 *             &lt;complexContent&gt;
                 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *                 &lt;sequence&gt;
                 *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                 *                 &lt;/sequence&gt;
                 *               &lt;/restriction&gt;
                 *             &lt;/complexContent&gt;
                 *           &lt;/complexType&gt;
                 *         &lt;/element&gt;
                 *       &lt;/sequence&gt;
                 *     &lt;/restriction&gt;
                 *   &lt;/complexContent&gt;
                 * &lt;/complexType&gt;
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "", propOrder = {
                    "keyword"
                })
                public static class Keywords {

                    protected List<Results.Relations.Relation.Object.Keywords.Keyword> keyword;

                    /**
                     * Gets the value of the keyword property.
                     * 
                     * <p>
                     * This accessor method returns a reference to the live list,
                     * not a snapshot. Therefore any modification you make to the
                     * returned list will be present inside the JAXB object.
                     * This is why there is not a <CODE>set</CODE> method for the keyword property.
                     * 
                     * <p>
                     * For example, to add a new item, do as follows:
                     * <pre>
                     *    getKeyword().add(newItem);
                     * </pre>
                     * 
                     * 
                     * <p>
                     * Objects of the following type(s) are allowed in the list
                     * {@link Results.Relations.Relation.Object.Keywords.Keyword }
                     * 
                     * 
                     */
                    public List<Results.Relations.Relation.Object.Keywords.Keyword> getKeyword() {
                        if (keyword == null) {
                            keyword = new ArrayList<Results.Relations.Relation.Object.Keywords.Keyword>();
                        }
                        return this.keyword;
                    }


                    /**
                     * <p>Java class for anonymous complex type.
                     * 
                     * <p>The following schema fragment specifies the expected content contained within this class.
                     * 
                     * <pre>
                     * &lt;complexType&gt;
                     *   &lt;complexContent&gt;
                     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                     *       &lt;sequence&gt;
                     *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                     *       &lt;/sequence&gt;
                     *     &lt;/restriction&gt;
                     *   &lt;/complexContent&gt;
                     * &lt;/complexType&gt;
                     * </pre>
                     * 
                     * 
                     */
                    @XmlAccessorType(XmlAccessType.FIELD)
                    @XmlType(name = "", propOrder = {
                        "text"
                    })
                    public static class Keyword {

                        @XmlElement(required = true)
                        protected String text;

                        /**
                         * Gets the value of the text property.
                         * 
                         * @return
                         *     possible object is
                         *     {@link String }
                         *     
                         */
                        public String getText() {
                            return text;
                        }

                        /**
                         * Sets the value of the text property.
                         * 
                         * @param value
                         *     allowed object is
                         *     {@link String }
                         *     
                         */
                        public void setText(String value) {
                            this.text = value;
                        }

                    }

                }

            }


            /**
             * <p>Java class for anonymous complex type.
             * 
             * <p>The following schema fragment specifies the expected content contained within this class.
             * 
             * <pre>
             * &lt;complexType&gt;
             *   &lt;complexContent&gt;
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *       &lt;sequence&gt;
             *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *         &lt;element name="keywords" minOccurs="0"&gt;
             *           &lt;complexType&gt;
             *             &lt;complexContent&gt;
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                 &lt;sequence&gt;
             *                   &lt;element name="keyword"&gt;
             *                     &lt;complexType&gt;
             *                       &lt;complexContent&gt;
             *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *                           &lt;sequence&gt;
             *                             &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
             *                           &lt;/sequence&gt;
             *                         &lt;/restriction&gt;
             *                       &lt;/complexContent&gt;
             *                     &lt;/complexType&gt;
             *                   &lt;/element&gt;
             *                 &lt;/sequence&gt;
             *               &lt;/restriction&gt;
             *             &lt;/complexContent&gt;
             *           &lt;/complexType&gt;
             *         &lt;/element&gt;
             *       &lt;/sequence&gt;
             *     &lt;/restriction&gt;
             *   &lt;/complexContent&gt;
             * &lt;/complexType&gt;
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "text",
                "keywords"
            })
            public static class Subject {

                @XmlElement(required = true)
                protected String text;
                protected Results.Relations.Relation.Subject.Keywords keywords;

                /**
                 * Gets the value of the text property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getText() {
                    return text;
                }

                /**
                 * Sets the value of the text property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setText(String value) {
                    this.text = value;
                }

                /**
                 * Gets the value of the keywords property.
                 * 
                 * @return
                 *     possible object is
                 *     {@link Results.Relations.Relation.Subject.Keywords }
                 *     
                 */
                public Results.Relations.Relation.Subject.Keywords getKeywords() {
                    return keywords;
                }

                /**
                 * Sets the value of the keywords property.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link Results.Relations.Relation.Subject.Keywords }
                 *     
                 */
                public void setKeywords(Results.Relations.Relation.Subject.Keywords value) {
                    this.keywords = value;
                }


                /**
                 * <p>Java class for anonymous complex type.
                 * 
                 * <p>The following schema fragment specifies the expected content contained within this class.
                 * 
                 * <pre>
                 * &lt;complexType&gt;
                 *   &lt;complexContent&gt;
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *       &lt;sequence&gt;
                 *         &lt;element name="keyword"&gt;
                 *           &lt;complexType&gt;
                 *             &lt;complexContent&gt;
                 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                 *                 &lt;sequence&gt;
                 *                   &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                 *                 &lt;/sequence&gt;
                 *               &lt;/restriction&gt;
                 *             &lt;/complexContent&gt;
                 *           &lt;/complexType&gt;
                 *         &lt;/element&gt;
                 *       &lt;/sequence&gt;
                 *     &lt;/restriction&gt;
                 *   &lt;/complexContent&gt;
                 * &lt;/complexType&gt;
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "", propOrder = {
                    "keyword"
                })
                public static class Keywords {

                    @XmlElement(required = true)
                    protected Results.Relations.Relation.Subject.Keywords.Keyword keyword;

                    /**
                     * Gets the value of the keyword property.
                     * 
                     * @return
                     *     possible object is
                     *     {@link Results.Relations.Relation.Subject.Keywords.Keyword }
                     *     
                     */
                    public Results.Relations.Relation.Subject.Keywords.Keyword getKeyword() {
                        return keyword;
                    }

                    /**
                     * Sets the value of the keyword property.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link Results.Relations.Relation.Subject.Keywords.Keyword }
                     *     
                     */
                    public void setKeyword(Results.Relations.Relation.Subject.Keywords.Keyword value) {
                        this.keyword = value;
                    }


                    /**
                     * <p>Java class for anonymous complex type.
                     * 
                     * <p>The following schema fragment specifies the expected content contained within this class.
                     * 
                     * <pre>
                     * &lt;complexType&gt;
                     *   &lt;complexContent&gt;
                     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
                     *       &lt;sequence&gt;
                     *         &lt;element name="text" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
                     *       &lt;/sequence&gt;
                     *     &lt;/restriction&gt;
                     *   &lt;/complexContent&gt;
                     * &lt;/complexType&gt;
                     * </pre>
                     * 
                     * 
                     */
                    @XmlAccessorType(XmlAccessType.FIELD)
                    @XmlType(name = "", propOrder = {
                        "text"
                    })
                    public static class Keyword {

                        @XmlElement(required = true)
                        protected String text;

                        /**
                         * Gets the value of the text property.
                         * 
                         * @return
                         *     possible object is
                         *     {@link String }
                         *     
                         */
                        public String getText() {
                            return text;
                        }

                        /**
                         * Sets the value of the text property.
                         * 
                         * @param value
                         *     allowed object is
                         *     {@link String }
                         *     
                         */
                        public void setText(String value) {
                            this.text = value;
                        }

                    }

                }

            }

        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="element" maxOccurs="unbounded" minOccurs="0"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="confident" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
     *                   &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
     *                   &lt;element name="score" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "element"
    })
    public static class Taxonomy {

        protected List<Results.Taxonomy.Element> element;

        /**
         * Gets the value of the element property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the element property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getElement().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link Results.Taxonomy.Element }
         * 
         * 
         */
        public List<Results.Taxonomy.Element> getElement() {
            if (element == null) {
                element = new ArrayList<Results.Taxonomy.Element>();
            }
            return this.element;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType&gt;
         *   &lt;complexContent&gt;
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *       &lt;sequence&gt;
         *         &lt;element name="confident" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
         *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
         *         &lt;element name="score" type="{http://www.w3.org/2001/XMLSchema}float"/&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "confident",
            "label",
            "score"
        })
        public static class Element {

            protected String confident;
            @XmlElement(required = true)
            protected String label;
            protected float score;

            /**
             * Gets the value of the confident property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getConfident() {
                return confident;
            }

            /**
             * Sets the value of the confident property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setConfident(String value) {
                this.confident = value;
            }

            /**
             * Gets the value of the label property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getLabel() {
                return label;
            }

            /**
             * Sets the value of the label property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setLabel(String value) {
                this.label = value;
            }

            /**
             * Gets the value of the score property.
             * 
             */
            public float getScore() {
                return score;
            }

            /**
             * Sets the value of the score property.
             * 
             */
            public void setScore(float value) {
                this.score = value;
            }

        }

    }

}