01: /*
02: (c) Copyright 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
03: [See end of file]
04: $Id: NamedTripleBunches.java,v 1.8 2008/01/02 12:07:57 andy_seaborne Exp $
05: */
06:
07: package com.hp.hpl.jena.graph.query;
08:
09: import com.hp.hpl.jena.graph.Triple;
10: import com.hp.hpl.jena.util.CollectionFactory;
11:
12: import java.util.*;
13:
14: /**
15: A NamedTripleBunches maps a [graph] name to a bunch of triples associated
16: with that name.
17:
18: @author hedgehog
19: */
20: public class NamedTripleBunches {
21: private Map triples = CollectionFactory.createHashedMap();
22:
23: /**
24: A more-or-less internal object for referring to the "default" graph in a query.
25: */
26: public static final String anon = "<this>";
27:
28: /**
29: Initialise an empty set of named bunches.
30: */
31: public NamedTripleBunches() {
32: }
33:
34: /**
35: Associate another triple with the given name.
36: @param name the [graph] name for the buinch to add this triple to
37: @param pattern the triple to add to the bunch
38: */
39: public void add(String name, Triple pattern) {
40: triples.put(name, SimpleQueryEngine.cons(pattern, triples
41: .get(name)));
42: }
43:
44: /**
45: Answer an iterator over the entry set of the associated map: this will be
46: cleaned up as we refactor.
47: */
48: public Iterator entrySetIterator() {
49: return triples.entrySet().iterator();
50: }
51: }
52:
53: /*
54: (c) Copyright 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
55: All rights reserved.
56:
57: Redistribution and use in source and binary forms, with or without
58: modification, are permitted provided that the following conditions
59: are met:
60:
61: 1. Redistributions of source code must retain the above copyright
62: notice, this list of conditions and the following disclaimer.
63:
64: 2. Redistributions in binary form must reproduce the above copyright
65: notice, this list of conditions and the following disclaimer in the
66: documentation and/or other materials provided with the distribution.
67:
68: 3. The name of the author may not be used to endorse or promote products
69: derived from this software without specific prior written permission.
70:
71: THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
72: IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
73: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
74: IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
75: INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
76: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
77: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
78: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
79: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
80: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
81: */
|