All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.protege.editor.owl.ui.clsdescriptioneditor.SWRLRuleChecker Maven / Gradle / Ivy

package org.protege.editor.owl.ui.clsdescriptioneditor;

import org.protege.editor.owl.model.OWLModelManager;
import org.protege.editor.owl.model.classexpression.OWLExpressionParserException;
import org.protege.editor.owl.model.parser.ParserUtil;
import org.protege.editor.owl.model.parser.ProtegeOWLEntityChecker;
import org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxParserImpl;
import org.semanticweb.owlapi.manchestersyntax.renderer.ParserException;
import org.semanticweb.owlapi.model.OWLOntologyLoaderConfiguration;
import org.semanticweb.owlapi.model.SWRLRule;
import org.semanticweb.owlapi.util.mansyntax.ManchesterOWLSyntaxParser;

/**
 * Author: drummond
* http://www.cs.man.ac.uk/~drummond/

* The University Of Manchester
* Bio Health Informatics Group
* Date: Jul 23, 2008

* */ class SWRLRuleChecker implements OWLExpressionChecker { private OWLModelManager mngr; public SWRLRuleChecker(OWLModelManager mngr) { this.mngr = mngr; } public void check(String text) throws OWLExpressionParserException { createObject(text); } public SWRLRule createObject(String text) throws OWLExpressionParserException { ManchesterOWLSyntaxParser parser = new ManchesterOWLSyntaxParserImpl(OWLOntologyLoaderConfiguration::new, mngr.getOWLDataFactory()); parser.setOWLEntityChecker(new ProtegeOWLEntityChecker(mngr.getOWLEntityFinder())); parser.setStringToParse(text); try { return (SWRLRule) parser.parseRuleFrame().iterator().next().getAxiom(); } catch (ParserException e) { throw ParserUtil.convertException(e); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy