// Path: src/main/java/fr/eurecom/stanfordnlprestapi/enums/NlpProcess.java
// public enum NlpProcess {
//   NER,
//   POS,
//   TOKENIZE,
//   COREF,
//   DATE,
//   NUMBER,
//   GAZETTEER
// }
// 
// Path: src/main/java/fr/eurecom/stanfordnlprestapi/interfaces/Sentence.java
// public interface Sentence {
//   void addToken(final Token newToken);
// 
//   void addEntity(final Entity newEntity);
//   
//   void addCoref(final Coref newCoref);
// 
//   void nextSentence(final Sentence newNextSentence);
// 
//   List<Entity> entities();
// 
//   int index();
// 
//   int start();
// 
//   int end();
// 
//   Model rdfModel(final String tool, final NlpProcess process, final String host);
// }


import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.rdf.model.ResourceFactory;
import org.apache.jena.riot.RDFDataMgr;
import org.apache.jena.riot.RDFFormat;
import org.apache.jena.vocabulary.RDF;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fr.eurecom.stanfordnlprestapi.enums.NlpProcess;
import fr.eurecom.stanfordnlprestapi.interfaces.Sentence;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.jena.datatypes.xsd.XSDDatatype;
/**
 * StanfordNLPRESTAPI - Offering a REST API over Stanford CoreNLP to get results in NIF format.
 * Copyright © 2017 Julien Plu (julien.plu@redaction-developpez.com)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
package fr.eurecom.stanfordnlprestapi.datatypes;










/**
 * This class represents a NIF context that is aligned to the corresponding Stanford NLP
 * annotations.
 *
 * @author Julien Plu
 */
public class Context {
  static final Logger LOGGER = LoggerFactory.getLogger(Context.class);
  private final String text;
  private final int start;
  private final int end;
// Path: src/main/java/fr/eurecom/stanfordnlprestapi/enums/NlpProcess.java
// public enum NlpProcess {
//   NER,
//   POS,
//   TOKENIZE,
//   COREF,
//   DATE,
//   NUMBER,
//   GAZETTEER
// }
// 
// Path: src/main/java/fr/eurecom/stanfordnlprestapi/interfaces/Sentence.java
// public interface Sentence {
//   void addToken(final Token newToken);
// 
//   void addEntity(final Entity newEntity);
//   
//   void addCoref(final Coref newCoref);
// 
//   void nextSentence(final Sentence newNextSentence);
// 
//   List<Entity> entities();
// 
//   int index();
// 
//   int start();
// 
//   int end();
// 
//   Model rdfModel(final String tool, final NlpProcess process, final String host);
// }


// Path: src/main/java/fr/eurecom/stanfordnlprestapi/datatypes/Context.java
import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.rdf.model.ResourceFactory;
import org.apache.jena.riot.RDFDataMgr;
import org.apache.jena.riot.RDFFormat;
import org.apache.jena.vocabulary.RDF;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fr.eurecom.stanfordnlprestapi.enums.NlpProcess;
import fr.eurecom.stanfordnlprestapi.interfaces.Sentence;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.jena.datatypes.xsd.XSDDatatype;

/**
 * StanfordNLPRESTAPI - Offering a REST API over Stanford CoreNLP to get results in NIF format.
 * Copyright © 2017 Julien Plu (julien.plu@redaction-developpez.com)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
package fr.eurecom.stanfordnlprestapi.datatypes;










/**
 * This class represents a NIF context that is aligned to the corresponding Stanford NLP
 * annotations.
 *
 * @author Julien Plu
 */
public class Context {
  static final Logger LOGGER = LoggerFactory.getLogger(Context.class);
  private final String text;
  private final int start;
  private final int end;
  private final List<Sentence> sentences;