Triple.java
01 /*
02  *  Copyright (c) 1995-2012, The University of Sheffield. See the file
03  *  COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
04  *
05  *  This file is part of GATE (see http://gate.ac.uk/), and is free
06  *  software, licenced under the GNU Library General Public License,
07  *  Version 2, June 1991 (in the distribution as file licence.html,
08  *  and also available at http://gate.ac.uk/gate/licence.html).
09  *
10  *  $Id: Triple.java 15333 2012-02-07 13:18:33Z ian_roberts $
11  */
12 package gate.creole.ontology;
13 
14 /**
15  * A Triple represents an RDF Triple from the underlying triple store and
16  * consists of a subject, predicate and object.
17  * A specific implementation may go beyond this definition and provide 
18  * additional, implementation-specific extensions, e.g. for quads, 
19  * triple ids, or for arbitrary context URIs. 
20  *
21  @author Johann Petrak
22  */
23 public interface Triple {
24   public ONodeID getSubject();
25   public OURI getPredicate();
26   public LiteralOrONodeID getObject();
27 
28   /**
29    * Return a printable representation of the triple, this may be implementation
30    * dependent but should ideally adhere to Turtle syntax.
31    */
32   @Override
33   public String toString();
34   
35   /**
36    * Return the Turtle representation of the triple
37    */
38   public String toTurtle();
39 
40 }