01: /*
02: * LICENSE INFORMATION
03: * Copyright 2005-2007 by FZI (http://www.fzi.de).
04: * Licensed under a BSD license (http://www.opensource.org/licenses/bsd-license.php)
05: * <OWNER> = Max Völkel
06: * <ORGANIZATION> = FZI Forschungszentrum Informatik Karlsruhe, Karlsruhe, Germany
07: * <YEAR> = 2007
08: *
09: * Project information at http://semweb4j.org/rdf2go
10: */
11: package org.ontoware.rdf2go.model;
12:
13: import org.ontoware.rdf2go.model.node.Node;
14: import org.ontoware.rdf2go.model.node.Resource;
15: import org.ontoware.rdf2go.model.node.URI;
16:
17: /**
18: * Statement representation in rdf2go
19: *
20: * Implementations of Statement should have valid implementations of hashCode
21: * and equals.
22: *
23: * Compared by subject
24: *
25: * @author mvo
26: *
27: */
28: public interface Statement extends Comparable<Statement>, TriplePattern {
29:
30: /**
31: * Note: this was set to be a <code>Model</code> before, but that would
32: * have caused problems, when people accesssed the model via the Statement.
33: * (compare to Jena, where graph and Model are separated. We are here on
34: * graph level)
35: *
36: * @return the context, where this statement was created. Returns null when
37: * not in a ModelSet.
38: */
39: public URI getContext();
40:
41: /**
42: *
43: * @return URI or BlankNode
44: */
45: public Resource getSubject();
46:
47: /**
48: * @return The URI representing the predicate (property)
49: */
50: public URI getPredicate();
51:
52: /**
53: * @return URI, String, TypedLiteral, LanguageTaggedLiteral or BlankNode
54: */
55: public Node getObject();
56:
57: /**
58: * debug output. Lazy implementation can just do nothing.
59: *
60: * @param options
61: */
62: public void dump(String[] options);
63:
64: public int hashCode();
65:
66: public boolean equals(Object other);
67:
68: }
|