01: /******************************************************************
02: * File: Derivation.java
03: * Created by: Dave Reynolds
04: * Created on: 06-Apr-03
05: *
06: * (c) Copyright 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
07: * [See end of file]
08: * $Id: Derivation.java,v 1.10 2008/01/02 12:07:00 andy_seaborne Exp $
09: *****************************************************************/package com.hp.hpl.jena.reasoner;
10:
11: import java.io.PrintWriter;
12:
13: /**
14: * Derivation records are used to determine how an inferred triple
15: * was derived from a set of source triples and a reasoner. SubClasses
16: * provide more specific information.
17: *
18: * <p>A future option might be to generate an RDF description of
19: * the derivation trace. </p>
20: *
21: * @author <a href="mailto:der@hplb.hpl.hp.com">Dave Reynolds</a>
22: * @version $Revision: 1.10 $ on $Date: 2008/01/02 12:07:00 $
23: */
24: public interface Derivation {
25:
26: /**
27: * Return a short-form description of this derivation.
28: */
29: public String toString();
30:
31: /**
32: * Print a deep traceback of this derivation back to axioms and
33: * source assertions.
34: * @param out the stream to print the trace out to
35: * @param bindings set to true to print intermediate variable bindings for
36: * each stage in the derivation
37: */
38: public void printTrace(PrintWriter out, boolean bindings);
39: }
40:
41: /*
42: (c) Copyright 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
43: All rights reserved.
44:
45: Redistribution and use in source and binary forms, with or without
46: modification, are permitted provided that the following conditions
47: are met:
48:
49: 1. Redistributions of source code must retain the above copyright
50: notice, this list of conditions and the following disclaimer.
51:
52: 2. Redistributions in binary form must reproduce the above copyright
53: notice, this list of conditions and the following disclaimer in the
54: documentation and/or other materials provided with the distribution.
55:
56: 3. The name of the author may not be used to endorse or promote products
57: derived from this software without specific prior written permission.
58:
59: THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
60: IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
61: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
62: IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
63: INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
64: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
65: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
66: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
67: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
68: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
69: */
|