01: /*
02: (c) Copyright 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
03: All rights reserved - see end of file.
04: $Id: InfModelAssembler.java,v 1.7 2008/01/03 15:19:05 chris-dollin Exp $
05: */
06:
07: package com.hp.hpl.jena.assembler.assemblers;
08:
09: import com.hp.hpl.jena.assembler.*;
10: import com.hp.hpl.jena.rdf.model.*;
11: import com.hp.hpl.jena.reasoner.*;
12: import com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasonerFactory;
13:
14: public class InfModelAssembler extends ModelAssembler {
15: protected Model openEmptyModel(Assembler a, Resource root, Mode mode) {
16: checkType(root, JA.InfModel);
17: Model base = getBase(a, root, mode);
18: Reasoner reasoner = getReasoner(a, root);
19: InfModel result = ModelFactory.createInfModel(reasoner, base);
20: return result;
21: }
22:
23: protected Model getBase(Assembler a, Resource root, Mode mode) {
24: Resource base = getUniqueResource(root, JA.baseModel);
25: return base == null ? ModelFactory.createDefaultModel() : a
26: .openModel(base, mode);
27: }
28:
29: protected Reasoner getReasoner(Assembler a, Resource root) {
30: return getReasonerFactory(a, root).create(root);
31: }
32:
33: protected ReasonerFactory getReasonerFactory(Assembler a,
34: Resource root) {
35: Resource factory = getUniqueResource(root, JA.reasoner);
36: return factory == null ? GenericRuleReasonerFactory
37: .theInstance() : (ReasonerFactory) a.open(factory);
38: }
39: }
40:
41: /*
42: * (c) Copyright 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: * 1. Redistributions of source code must retain the above copyright
49: * notice, this list of conditions and the following disclaimer.
50: * 2. Redistributions in binary form must reproduce the above copyright
51: * notice, this list of conditions and the following disclaimer in the
52: * documentation and/or other materials provided with the distribution.
53: * 3. The name of the author may not be used to endorse or promote products
54: * derived from this software without specific prior written permission.
55: *
56: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
57: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
58: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
59: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
60: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
61: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
62: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
63: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
64: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
65: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
66: */
|