Source code: nl/aidministrator/rdf/sail/Sail.java
1 /* Sesame - Storage and Querying architecture for RDF and RDF Schema
2 * Copyright (C) 2002 Aidministrator Nederland b.v.
3 *
4 * Contact:
5 * Aidministrator Nederland b.v.
6 * Julianaplein 14b
7 * 3817 CS Amersfoort
8 * The Netherlands
9 * tel. +31(0)33 4659987
10 * fax. +31(0)33 4659987
11 * sesame@aidministrator.nl
12 *
13 * http://www.aidministrator.nl/
14 *
15 * This library is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU Lesser General Public
17 * License as published by the Free Software Foundation; either
18 * version 2.1 of the License, or (at your option) any later version.
19 *
20 * This library is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 * Lesser General Public License for more details.
24 *
25 * You should have received a copy of the GNU Lesser General Public
26 * License along with this library; if not, write to the Free Software
27 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 */
29
30 package nl.aidministrator.rdf.sail;
31
32 import java.util.Map;
33 import nl.aidministrator.rdf.sail.model.*;
34
35 /**
36 * An interface for an RDF-based Storage And Inference Layer. This interface
37 * only defines methods for initializing and shutting down a repository.
38 * The extensions of this interface (RdfSource, RdfRepository, RdfSchemaSource
39 * and RdfSchemaRepository) define methods for querying and manipulating the
40 * contents of the repository. These interfaces are organized in a hierarachy
41 * like this:
42 * <pre>
43 * Sail
44 * ^
45 * |
46 * RdfSource
47 * ^ ^
48 * / \
49 * RdfRepository RdfSchemaSource
50 * ^ ^
51 * \ /
52 * RdfSchemaRepository
53 * </pre>
54 *
55 * All methods in this interface, or in any extension of this interface, can
56 * throw SailInternalException's (a RuntimeException) to indicate an error or
57 * an unexpected situation in the RDF Sail internally (e.g. the database to
58 * connect to does not exist).
59 *
60 * @author Arjohn Kampman
61 * @version 1.4, 02/07/02
62 */
63 public interface Sail {
64
65 /**
66 * Initializes the Sail using a set of configuration parameters. The
67 * relevant names and values of the parameters are determined by the
68 * implementation of the interface.
69 *
70 * @param configParams A set a configuration parameters.
71 * @exception SailInitializationException If the Sail could not be
72 * initialized.
73 * @exception SailInternalException To indicate an internal error.
74 */
75 public void initialize(Map configParams)
76 throws SailInitializationException;
77
78 /**
79 * Allow the SAIL to synchronize any stale data. The SAIL can assume that
80 * shutDown() is called before an application is stopped.
81 *
82 * @exception SailInternalException To indicate an internal error.
83 */
84 public void shutDown();
85 }