Package com.hp.hpl.jena.eyeball.loaders

Source Code of com.hp.hpl.jena.eyeball.loaders.OntLoader

/*
(c) Copyright 2006, 2007, 2008 Hewlett-Packard Development Company, LP
All rights reserved - see end of file.
$Id: OntLoader.java,v 1.6 2008/11/04 09:40:54 chris-dollin Exp $
*/

package com.hp.hpl.jena.eyeball.loaders;

import com.hp.hpl.jena.assembler.assemblers.OntModelSpecAssembler;
import com.hp.hpl.jena.ontology.*;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.shared.NotFoundException;

/**
    An OntLoader loads ontology models given their URIs, relying on a base
    Loader for the base model. A URI of the form ont:NAME:baseModel
    constructs an ontology model with the base given by the baseModel
    and usign OntModelSpec.NAME as the specification. Other URIs are
    wrapped in RDFS inference.
   
    @author kers
*/

public class OntLoader
    {
    /**
        The loader used to get base models.
    */
    protected final Loader base;

    /**
        Initialise this OntLoader with a base-model loader <code>base</code>.
    */
    public OntLoader( Loader base )
        { this.base = base; }

    /**
         Answer an OWL_MEM OntModel with the base given by the base loader
         applied to <code>s</code>, unless the s ~~ "ont:NAME:baseName",
         in which case the constructing Spec is OntModelSpec.NAME.
    */
    public OntModel ontLoad( String s )
        {
        if (s.matches( "ont:[A-Za-z_]+:.*" ))
            {
            int secondColon = s.indexOf( ':', 4 );
            String specName = s.substring( 4, secondColon );
            OntModelSpec spec = OntModelSpecAssembler.getOntModelSpecField( specName );
            if (spec == null) throw new NotFoundException( specName );
            return ModelFactory.createOntologyModel
                ( spec, base.load( s.substring( secondColon + 1 ) ) );
            }
        else
            {
            OntModelSpec spec = OntModelSpec.OWL_MEM;
            return ModelFactory.createOntologyModel( spec, base.load( s ) );
            }
        }
    }

/*
* (c) Copyright 2006, 2007, 2008 Hewlett-Packard Development Company, LP All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. The name of the author may not
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
TOP

Related Classes of com.hp.hpl.jena.eyeball.loaders.OntLoader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.