You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by an...@apache.org on 2012/03/28 17:00:10 UTC
svn commit: r1306390 [8/10] - in /incubator/stanbol/trunk/rules/manager: ./
RuleConf/ demo/ src/main/java/org/apache/stanbol/rules/manager/
src/main/java/org/apache/stanbol/rules/manager/arqextention/
src/main/java/org/apache/stanbol/rules/manager/atom...
Modified: incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/parse/RuleParserImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/parse/RuleParserImpl.java?rev=1306390&r1=1306389&r2=1306390&view=diff
==============================================================================
--- incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/parse/RuleParserImpl.java (original)
+++ incubator/stanbol/trunk/rules/manager/src/main/java/org/apache/stanbol/rules/manager/parse/RuleParserImpl.java Wed Mar 28 15:00:06 2012
@@ -1,19 +1,19 @@
/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
/* Generated By:JavaCC: Do not edit this line. RuleParserImpl.java */
package org.apache.stanbol.rules.manager.parse;
@@ -23,12 +23,10 @@ import java.io.Reader;
import java.io.StringReader;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.Iterator;
+import org.apache.clerezza.rdf.core.UriRef;
import org.apache.stanbol.rules.base.api.Rule;
import org.apache.stanbol.rules.base.api.RuleAtom;
-import org.apache.stanbol.rules.base.api.RuleExpressiveness;
-import org.apache.stanbol.rules.base.api.URIResource;
import org.apache.stanbol.rules.base.api.util.AtomList;
import org.apache.stanbol.rules.manager.KB;
import org.apache.stanbol.rules.manager.RuleImpl;
@@ -38,31 +36,37 @@ import org.apache.stanbol.rules.manager.
import org.apache.stanbol.rules.manager.atoms.CreateLabelAtom;
import org.apache.stanbol.rules.manager.atoms.DatavaluedPropertyAtom;
import org.apache.stanbol.rules.manager.atoms.DifferentAtom;
+import org.apache.stanbol.rules.manager.atoms.DivisionAtom;
import org.apache.stanbol.rules.manager.atoms.EndsWithAtom;
+import org.apache.stanbol.rules.manager.atoms.ExpressionAtom;
+import org.apache.stanbol.rules.manager.atoms.GreaterEqualThanAtom;
import org.apache.stanbol.rules.manager.atoms.GreaterThanAtom;
+import org.apache.stanbol.rules.manager.atoms.IObjectAtom;
import org.apache.stanbol.rules.manager.atoms.IndividualPropertyAtom;
import org.apache.stanbol.rules.manager.atoms.IsBlankAtom;
import org.apache.stanbol.rules.manager.atoms.LengthAtom;
+import org.apache.stanbol.rules.manager.atoms.LessEqualThanAtom;
import org.apache.stanbol.rules.manager.atoms.LessThanAtom;
import org.apache.stanbol.rules.manager.atoms.LetAtom;
import org.apache.stanbol.rules.manager.atoms.LocalNameAtom;
import org.apache.stanbol.rules.manager.atoms.LowerCaseAtom;
+import org.apache.stanbol.rules.manager.atoms.MultiplicationAtom;
import org.apache.stanbol.rules.manager.atoms.NamespaceAtom;
-import org.apache.stanbol.rules.manager.atoms.NewNodeAtom;
+import org.apache.stanbol.rules.manager.atoms.NewIRIAtom;
+import org.apache.stanbol.rules.manager.atoms.NewLiteralAtom;
import org.apache.stanbol.rules.manager.atoms.NotAtom;
import org.apache.stanbol.rules.manager.atoms.NumberAtom;
import org.apache.stanbol.rules.manager.atoms.NumericFunctionAtom;
+import org.apache.stanbol.rules.manager.atoms.NumericVariableAtom;
import org.apache.stanbol.rules.manager.atoms.PropStringAtom;
import org.apache.stanbol.rules.manager.atoms.ResourceAtom;
import org.apache.stanbol.rules.manager.atoms.RuleBlankNode;
-import org.apache.stanbol.rules.manager.atoms.SPARQLcAtom;
-import org.apache.stanbol.rules.manager.atoms.SPARQLdAtom;
-import org.apache.stanbol.rules.manager.atoms.SPARQLddAtom;
import org.apache.stanbol.rules.manager.atoms.SameAtom;
import org.apache.stanbol.rules.manager.atoms.StartsWithAtom;
import org.apache.stanbol.rules.manager.atoms.StrAtom;
import org.apache.stanbol.rules.manager.atoms.StringAtom;
import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+import org.apache.stanbol.rules.manager.atoms.StringVariableAtom;
import org.apache.stanbol.rules.manager.atoms.SubstringAtom;
import org.apache.stanbol.rules.manager.atoms.SubtractionAtom;
import org.apache.stanbol.rules.manager.atoms.SumAtom;
@@ -74,1464 +78,1723 @@ import org.apache.stanbol.rules.manager.
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Resource;
-public class RuleParserImpl implements RuleParserConstants {
+@SuppressWarnings("unused")
+public class RuleParserImpl implements RuleParserImplConstants {
- static KB kb;
+ static KB kb;
- public static KB parse(String inString) {
-
- kb = new KB();
- Reader reader = new StringReader(inString);
- RuleParserImpl parser = new RuleParserImpl(reader);
- try {
- parser.start();
- } catch (TokenMgrError e) {
- throw new IllegalStateException(e);
- } catch (ParseException e) {
- throw new IllegalStateException(e);
- }
- return kb;
- }
-
- public static KB parse(InputStream inStream) {
-
- kb = new KB();
- Reader reader = new InputStreamReader(inStream);
- RuleParserImpl parser = new RuleParserImpl(reader);
- try {
- parser.start();
- } catch (TokenMgrError e) {
- throw new IllegalStateException(e);
- } catch (ParseException e) {
- throw new IllegalStateException(e);
- }
- return kb;
- }
-
- private static URI getSWRLArgument(String argument) {
- Resource rdfNode = null;
- String[] argumentComposition = argument.split(":");
- if (argumentComposition.length == 2) {
- String prefix = argumentComposition[0];
- String resourceName = argumentComposition[1];
-
- String namespaceURI = kb.getPrefixURI(prefix);
- rdfNode = ModelFactory.createDefaultModel().createResource(
- namespaceURI + resourceName);
- try {
- return new URI(rdfNode.getURI());
- } catch (URISyntaxException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
-
- return null;
- }
-
- private static URI getSWRLVariable(String argument) {
- Resource variableResource = null;
- String variableString = argument.substring(1);
-
- variableResource = ModelFactory.createDefaultModel().createResource(
- kb.getPrefixURI("var") + variableString);
-
- try {
- return new URI(variableResource.getURI());
- } catch (URISyntaxException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return null;
- }
- }
-
- final public void start() throws ParseException {
- expression();
- expressionCont();
- }
-
- final public void expressionCont() throws ParseException {
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case AND:
- jj_consume_token(AND);
- expression();
- break;
- default:
- jj_la1[0] = jj_gen;
-
- }
- }
-
- final public void expression() throws ParseException {
- Rule rule;
- prefix();
- expressionCont();
- }
-
- final public void prefix() throws ParseException {
- String nsPrefix;
- Object obj;
- Rule rule;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case VAR:
- nsPrefix = getVariable();
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case EQUAL:
- obj = equality();
- String prefixURI = (String) obj;
- prefixURI = prefixURI.substring(1, prefixURI.length() - 1);
- kb.addPrefix(nsPrefix, prefixURI);
- break;
- case LQUAD:
- obj = rule();
- AtomList[] atoms = (AtomList[]) obj;
- String varPrefix = kb.getPrefixURI("var");
- varPrefix = varPrefix.substring(0, varPrefix.length());
-
- if (atoms.length == 1) {
- AtomList body = atoms[0];
- if (body.size() == 1) {
- Iterator<RuleAtom> it = body.iterator();
- RuleAtom atom = it.next();
- if (atom.isSPARQLConstruct()) {
- rule = new RuleImpl(varPrefix + nsPrefix, atoms[0],
- null, RuleExpressiveness.SPARQLConstruct);
- kb.addRule(rule);
- } else if (atom.isSPARQLDelete()) {
- rule = new RuleImpl(varPrefix + nsPrefix, atoms[0],
- null, RuleExpressiveness.SPARQLDelete);
- kb.addRule(rule);
- } else if (atom.isSPARQLDeleteData()) {
- rule = new RuleImpl(varPrefix + nsPrefix, atoms[0],
- null, RuleExpressiveness.SPARQLDeleteData);
- kb.addRule(rule);
- }
- }
-
- } else {
- rule = new RuleImpl(varPrefix + nsPrefix, atoms[0],
- atoms[1], RuleExpressiveness.KReSCore);
- kb.addRule(rule);
- }
- break;
- default:
- jj_la1[1] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- break;
- case FORWARD_CHAIN:
- jj_consume_token(FORWARD_CHAIN);
- nsPrefix = getVariable();
- obj = rule();
- AtomList[] atoms = (AtomList[]) obj;
- String varPrefix = kb.getPrefixURI("var");
- varPrefix = varPrefix.substring(0, varPrefix.length());
- rule = new RuleImpl(varPrefix + nsPrefix, atoms[0], atoms[1],
- RuleExpressiveness.ForwardChaining);
- kb.addRule(rule);
- break;
- case REFLEXIVE:
- jj_consume_token(REFLEXIVE);
- nsPrefix = getVariable();
- obj = rule();
- AtomList[] kReSAtoms = (AtomList[]) obj;
- String pref = kb.getPrefixURI("var");
- pref = pref.substring(0, pref.length());
- rule = new RuleImpl(pref + nsPrefix, kReSAtoms[0], kReSAtoms[1],
- RuleExpressiveness.Reflexive);
- kb.addRule(rule);
- break;
- default:
- jj_la1[2] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
-
- final public String equality() throws ParseException {
- String nsURI;
- jj_consume_token(EQUAL);
- nsURI = getURI();
- {
- if (true)
- return nsURI;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public AtomList[] rule() throws ParseException {
- AtomList[] ruleAtoms;
- jj_consume_token(LQUAD);
- ruleAtoms = ruleDefinition();
- jj_consume_token(RQUAD);
- {
- if (true)
- return ruleAtoms;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public AtomList[] ruleDefinition() throws ParseException {
- AtomList body;
- AtomList head;
- Token t;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case LARROW:
- case SAME:
- case DIFFERENT:
- case LESSTHAN:
- case GREATERTHAN:
- case IS:
- case NEW_NODE:
- case STARTS_WITH:
- case ENDS_WITH:
- case LET:
- case HAS:
- case VALUES:
- case NOT:
- case UNION:
- case IS_BLANK:
- body = atomList();
- jj_consume_token(LARROW);
- head = atomList();
- {
- if (true)
- return new AtomList[] { body, head };
- }
- break;
- case SPARQL_C:
- jj_consume_token(SPARQL_C);
- jj_consume_token(LPAR);
- t = jj_consume_token(SPARQL_STRING);
- jj_consume_token(RPAR);
- RuleAtom sparqlAtom = new SPARQLcAtom(t.image);
- AtomList atomList = new AtomList();
- atomList.addToHead(sparqlAtom);
- {
- if (true)
- return new AtomList[] { atomList };
- }
- break;
- case SPARQL_D:
- jj_consume_token(SPARQL_D);
- jj_consume_token(LPAR);
- t = jj_consume_token(SPARQL_STRING);
- jj_consume_token(RPAR);
- RuleAtom sparqlDAtom = new SPARQLdAtom(t.image);
- AtomList atomDList = new AtomList();
- atomDList.addToHead(sparqlDAtom);
- {
- if (true)
- return new AtomList[] { atomDList };
- }
- break;
- case SPARQL_DD:
- jj_consume_token(SPARQL_DD);
- jj_consume_token(LPAR);
- t = jj_consume_token(SPARQL_STRING);
- jj_consume_token(RPAR);
- RuleAtom sparqlDDAtom = new SPARQLddAtom(t.image);
- AtomList atomDDList = new AtomList();
- atomDDList.addToHead(sparqlDDAtom);
- {
- if (true)
- return new AtomList[] { atomDDList };
- }
- break;
- default:
- jj_la1[3] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- throw new Error("Missing return statement in function");
- }
-
- final public AtomList atomList() throws ParseException {
- AtomList atomList = new AtomList();
- RuleAtom kReSAtom;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case SAME:
- case DIFFERENT:
- case LESSTHAN:
- case GREATERTHAN:
- case IS:
- case NEW_NODE:
- case STARTS_WITH:
- case ENDS_WITH:
- case LET:
- case HAS:
- case VALUES:
- case NOT:
- case UNION:
- case IS_BLANK:
- kReSAtom = atom();
- atomList = atomListRest();
- atomList.addToHead(kReSAtom);
- {
- if (true)
- return atomList;
- }
- break;
- default:
- jj_la1[4] = jj_gen;
-
- {
- if (true)
- return atomList;
- }
- }
- throw new Error("Missing return statement in function");
- }
-
- final public AtomList atomListRest() throws ParseException {
- AtomList atomList = new AtomList();
- RuleAtom kReSAtom;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case AND:
- jj_consume_token(AND);
- atomList = atomList();
- {
- if (true)
- return atomList;
- }
- break;
- default:
- jj_la1[5] = jj_gen;
-
- {
- if (true)
- return atomList;
- }
- }
- throw new Error("Missing return statement in function");
- }
-
- final public RuleAtom atom() throws ParseException {
- RuleAtom ruleAtom;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case IS:
- ruleAtom = classAtom();
- {
- if (true)
- return ruleAtom;
- }
- break;
- case HAS:
- ruleAtom = individualPropertyAtom();
- {
- if (true)
- return ruleAtom;
- }
- break;
- case VALUES:
- ruleAtom = datavaluedPropertyAtom();
- {
- if (true)
- return ruleAtom;
- }
- break;
- case LET:
- ruleAtom = letAtom();
- {
- if (true)
- return ruleAtom;
- }
- break;
- case NEW_NODE:
- ruleAtom = newNodeAtom();
- {
- if (true)
- return ruleAtom;
- }
- break;
- case SAME:
- case DIFFERENT:
- case LESSTHAN:
- case GREATERTHAN:
- case STARTS_WITH:
- case ENDS_WITH:
- case NOT:
- case IS_BLANK:
- ruleAtom = comparisonAtom();
- {
- if (true)
- return ruleAtom;
- }
- break;
- case UNION:
- ruleAtom = unionAtom();
- {
- if (true)
- return ruleAtom;
- }
- break;
- default:
- jj_la1[6] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- throw new Error("Missing return statement in function");
- }
-
- final public RuleAtom unionAtom() throws ParseException {
- AtomList atomList1;
- AtomList atomList2;
- jj_consume_token(UNION);
- jj_consume_token(LPAR);
- atomList1 = atomList();
- jj_consume_token(COMMA);
- atomList2 = atomList();
- jj_consume_token(RPAR);
- {
- if (true)
- return new UnionAtom(atomList1, atomList2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public StringFunctionAtom createLabelAtom() throws ParseException {
- StringFunctionAtom stringFunctionAtom;
- jj_consume_token(CREATE_LABEL);
- jj_consume_token(LPAR);
- stringFunctionAtom = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new CreateLabelAtom(stringFunctionAtom);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public StringFunctionAtom propStringAtom() throws ParseException {
- StringFunctionAtom stringFunctionAtom1;
- StringFunctionAtom stringFunctionAtom2;
- jj_consume_token(PROP);
- jj_consume_token(LPAR);
- stringFunctionAtom1 = stringFunctionAtom();
- jj_consume_token(COMMA);
- stringFunctionAtom2 = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new PropStringAtom(stringFunctionAtom1,
- stringFunctionAtom2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public ComparisonAtom endsWithAtom() throws ParseException {
- RuleAtom ruleAtom;
- StringFunctionAtom arg;
- StringFunctionAtom stringFunctionAtom;
- jj_consume_token(ENDS_WITH);
- jj_consume_token(LPAR);
- arg = stringFunctionAtom();
- jj_consume_token(COMMA);
- stringFunctionAtom = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new EndsWithAtom(arg, stringFunctionAtom);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public ComparisonAtom startsWithAtom() throws ParseException {
- RuleAtom ruleAtom;
- StringFunctionAtom arg;
- StringFunctionAtom stringFunctionAtom;
- jj_consume_token(STARTS_WITH);
- jj_consume_token(LPAR);
- arg = stringFunctionAtom();
- jj_consume_token(COMMA);
- stringFunctionAtom = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new StartsWithAtom(arg, stringFunctionAtom);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public StringFunctionAtom stringFunctionAtom() throws ParseException {
- Object obj;
- StringFunctionAtom stringFunctionAtom;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case CONCAT:
- stringFunctionAtom = concatAtom();
- break;
- case UPPERCASE:
- stringFunctionAtom = upperCaseAtom();
- break;
- case LOWERCASE:
- stringFunctionAtom = lowerCaseAtom();
- break;
- case SUBSTRING:
- stringFunctionAtom = substringAtom();
- break;
- case NAMESPACE:
- stringFunctionAtom = namespaceAtom();
- break;
- case LOCALNAME:
- stringFunctionAtom = localnameAtom();
- break;
- case STR:
- stringFunctionAtom = strAtom();
- break;
- case NOTEX:
- case NUM:
- case VAR:
- case VARIABLE:
- case URI:
- case STRING:
- case BNODE:
- stringFunctionAtom = stringAtom();
- break;
- case PROP:
- stringFunctionAtom = propStringAtom();
- break;
- case CREATE_LABEL:
- stringFunctionAtom = createLabelAtom();
- break;
- default:
- jj_la1[7] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {
- if (true)
- return stringFunctionAtom;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public StrAtom strAtom() throws ParseException {
- URIResource uri;
- jj_consume_token(STR);
- jj_consume_token(LPAR);
- uri = iObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new StrAtom(uri);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public NamespaceAtom namespaceAtom() throws ParseException {
- URIResource uri;
- jj_consume_token(NAMESPACE);
- jj_consume_token(LPAR);
- uri = iObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new NamespaceAtom(uri);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public LocalNameAtom localnameAtom() throws ParseException {
- URIResource uri;
- jj_consume_token(LOCALNAME);
- jj_consume_token(LPAR);
- uri = iObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new LocalNameAtom(uri);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public StringAtom stringAtom() throws ParseException {
- Object obj;
- StringFunctionAtom stringFunctionAtom;
- obj = uObject();
- {
- if (true)
- return new StringAtom(obj.toString());
- }
- throw new Error("Missing return statement in function");
- }
-
- final public ConcatAtom concatAtom() throws ParseException {
- StringFunctionAtom arg1;
- StringFunctionAtom arg2;
- jj_consume_token(CONCAT);
- jj_consume_token(LPAR);
- arg1 = stringFunctionAtom();
- jj_consume_token(COMMA);
- arg2 = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new ConcatAtom(arg1, arg2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public UpperCaseAtom upperCaseAtom() throws ParseException {
- StringFunctionAtom arg;
- jj_consume_token(UPPERCASE);
- jj_consume_token(LPAR);
- arg = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new UpperCaseAtom(arg);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public LowerCaseAtom lowerCaseAtom() throws ParseException {
- StringFunctionAtom arg;
- jj_consume_token(LOWERCASE);
- jj_consume_token(LPAR);
- arg = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new LowerCaseAtom(arg);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public SubstringAtom substringAtom() throws ParseException {
- StringFunctionAtom arg;
- NumericFunctionAtom start;
- NumericFunctionAtom length;
- jj_consume_token(SUBSTRING);
- jj_consume_token(LPAR);
- arg = stringFunctionAtom();
- jj_consume_token(COMMA);
- start = numericFunctionAtom();
- jj_consume_token(COMMA);
- length = numericFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new SubstringAtom(arg, start, length);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public NumericFunctionAtom numericFunctionAtom()
- throws ParseException {
- NumericFunctionAtom numericFunctionAtom;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case PLUS:
- numericFunctionAtom = sumAtom();
- break;
- case MINUS:
- numericFunctionAtom = subtractionAtom();
- break;
- case LENGTH:
- numericFunctionAtom = lengthAtom();
- break;
- case NUM:
- case VARIABLE:
- numericFunctionAtom = numberAtom();
- break;
- default:
- jj_la1[8] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {
- if (true)
- return numericFunctionAtom;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public LengthAtom lengthAtom() throws ParseException {
- StringFunctionAtom stringFunctionAtom;
- jj_consume_token(LENGTH);
- jj_consume_token(LPAR);
- stringFunctionAtom = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new LengthAtom(stringFunctionAtom);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public SumAtom sumAtom() throws ParseException {
- NumericFunctionAtom numericFunctionAtom1;
- NumericFunctionAtom numericFunctionAtom2;
- jj_consume_token(PLUS);
- jj_consume_token(LPAR);
- numericFunctionAtom1 = numericFunctionAtom();
- jj_consume_token(COMMA);
- numericFunctionAtom2 = numericFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new SumAtom(numericFunctionAtom1, numericFunctionAtom2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public SubtractionAtom subtractionAtom() throws ParseException {
- NumericFunctionAtom numericFunctionAtom1;
- NumericFunctionAtom numericFunctionAtom2;
- jj_consume_token(MINUS);
- jj_consume_token(LPAR);
- numericFunctionAtom1 = numericFunctionAtom();
- jj_consume_token(COMMA);
- numericFunctionAtom2 = numericFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new SubtractionAtom(numericFunctionAtom1,
- numericFunctionAtom2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public NumericFunctionAtom numberAtom() throws ParseException {
- Token t;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case NUM:
- t = jj_consume_token(NUM);
- break;
- case VARIABLE:
- t = jj_consume_token(VARIABLE);
- break;
- default:
- jj_la1[9] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {
- if (true)
- return new NumberAtom(t.image);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public ClassAtom classAtom() throws ParseException {
- URIResource uri1;
- URIResource uri2;
- jj_consume_token(IS);
- jj_consume_token(LPAR);
- uri1 = iObject();
- jj_consume_token(COMMA);
- uri2 = iObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new ClassAtom(uri1, uri2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public NewNodeAtom newNodeAtom() throws ParseException {
- URIResource arg1;
- Object arg2;
- jj_consume_token(NEW_NODE);
- jj_consume_token(LPAR);
- arg1 = iObject();
- jj_consume_token(COMMA);
- arg2 = dObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new NewNodeAtom(arg1, arg2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public LetAtom letAtom() throws ParseException {
- URIResource uri1;
- StringFunctionAtom fun;
- jj_consume_token(LET);
- jj_consume_token(LPAR);
- uri1 = iObject();
- jj_consume_token(COMMA);
- fun = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new LetAtom(uri1, fun);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public IndividualPropertyAtom individualPropertyAtom()
- throws ParseException {
- URIResource uri1;
- URIResource uri2;
- URIResource uri3;
- jj_consume_token(HAS);
- jj_consume_token(LPAR);
- uri1 = iObject();
- jj_consume_token(COMMA);
- uri2 = iObject();
- jj_consume_token(COMMA);
- uri3 = iObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new IndividualPropertyAtom(uri1, uri2, uri3);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public DatavaluedPropertyAtom datavaluedPropertyAtom()
- throws ParseException {
- URIResource uri1;
- URIResource uri2;
- Object obj;
- jj_consume_token(VALUES);
- jj_consume_token(LPAR);
- uri1 = iObject();
- jj_consume_token(COMMA);
- uri2 = iObject();
- jj_consume_token(COMMA);
- obj = dObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new DatavaluedPropertyAtom(uri1, uri2, obj);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public SameAtom sameAsAtom() throws ParseException {
- StringFunctionAtom stringFunctionAtom1;
- StringFunctionAtom stringFunctionAtom2;
- jj_consume_token(SAME);
- jj_consume_token(LPAR);
- stringFunctionAtom1 = stringFunctionAtom();
- jj_consume_token(COMMA);
- stringFunctionAtom2 = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new SameAtom(stringFunctionAtom1, stringFunctionAtom2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public LessThanAtom lessThanAtom() throws ParseException {
- Object obj1;
- Object obj2;
- jj_consume_token(LESSTHAN);
- jj_consume_token(LPAR);
- obj1 = dObject();
- jj_consume_token(COMMA);
- obj2 = dObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new LessThanAtom(obj1, obj2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public GreaterThanAtom greaterThanAtom() throws ParseException {
- Object obj1;
- Object obj2;
- jj_consume_token(GREATERTHAN);
- jj_consume_token(LPAR);
- obj1 = dObject();
- jj_consume_token(COMMA);
- obj2 = dObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new GreaterThanAtom(obj1, obj2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public DifferentAtom differentFromAtom() throws ParseException {
- StringFunctionAtom stringFunctionAtom1;
- StringFunctionAtom stringFunctionAtom2;
- jj_consume_token(DIFFERENT);
- jj_consume_token(LPAR);
- stringFunctionAtom1 = stringFunctionAtom();
- jj_consume_token(COMMA);
- stringFunctionAtom2 = stringFunctionAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new DifferentAtom(stringFunctionAtom1,
- stringFunctionAtom2);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public URIResource reference() throws ParseException {
- String uri1;
- Token colon;
- String uri3;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case URI:
- uri1 = getURI();
- uri1 = uri1.substring(1, uri1.length() - 1);
- try {
- {
- if (true)
- return new ResourceAtom(new URI(uri1));
- }
- } catch (URISyntaxException e) {
- e.printStackTrace();
- }
- break;
- case VAR:
- uri1 = getVariable();
- colon = jj_consume_token(COLON);
- uri3 = getVariable();
- {
- if (true)
- return new ResourceAtom(getSWRLArgument(uri1 + colon.image
- + uri3));
- }
- break;
- default:
- jj_la1[10] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- throw new Error("Missing return statement in function");
- }
-
- final public URIResource varReference() throws ParseException {
- String uri1;
- Token colon;
- String uri3;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case URI:
- uri1 = getURI();
- try {
- {
- if (true)
- return new ResourceAtom(new URI(uri1));
- }
- } catch (URISyntaxException e) {
- e.printStackTrace();
- }
- break;
- case VAR:
- uri1 = getVariable();
- colon = jj_consume_token(COLON);
- uri3 = getVariable();
- {
- if (true)
- return new ResourceAtom(getSWRLArgument(uri1 + colon.image
- + uri3));
- }
- break;
- default:
- jj_la1[11] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- throw new Error("Missing return statement in function");
- }
-
- final public String getURI() throws ParseException {
- Token t;
- t = jj_consume_token(URI);
- {
- if (true)
- return t.image;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public String getVariable() throws ParseException {
- Token t;
- t = jj_consume_token(VAR);
- {
- if (true)
- return t.image;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public String getString() throws ParseException {
- Token t;
- t = jj_consume_token(STRING);
- {
- if (true)
- return t.image;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public Integer getInt() throws ParseException {
- Token t;
- t = jj_consume_token(NUM);
- {
- if (true)
- return Integer.valueOf(t.image);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public Object uObject() throws ParseException {
- Object obj;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case NOTEX:
- case VARIABLE:
- case BNODE:
- obj = variable();
- break;
- case VAR:
- case URI:
- obj = reference();
- break;
- case STRING:
- obj = getString();
- break;
- case NUM:
- obj = getInt();
- break;
- default:
- jj_la1[12] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {
- if (true)
- return obj;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public URIResource iObject() throws ParseException {
- URIResource uri;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case NOTEX:
- case VARIABLE:
- case BNODE:
- uri = variable();
- {
- if (true)
- return uri;
- }
- break;
- case VAR:
- case URI:
- uri = reference();
- {
- if (true)
- return uri;
- }
- break;
- default:
- jj_la1[13] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- throw new Error("Missing return statement in function");
- }
-
- final public Object dObject() throws ParseException {
- Object variable;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case NUM:
- case STRING:
- variable = literal();
- break;
- case NOTEX:
- case VARIABLE:
- case BNODE:
- variable = variable();
- break;
- default:
- jj_la1[14] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {
- if (true)
- return variable;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public Object literal() throws ParseException {
- Object literal;
- URIResource typedLiteral;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case STRING:
- literal = getString();
- typedLiteral = typedLiteral();
- break;
- case NUM:
- literal = getInt();
- typedLiteral = typedLiteral();
- break;
- default:
- jj_la1[15] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- if (typedLiteral != null) {
- {
- if (true)
- return new TypedLiteralAtom(literal, typedLiteral);
- }
- } else {
- {
- if (true)
- return literal;
- }
- }
- throw new Error("Missing return statement in function");
- }
-
- final public URIResource typedLiteral() throws ParseException {
- URIResource type = null;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case APOX:
- jj_consume_token(APOX);
- jj_consume_token(APOX);
- type = reference();
- break;
- default:
- jj_la1[16] = jj_gen;
-
- }
- {
- if (true)
- return type;
- }
- throw new Error("Missing return statement in function");
- }
-
- final public URIResource variable() throws ParseException {
- Token t;
- String var;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case NOTEX:
- jj_consume_token(NOTEX);
- jj_consume_token(LPAR);
- t = jj_consume_token(VARIABLE);
- jj_consume_token(RPAR);
- var = t.image;
- var = kb.getPrefixURI("var") + var.substring(1);
- try {
- {
- if (true)
- return new VariableAtom(new URI(var), true);
- }
- } catch (URISyntaxException e) {
- e.printStackTrace();
- {
- if (true)
- return null;
- }
- }
- break;
- case VARIABLE:
- t = jj_consume_token(VARIABLE);
- var = t.image;
- var = kb.getPrefixURI("var") + var.substring(1);
- try {
- {
- if (true)
- return new VariableAtom(new URI(var), false);
- }
- } catch (URISyntaxException e) {
- e.printStackTrace();
- {
- if (true)
- return null;
- }
- }
- break;
- case BNODE:
- t = jj_consume_token(BNODE);
- var = t.image;
- {
- if (true)
- return new RuleBlankNode(var);
- }
- break;
- default:
- jj_la1[17] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- throw new Error("Missing return statement in function");
- }
-
- final public ComparisonAtom notAtom() throws ParseException {
- ComparisonAtom comparisonAtom;
- jj_consume_token(NOT);
- jj_consume_token(LPAR);
- comparisonAtom = comparisonAtom();
- jj_consume_token(RPAR);
- {
- if (true)
- return new NotAtom(comparisonAtom);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public ComparisonAtom isBlankAtom() throws ParseException {
- URIResource uriRes;
- jj_consume_token(IS_BLANK);
- jj_consume_token(LPAR);
- uriRes = iObject();
- jj_consume_token(RPAR);
- {
- if (true)
- return new IsBlankAtom(uriRes);
- }
- throw new Error("Missing return statement in function");
- }
-
- final public ComparisonAtom comparisonAtom() throws ParseException {
- ComparisonAtom comparisonAtom;
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case SAME:
- comparisonAtom = sameAsAtom();
- break;
- case LESSTHAN:
- comparisonAtom = lessThanAtom();
- break;
- case GREATERTHAN:
- comparisonAtom = greaterThanAtom();
- break;
- case DIFFERENT:
- comparisonAtom = differentFromAtom();
- break;
- case NOT:
- comparisonAtom = notAtom();
- break;
- case STARTS_WITH:
- comparisonAtom = startsWithAtom();
- break;
- case ENDS_WITH:
- comparisonAtom = endsWithAtom();
- break;
- case IS_BLANK:
- comparisonAtom = isBlankAtom();
- break;
- default:
- jj_la1[18] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {
- if (true)
- return comparisonAtom;
- }
- throw new Error("Missing return statement in function");
- }
-
- /** Generated Token Manager. */
- public RuleParserTokenManager token_source;
- SimpleCharStream jj_input_stream;
- /** Current token. */
- public Token token;
- /** Next token. */
- public Token jj_nt;
- private int jj_ntk;
- private int jj_gen;
- final private int[] jj_la1 = new int[19];
- static private int[] jj_la1_0;
- static private int[] jj_la1_1;
- static {
- jj_la1_init_0();
- jj_la1_init_1();
- }
-
- private static void jj_la1_init_0() {
- jj_la1_0 = new int[] { 0x100, 0x80, 0x400, 0x46e1f820, 0x46e1f800,
- 0x100, 0x46e1f800, 0x891c0000, 0x30020000, 0x0, 0x0, 0x0,
- 0x8000000, 0x8000000, 0x8000000, 0x0, 0x0, 0x8000000,
- 0x40607800, };
- }
-
- private static void jj_la1_init_1() {
- jj_la1_1 = new int[] { 0x0, 0x4000, 0x20400, 0x2e8, 0x208, 0x0, 0x208,
- 0x5f0113, 0x50000, 0x50000, 0xa0000, 0xa0000, 0x5f0000,
- 0x4e0000, 0x550000, 0x110000, 0x4, 0x440000, 0x200, };
- }
-
- /** Constructor with InputStream. */
- public RuleParserImpl(java.io.InputStream stream) {
- this(stream, null);
- }
-
- /** Constructor with InputStream and supplied encoding */
- public RuleParserImpl(java.io.InputStream stream, String encoding) {
- try {
- jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1);
- } catch (java.io.UnsupportedEncodingException e) {
- throw new RuntimeException(e);
- }
- token_source = new RuleParserTokenManager(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 19; i++)
- jj_la1[i] = -1;
- }
-
- /** Reinitialise. */
- public void ReInit(java.io.InputStream stream) {
- ReInit(stream, null);
- }
-
- /** Reinitialise. */
- public void ReInit(java.io.InputStream stream, String encoding) {
- try {
- jj_input_stream.ReInit(stream, encoding, 1, 1);
- } catch (java.io.UnsupportedEncodingException e) {
- throw new RuntimeException(e);
- }
- token_source.ReInit(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 19; i++)
- jj_la1[i] = -1;
- }
-
- /** Constructor. */
- public RuleParserImpl(java.io.Reader stream) {
- jj_input_stream = new SimpleCharStream(stream, 1, 1);
- token_source = new RuleParserTokenManager(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 19; i++)
- jj_la1[i] = -1;
- }
-
- /** Reinitialise. */
- public void ReInit(java.io.Reader stream) {
- jj_input_stream.ReInit(stream, 1, 1);
- token_source.ReInit(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 19; i++)
- jj_la1[i] = -1;
- }
-
- /** Constructor with generated Token Manager. */
- public RuleParserImpl(RuleParserTokenManager tm) {
- token_source = tm;
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 19; i++)
- jj_la1[i] = -1;
- }
-
- /** Reinitialise. */
- public void ReInit(RuleParserTokenManager tm) {
- token_source = tm;
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 19; i++)
- jj_la1[i] = -1;
- }
-
- private Token jj_consume_token(int kind) throws ParseException {
- Token oldToken;
- if ((oldToken = token).next != null)
- token = token.next;
- else
- token = token.next = token_source.getNextToken();
- jj_ntk = -1;
- if (token.kind == kind) {
- jj_gen++;
- return token;
- }
- token = oldToken;
- jj_kind = kind;
- throw generateParseException();
- }
-
- /** Get the next Token. */
- final public Token getNextToken() {
- if (token.next != null)
- token = token.next;
- else
- token = token.next = token_source.getNextToken();
- jj_ntk = -1;
- jj_gen++;
- return token;
- }
-
- /** Get the specific Token. */
- final public Token getToken(int index) {
- Token t = token;
- for (int i = 0; i < index; i++) {
- if (t.next != null)
- t = t.next;
- else
- t = t.next = token_source.getNextToken();
- }
- return t;
- }
-
- private int jj_ntk() {
- if ((jj_nt = token.next) == null)
- return (jj_ntk = (token.next = token_source.getNextToken()).kind);
- else
- return (jj_ntk = jj_nt.kind);
- }
-
- private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
- private int[] jj_expentry;
- private int jj_kind = -1;
-
- /** Generate ParseException. */
- public ParseException generateParseException() {
- jj_expentries.clear();
- boolean[] la1tokens = new boolean[55];
- if (jj_kind >= 0) {
- la1tokens[jj_kind] = true;
- jj_kind = -1;
- }
- for (int i = 0; i < 19; i++) {
- if (jj_la1[i] == jj_gen) {
- for (int j = 0; j < 32; j++) {
- if ((jj_la1_0[i] & (1 << j)) != 0) {
- la1tokens[j] = true;
- }
- if ((jj_la1_1[i] & (1 << j)) != 0) {
- la1tokens[32 + j] = true;
- }
- }
- }
- }
- for (int i = 0; i < 55; i++) {
- if (la1tokens[i]) {
- jj_expentry = new int[1];
- jj_expentry[0] = i;
- jj_expentries.add(jj_expentry);
- }
- }
- int[][] exptokseq = new int[jj_expentries.size()][];
- for (int i = 0; i < jj_expentries.size(); i++) {
- exptokseq[i] = jj_expentries.get(i);
- }
- return new ParseException(token, exptokseq, tokenImage);
- }
-
- /** Enable tracing. */
- final public void enable_tracing() {
- }
-
- /** Disable tracing. */
- final public void disable_tracing() {
- }
+ public static KB parse(String namespace, String inString) {
+ {
+ kb = new KB(namespace);
+ Reader reader = new StringReader(inString);
+ RuleParserImpl parser = new RuleParserImpl(reader);
+ StringBuffer buffer = new StringBuffer();
+ try {
+ parser.start();
+ } catch (TokenMgrError e) {
+ throw new IllegalStateException(e);
+ } catch (ParseException e) {
+ throw new IllegalStateException(e);
+ }
+ return kb;
+ }
+ }
+
+ public static KB parse(String namespace, InputStream inStream) {
+
+ kb = new KB(namespace);
+ Reader reader = new InputStreamReader(inStream);
+ RuleParserImpl parser = new RuleParserImpl(reader);
+ try {
+ parser.start();
+ } catch (TokenMgrError e) {
+ throw new IllegalStateException(e);
+ } catch (ParseException e) {
+ throw new IllegalStateException(e);
+ }
+ return kb;
+ }
+
+ private static URI getSWRLArgument(String argument) {
+ Resource rdfNode = null;
+ String[] argumentComposition = argument.split(":");
+ if (argumentComposition.length == 2) {
+ String prefix = argumentComposition[0];
+ String resourceName = argumentComposition[1];
+
+ String namespaceURI = kb.getPrefixURI(prefix);
+ rdfNode = ModelFactory.createDefaultModel().createResource(namespaceURI + resourceName);
+ try {
+ return new URI(rdfNode.getURI());
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+
+ return null;
+ }
+
+ private static URI getSWRLVariable(String argument) {
+ Resource variableResource = null;
+ String variableString = argument.substring(1);
+
+ variableResource = ModelFactory.createDefaultModel().createResource(
+ kb.getPrefixURI("var") + variableString);
+
+ try {
+ return new URI(variableResource.getURI());
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ final public void start() throws ParseException {
+ expression();
+ expressionCont();
+ }
+
+ final public void expressionCont() throws ParseException {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case AND:
+ jj_consume_token(AND);
+ expression();
+ break;
+ default:
+ jj_la1[0] = jj_gen;
+
+ }
+ }
+
+ final public void expression() throws ParseException {
+ Rule rule;
+ prefix();
+ expressionCont();
+ }
+
+ final public void prefix() throws ParseException {
+ String nsPrefix;
+ Object obj;
+ Rule rule;
+ nsPrefix = getVariable();
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case EQUAL:
+ obj = equality();
+ String prefixURI = (String) obj;
+ prefixURI = prefixURI.substring(1, prefixURI.length() - 1);
+ kb.addPrefix(nsPrefix, prefixURI);
+ break;
+ case LQUAD:
+ obj = rule();
+ AtomList[] atoms = (AtomList[]) obj;
+ String ruleStorePrefix = kb.getPrefixURI("rmi2");
+ ruleStorePrefix = ruleStorePrefix.substring(0, ruleStorePrefix.length());
+
+ if (atoms.length == 1) {
+ AtomList body = atoms[0];
+ if (body.size() == 1) {
+ // FIXME it previously managed SPARQL code injection.
+ }
+
+ } else {
+ rule = new RuleImpl(new UriRef(ruleStorePrefix + nsPrefix), nsPrefix, atoms[0], atoms[1]);
+ kb.addRule(rule);
+ }
+ break;
+ default:
+ jj_la1[1] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ final public String equality() throws ParseException {
+ String nsURI;
+ jj_consume_token(EQUAL);
+ nsURI = getURI();
+ {
+ if (true) return nsURI;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public AtomList[] rule() throws ParseException {
+ AtomList[] ruleAtoms;
+ jj_consume_token(LQUAD);
+ ruleAtoms = ruleDefinition();
+ jj_consume_token(RQUAD);
+ {
+ if (true) return ruleAtoms;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public AtomList[] ruleDefinition() throws ParseException {
+ AtomList body;
+ AtomList head;
+ Token t;
+ body = atomList();
+ jj_consume_token(LARROW);
+ head = atomList();
+ {
+ if (true) return new AtomList[] {body, head};
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public AtomList atomList() throws ParseException {
+ AtomList atomList = new AtomList();
+ RuleAtom kReSAtom;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case SAME:
+ case DIFFERENT:
+ case LESSTHAN:
+ case GREATERTHAN:
+ case IS:
+ case NEW_IRI:
+ case NEW_LITERAL:
+ case STARTS_WITH:
+ case ENDS_WITH:
+ case LET:
+ case HAS:
+ case VALUES:
+ case NOT:
+ case UNION:
+ case IS_BLANK:
+ kReSAtom = atom();
+ atomList = atomListRest();
+ atomList.addToHead(kReSAtom);
+ {
+ if (true) return atomList;
+ }
+ break;
+ default:
+ jj_la1[2] = jj_gen;
+
+ {
+ if (true) return atomList;
+ }
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public AtomList atomListRest() throws ParseException {
+ AtomList atomList = new AtomList();
+ RuleAtom kReSAtom;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case AND:
+ jj_consume_token(AND);
+ atomList = atomList();
+ {
+ if (true) return atomList;
+ }
+ break;
+ default:
+ jj_la1[3] = jj_gen;
+
+ {
+ if (true) return atomList;
+ }
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public RuleAtom atom() throws ParseException {
+ RuleAtom ruleAtom;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case IS:
+ ruleAtom = classAtom();
+ {
+ if (true) return ruleAtom;
+ }
+ break;
+ case HAS:
+ ruleAtom = individualPropertyAtom();
+ {
+ if (true) return ruleAtom;
+ }
+ break;
+ case VALUES:
+ ruleAtom = datavaluedPropertyAtom();
+ {
+ if (true) return ruleAtom;
+ }
+ break;
+ case LET:
+ ruleAtom = letAtom();
+ {
+ if (true) return ruleAtom;
+ }
+ break;
+ case NEW_IRI:
+ ruleAtom = newIRIAtom();
+ {
+ if (true) return ruleAtom;
+ }
+ break;
+ case NEW_LITERAL:
+ ruleAtom = newLiteralAtom();
+ {
+ if (true) return ruleAtom;
+ }
+ break;
+ case SAME:
+ case DIFFERENT:
+ case LESSTHAN:
+ case GREATERTHAN:
+ case STARTS_WITH:
+ case ENDS_WITH:
+ case NOT:
+ case IS_BLANK:
+ ruleAtom = comparisonAtom();
+ {
+ if (true) return ruleAtom;
+ }
+ break;
+ case UNION:
+ ruleAtom = unionAtom();
+ {
+ if (true) return ruleAtom;
+ }
+ break;
+ default:
+ jj_la1[4] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public RuleAtom unionAtom() throws ParseException {
+ AtomList atomList1;
+ AtomList atomList2;
+ jj_consume_token(UNION);
+ jj_consume_token(LPAR);
+ atomList1 = atomList();
+ jj_consume_token(COMMA);
+ atomList2 = atomList();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new UnionAtom(atomList1, atomList2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public StringFunctionAtom createLabelAtom() throws ParseException {
+ StringFunctionAtom stringFunctionAtom;
+ jj_consume_token(CREATE_LABEL);
+ jj_consume_token(LPAR);
+ stringFunctionAtom = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new CreateLabelAtom(stringFunctionAtom);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public StringFunctionAtom propStringAtom() throws ParseException {
+ StringFunctionAtom stringFunctionAtom1;
+ StringFunctionAtom stringFunctionAtom2;
+ jj_consume_token(PROP);
+ jj_consume_token(LPAR);
+ stringFunctionAtom1 = stringFunctionAtom();
+ jj_consume_token(COMMA);
+ stringFunctionAtom2 = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new PropStringAtom(stringFunctionAtom1, stringFunctionAtom2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ComparisonAtom endsWithAtom() throws ParseException {
+ RuleAtom ruleAtom;
+ StringFunctionAtom arg;
+ StringFunctionAtom stringFunctionAtom;
+ jj_consume_token(ENDS_WITH);
+ jj_consume_token(LPAR);
+ arg = stringFunctionAtom();
+ jj_consume_token(COMMA);
+ stringFunctionAtom = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new EndsWithAtom(arg, stringFunctionAtom);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ComparisonAtom startsWithAtom() throws ParseException {
+ RuleAtom ruleAtom;
+ StringFunctionAtom arg;
+ StringFunctionAtom stringFunctionAtom;
+ jj_consume_token(STARTS_WITH);
+ jj_consume_token(LPAR);
+ arg = stringFunctionAtom();
+ jj_consume_token(COMMA);
+ stringFunctionAtom = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new StartsWithAtom(arg, stringFunctionAtom);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public StringFunctionAtom stringFunctionAtom() throws ParseException {
+ Object obj;
+ StringFunctionAtom stringFunctionAtom;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case CONCAT:
+ stringFunctionAtom = concatAtom();
+ break;
+ case UPPERCASE:
+ stringFunctionAtom = upperCaseAtom();
+ break;
+ case LOWERCASE:
+ stringFunctionAtom = lowerCaseAtom();
+ break;
+ case SUBSTRING:
+ stringFunctionAtom = substringAtom();
+ break;
+ case NAMESPACE:
+ stringFunctionAtom = namespaceAtom();
+ break;
+ case LOCALNAME:
+ stringFunctionAtom = localnameAtom();
+ break;
+ case STR:
+ stringFunctionAtom = strAtom();
+ break;
+ case STRING:
+ stringFunctionAtom = stringAtom();
+ break;
+ case PROP:
+ stringFunctionAtom = propStringAtom();
+ break;
+ case CREATE_LABEL:
+ stringFunctionAtom = createLabelAtom();
+ break;
+ case VARIABLE:
+ stringFunctionAtom = stringVariable();
+ break;
+ default:
+ jj_la1[5] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {
+ if (true) return stringFunctionAtom;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public StrAtom strAtom() throws ParseException {
+ IObjectAtom uri;
+ jj_consume_token(STR);
+ jj_consume_token(LPAR);
+ uri = iObject();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new StrAtom(uri);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public NamespaceAtom namespaceAtom() throws ParseException {
+ IObjectAtom uri;
+ jj_consume_token(NAMESPACE);
+ jj_consume_token(LPAR);
+ uri = iObject();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new NamespaceAtom(uri);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public LocalNameAtom localnameAtom() throws ParseException {
+ IObjectAtom uri;
+ jj_consume_token(LOCALNAME);
+ jj_consume_token(LPAR);
+ uri = iObject();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new LocalNameAtom(uri);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public StringAtom stringAtom() throws ParseException {
+ String obj;
+ obj = getStringValue();
+ {
+ if (true) return new StringAtom(obj.toString());
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ConcatAtom concatAtom() throws ParseException {
+ StringFunctionAtom arg1;
+ StringFunctionAtom arg2;
+ jj_consume_token(CONCAT);
+ jj_consume_token(LPAR);
+ arg1 = stringFunctionAtom();
+ jj_consume_token(COMMA);
+ arg2 = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new ConcatAtom(arg1, arg2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public UpperCaseAtom upperCaseAtom() throws ParseException {
+ StringFunctionAtom arg;
+ jj_consume_token(UPPERCASE);
+ jj_consume_token(LPAR);
+ arg = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new UpperCaseAtom(arg);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public LowerCaseAtom lowerCaseAtom() throws ParseException {
+ StringFunctionAtom arg;
+ jj_consume_token(LOWERCASE);
+ jj_consume_token(LPAR);
+ arg = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new LowerCaseAtom(arg);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public SubstringAtom substringAtom() throws ParseException {
+ StringFunctionAtom arg;
+ NumericFunctionAtom start;
+ NumericFunctionAtom length;
+ jj_consume_token(SUBSTRING);
+ jj_consume_token(LPAR);
+ arg = stringFunctionAtom();
+ jj_consume_token(COMMA);
+ start = numericFunctionAtom();
+ jj_consume_token(COMMA);
+ length = numericFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new SubstringAtom(arg, start, length);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ExpressionAtom expressionAtom() throws ParseException {
+ ExpressionAtom expressionAtom;
+ if (jj_2_1(2)) {
+ expressionAtom = stringFunctionAtom();
+ } else {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case LENGTH:
+ case PLUS:
+ case MINUS:
+ case NUM:
+ case VARIABLE:
+ expressionAtom = numericFunctionAtom();
+ break;
+ default:
+ jj_la1[6] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ {
+ if (true) return expressionAtom;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public NumericFunctionAtom numericFunctionAtom() throws ParseException {
+ NumericFunctionAtom numericFunctionAtom;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case PLUS:
+ numericFunctionAtom = sumAtom();
+ break;
+ case MINUS:
+ numericFunctionAtom = subtractionAtom();
+ break;
+ case LENGTH:
+ numericFunctionAtom = lengthAtom();
+ break;
+ case NUM:
+ numericFunctionAtom = numberAtom();
+ break;
+ case VARIABLE:
+ numericFunctionAtom = numericVariable();
+ break;
+ default:
+ jj_la1[7] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {
+ if (true) return numericFunctionAtom;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public LengthAtom lengthAtom() throws ParseException {
+ StringFunctionAtom stringFunctionAtom;
+ jj_consume_token(LENGTH);
+ jj_consume_token(LPAR);
+ stringFunctionAtom = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new LengthAtom(stringFunctionAtom);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public SumAtom sumAtom() throws ParseException {
+ NumericFunctionAtom numericFunctionAtom1;
+ NumericFunctionAtom numericFunctionAtom2;
+ jj_consume_token(PLUS);
+ jj_consume_token(LPAR);
+ numericFunctionAtom1 = numericFunctionAtom();
+ jj_consume_token(COMMA);
+ numericFunctionAtom2 = numericFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new SumAtom(numericFunctionAtom1, numericFunctionAtom2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public SubtractionAtom subtractionAtom() throws ParseException {
+ NumericFunctionAtom numericFunctionAtom1;
+ NumericFunctionAtom numericFunctionAtom2;
+ jj_consume_token(MINUS);
+ jj_consume_token(LPAR);
+ numericFunctionAtom1 = numericFunctionAtom();
+ jj_consume_token(COMMA);
+ numericFunctionAtom2 = numericFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new SubtractionAtom(numericFunctionAtom1, numericFunctionAtom2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public MultiplicationAtom multiplicationAtom() throws ParseException {
+ NumericFunctionAtom numericFunctionAtom1;
+ NumericFunctionAtom numericFunctionAtom2;
+ jj_consume_token(MULTIPLIED);
+ jj_consume_token(LPAR);
+ numericFunctionAtom1 = numericFunctionAtom();
+ jj_consume_token(COMMA);
+ numericFunctionAtom2 = numericFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new MultiplicationAtom(numericFunctionAtom1, numericFunctionAtom2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public DivisionAtom divisionAtom() throws ParseException {
+ NumericFunctionAtom numericFunctionAtom1;
+ NumericFunctionAtom numericFunctionAtom2;
+ jj_consume_token(DIVIDED);
+ jj_consume_token(LPAR);
+ numericFunctionAtom1 = numericFunctionAtom();
+ jj_consume_token(COMMA);
+ numericFunctionAtom2 = numericFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new DivisionAtom(numericFunctionAtom1, numericFunctionAtom2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public NumericFunctionAtom numberAtom() throws ParseException {
+ Token t;
+ t = jj_consume_token(NUM);
+ {
+ if (true) return new NumberAtom(t.image);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ClassAtom classAtom() throws ParseException {
+ IObjectAtom uri1;
+ IObjectAtom uri2;
+ jj_consume_token(IS);
+ jj_consume_token(LPAR);
+ uri1 = iObject();
+ jj_consume_token(COMMA);
+ uri2 = iObject();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new ClassAtom(uri1, uri2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public NewIRIAtom newIRIAtom() throws ParseException {
+ IObjectAtom arg1;
+ StringFunctionAtom arg2;
+ jj_consume_token(NEW_IRI);
+ jj_consume_token(LPAR);
+ arg1 = iObject();
+ jj_consume_token(COMMA);
+ arg2 = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new NewIRIAtom(arg1, arg2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public NewLiteralAtom newLiteralAtom() throws ParseException {
+ IObjectAtom arg1;
+ StringFunctionAtom arg2;
+ jj_consume_token(NEW_LITERAL);
+ jj_consume_token(LPAR);
+ arg1 = iObject();
+ jj_consume_token(COMMA);
+ arg2 = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new NewLiteralAtom(arg1, arg2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public LetAtom letAtom() throws ParseException {
+ IObjectAtom uri1;
+ StringFunctionAtom fun;
+ jj_consume_token(LET);
+ jj_consume_token(LPAR);
+ uri1 = iObject();
+ jj_consume_token(COMMA);
+ fun = stringFunctionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new LetAtom(uri1, fun);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public IndividualPropertyAtom individualPropertyAtom() throws ParseException {
+ IObjectAtom uri1;
+ IObjectAtom uri2;
+ IObjectAtom uri3;
+ jj_consume_token(HAS);
+ jj_consume_token(LPAR);
+ uri1 = iObject();
+ jj_consume_token(COMMA);
+ uri2 = iObject();
+ jj_consume_token(COMMA);
+ uri3 = iObject();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new IndividualPropertyAtom(uri1, uri2, uri3);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public DatavaluedPropertyAtom datavaluedPropertyAtom() throws ParseException {
+ IObjectAtom uri1;
+ IObjectAtom uri2;
+ RuleAtom obj;
+ jj_consume_token(VALUES);
+ jj_consume_token(LPAR);
+ uri1 = iObject();
+ jj_consume_token(COMMA);
+ uri2 = iObject();
+ jj_consume_token(COMMA);
+ obj = dObject();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new DatavaluedPropertyAtom(uri1, uri2, obj);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public SameAtom sameAsAtom() throws ParseException {
+ ExpressionAtom expressionAtom1;
+ ExpressionAtom expressionAtom2;
+ jj_consume_token(SAME);
+ jj_consume_token(LPAR);
+ expressionAtom1 = expressionAtom();
+ jj_consume_token(COMMA);
+ expressionAtom2 = expressionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new SameAtom(expressionAtom1, expressionAtom2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public LessThanAtom lessThanAtom() throws ParseException {
+ ExpressionAtom obj1;
+ ExpressionAtom obj2;
+ jj_consume_token(LESSTHAN);
+ jj_consume_token(LPAR);
+ obj1 = expressionAtom();
+ jj_consume_token(COMMA);
+ obj2 = expressionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new LessThanAtom(obj1, obj2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public LessEqualThanAtom lessEqualThanAtom() throws ParseException {
+ ExpressionAtom obj1;
+ ExpressionAtom obj2;
+ jj_consume_token(LESSEQUALTHAN);
+ jj_consume_token(LPAR);
+ obj1 = expressionAtom();
+ jj_consume_token(COMMA);
+ obj2 = expressionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new LessEqualThanAtom(obj1, obj2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public GreaterThanAtom greaterThanAtom() throws ParseException {
+ ExpressionAtom obj1;
+ ExpressionAtom obj2;
+ jj_consume_token(GREATERTHAN);
+ jj_consume_token(LPAR);
+ obj1 = expressionAtom();
+ jj_consume_token(COMMA);
+ obj2 = expressionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new GreaterThanAtom(obj1, obj2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public GreaterEqualThanAtom greaterEqualThanAtom() throws ParseException {
+ ExpressionAtom obj1;
+ ExpressionAtom obj2;
+ jj_consume_token(GREATEREQUALTHAN);
+ jj_consume_token(LPAR);
+ obj1 = expressionAtom();
+ jj_consume_token(COMMA);
+ obj2 = expressionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new GreaterEqualThanAtom(obj1, obj2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public DifferentAtom differentFromAtom() throws ParseException {
+ ExpressionAtom expressionAtom1;
+ ExpressionAtom expressionAtom2;
+ jj_consume_token(DIFFERENT);
+ jj_consume_token(LPAR);
+ expressionAtom1 = expressionAtom();
+ jj_consume_token(COMMA);
+ expressionAtom2 = expressionAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new DifferentAtom(expressionAtom1, expressionAtom2);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public IObjectAtom reference() throws ParseException {
+ String uri1;
+ Token colon;
+ String uri3;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case URI:
+ uri1 = getURI();
+ uri1 = uri1.substring(1, uri1.length() - 1);
+ try {
+ {
+ if (true) return new ResourceAtom(new URI(uri1));
+ }
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
+ break;
+ case VAR:
+ uri1 = getVariable();
+ colon = jj_consume_token(COLON);
+ uri3 = getVariable();
+ {
+ if (true) return new ResourceAtom(getSWRLArgument(uri1 + colon.image + uri3));
+ }
+ break;
+ default:
+ jj_la1[8] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public IObjectAtom varReference() throws ParseException {
+ String uri1;
+ Token colon;
+ String uri3;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case URI:
+ uri1 = getURI();
+ try {
+ {
+ if (true) return new ResourceAtom(new URI(uri1));
+ }
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
+ break;
+ case VAR:
+ uri1 = getVariable();
+ colon = jj_consume_token(COLON);
+ uri3 = getVariable();
+ {
+ if (true) return new ResourceAtom(getSWRLArgument(uri1 + colon.image + uri3));
+ }
+ break;
+ default:
+ jj_la1[9] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public String getURI() throws ParseException {
+ Token t;
+ t = jj_consume_token(URI);
+ {
+ if (true) return t.image;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public String getVariable() throws ParseException {
+ Token t;
+ t = jj_consume_token(VAR);
+ {
+ if (true) return t.image;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public String getStringValue() throws ParseException {
+ Token t;
+ t = jj_consume_token(STRING);
+ {
+ if (true) return t.image;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public StringAtom getString() throws ParseException {
+ Token t;
+ t = jj_consume_token(STRING);
+ {
+ if (true) return new StringAtom(t.image);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public NumberAtom getInt() throws ParseException {
+ Token t;
+ t = jj_consume_token(NUM);
+ {
+ if (true) return new NumberAtom(t.image);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public Object uObject() throws ParseException {
+ Object obj;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case NOTEX:
+ case VARIABLE:
+ case BNODE:
+ obj = variable();
+ break;
+ case VAR:
+ case URI:
+ obj = reference();
+ break;
+ case STRING:
+ obj = getString();
+ break;
+ case NUM:
+ obj = getInt();
+ break;
+ default:
+ jj_la1[10] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {
+ if (true) return obj;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public IObjectAtom iObject() throws ParseException {
+ IObjectAtom uri;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case NOTEX:
+ case VARIABLE:
+ case BNODE:
+ uri = variable();
+ {
+ if (true) return uri;
+ }
+ break;
+ case VAR:
+ case URI:
+ uri = reference();
+ {
+ if (true) return uri;
+ }
+ break;
+ default:
+ jj_la1[11] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public RuleAtom dObject() throws ParseException {
+ RuleAtom variable;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case NUM:
+ case STRING:
+ variable = literal();
+ break;
+ case NOTEX:
+ case VARIABLE:
+ case BNODE:
+ variable = variable();
+ break;
+ default:
+ jj_la1[12] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {
+ if (true) return variable;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ExpressionAtom literal() throws ParseException {
+ ExpressionAtom literal;
+ IObjectAtom typedLiteral;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case STRING:
+ literal = getString();
+ typedLiteral = typedLiteral();
+ break;
+ case NUM:
+ literal = getInt();
+ typedLiteral = typedLiteral();
+ break;
+ default:
+ jj_la1[13] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ if (typedLiteral != null) {
+ {
+ if (true) return new TypedLiteralAtom(literal, typedLiteral);
+ }
+ } else {
+ {
+ if (true) return literal;
+ }
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public IObjectAtom typedLiteral() throws ParseException {
+ IObjectAtom type = null;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case APOX:
+ jj_consume_token(APOX);
+ jj_consume_token(APOX);
+ type = reference();
+ break;
+ default:
+ jj_la1[14] = jj_gen;
+
+ }
+ {
+ if (true) return type;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public IObjectAtom variable() throws ParseException {
+ Token t;
+ String var;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case NOTEX:
+ jj_consume_token(NOTEX);
+ jj_consume_token(LPAR);
+ t = jj_consume_token(VARIABLE);
+ jj_consume_token(RPAR);
+ var = t.image;
+ var = kb.getPrefixURI("var") + var.substring(1);
+ try {
+ {
+ if (true) return new VariableAtom(new URI(var), true);
+ }
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ {
+ if (true) return null;
+ }
+ }
+ break;
+ case VARIABLE:
+ t = jj_consume_token(VARIABLE);
+ var = t.image;
+ var = kb.getPrefixURI("var") + var.substring(1);
+ try {
+ {
+ if (true) return new VariableAtom(new URI(var), false);
+ }
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ {
+ if (true) return null;
+ }
+ }
+ break;
+ case BNODE:
+ t = jj_consume_token(BNODE);
+ var = t.image;
+ {
+ if (true) return new RuleBlankNode(var);
+ }
+ break;
+ default:
+ jj_la1[15] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ComparisonAtom notAtom() throws ParseException {
+ ComparisonAtom comparisonAtom;
+ jj_consume_token(NOT);
+ jj_consume_token(LPAR);
+ comparisonAtom = comparisonAtom();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new NotAtom(comparisonAtom);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ComparisonAtom isBlankAtom() throws ParseException {
+ IObjectAtom uriRes;
+ jj_consume_token(IS_BLANK);
+ jj_consume_token(LPAR);
+ uriRes = iObject();
+ jj_consume_token(RPAR);
+ {
+ if (true) return new IsBlankAtom(uriRes);
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public ComparisonAtom comparisonAtom() throws ParseException {
+ ComparisonAtom comparisonAtom;
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case SAME:
+ comparisonAtom = sameAsAtom();
+ break;
+ case LESSTHAN:
+ comparisonAtom = lessThanAtom();
+ break;
+ case GREATERTHAN:
+ comparisonAtom = greaterThanAtom();
+ break;
+ case DIFFERENT:
+ comparisonAtom = differentFromAtom();
+ break;
+ case NOT:
+ comparisonAtom = notAtom();
+ break;
+ case STARTS_WITH:
+ comparisonAtom = startsWithAtom();
+ break;
+ case ENDS_WITH:
+ comparisonAtom = endsWithAtom();
+ break;
+ case IS_BLANK:
+ comparisonAtom = isBlankAtom();
+ break;
+ default:
+ jj_la1[16] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {
+ if (true) return comparisonAtom;
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public NumericVariableAtom numericVariable() throws ParseException {
+ Token t;
+ String var;
+ t = jj_consume_token(VARIABLE);
+ var = t.image;
+ var = kb.getPrefixURI("var") + var.substring(1);
+ try {
+ {
+ if (true) return new NumericVariableAtom(new URI(var), false);
+ }
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ {
+ if (true) return null;
+ }
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ final public StringVariableAtom stringVariable() throws ParseException {
+ Token t;
+ String var;
+ t = jj_consume_token(VARIABLE);
+ var = t.image;
+ var = kb.getPrefixURI("var") + var.substring(1);
+ try {
+ {
+ if (true) return new StringVariableAtom(new URI(var), false);
+ }
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ {
+ if (true) return null;
+ }
+ }
+ throw new Error("Missing return statement in function");
+ }
+
+ private boolean jj_2_1(int xla) {
+ jj_la = xla;
+ jj_lastpos = jj_scanpos = token;
+ try {
+ return !jj_3_1();
+ } catch (LookaheadSuccess ls) {
+ return true;
+ } finally {
+ jj_save(0, xla);
+ }
+ }
+
+ private boolean jj_3R_6() {
+ if (jj_3R_17()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_2() {
+ if (jj_3R_13()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_14() {
+ if (jj_scan_token(UPPERCASE)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_5() {
+ if (jj_3R_16()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_4() {
+ if (jj_3R_15()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_3() {
+ if (jj_3R_14()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_13() {
+ if (jj_scan_token(CONCAT)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_1() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_2()) {
+ jj_scanpos = xsp;
+ if (jj_3R_3()) {
+ jj_scanpos = xsp;
+ if (jj_3R_4()) {
+ jj_scanpos = xsp;
+ if (jj_3R_5()) {
+ jj_scanpos = xsp;
+ if (jj_3R_6()) {
+ jj_scanpos = xsp;
+ if (jj_3R_7()) {
+ jj_scanpos = xsp;
+ if (jj_3R_8()) {
+ jj_scanpos = xsp;
+ if (jj_3R_9()) {
+ jj_scanpos = xsp;
+ if (jj_3R_10()) {
+ jj_scanpos = xsp;
+ if (jj_3R_11()) {
+ jj_scanpos = xsp;
+ if (jj_3R_12()) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_20() {
+ if (jj_3R_24()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_18() {
+ if (jj_scan_token(LOCALNAME)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3_1() {
+ if (jj_3R_1()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_17() {
+ if (jj_scan_token(NAMESPACE)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_23() {
+ if (jj_scan_token(VARIABLE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_16() {
+ if (jj_scan_token(SUBSTRING)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_19() {
+ if (jj_scan_token(STR)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_21() {
+ if (jj_scan_token(PROP)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_12() {
+ if (jj_3R_23()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_11() {
+ if (jj_3R_22()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_10() {
+ if (jj_3R_21()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_15() {
+ if (jj_scan_token(LOWERCASE)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_24() {
+ if (jj_scan_token(STRING)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_22() {
+ if (jj_scan_token(CREATE_LABEL)) return true;
+ if (jj_scan_token(LPAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_9() {
+ if (jj_3R_20()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_8() {
+ if (jj_3R_19()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_7() {
+ if (jj_3R_18()) return true;
+ return false;
+ }
+
+ /** Generated Token Manager. */
+ public RuleParserImplTokenManager token_source;
+ SimpleCharStream jj_input_stream;
+ /** Current token. */
+ public Token token;
+ /** Next token. */
+ public Token jj_nt;
+ private int jj_ntk;
+ private Token jj_scanpos, jj_lastpos;
+ private int jj_la;
+ private int jj_gen;
+ final private int[] jj_la1 = new int[17];
+ static private int[] jj_la1_0;
+ static private int[] jj_la1_1;
+ static {
+ jj_la1_init_0();
+ jj_la1_init_1();
+ }
+
+ private static void jj_la1_init_0() {
+ jj_la1_0 = new int[] {0x800, 0x400, 0xdc39e000, 0x800, 0xdc39e000, 0x23800000, 0x400000, 0x400000,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc01e000,};
+ }
+
+ private static void jj_la1_init_1() {
+ jj_la1_1 = new int[] {0x0, 0x20000, 0x2420, 0x0, 0x2420, 0xa019c0, 0x280006, 0x280006, 0x500000,
+ 0x500000, 0x1f80001, 0x1700001, 0x1a80001, 0x880000, 0x200, 0x1200001, 0x2020,};
+ }
+
+ final private JJCalls[] jj_2_rtns = new JJCalls[1];
+ private boolean jj_rescan = false;
+ private int jj_gc = 0;
+
+ /** Constructor with InputStream. */
+ public RuleParserImpl(java.io.InputStream stream) {
+ this(stream, null);
+ }
+
+ /** Constructor with InputStream and supplied encoding */
+ public RuleParserImpl(java.io.InputStream stream, String encoding) {
+ try {
+ jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1);
+ } catch (java.io.UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ }
+ token_source = new RuleParserImplTokenManager(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 17; i++)
+ jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++)
+ jj_2_rtns[i] = new JJCalls();
+ }
+
+ /** Reinitialise. */
+ public void ReInit(java.io.InputStream stream) {
+ ReInit(stream, null);
+ }
+
+ /** Reinitialise. */
+ public void ReInit(java.io.InputStream stream, String encoding) {
+ try {
+ jj_input_stream.ReInit(stream, encoding, 1, 1);
+ } catch (java.io.UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ }
+ token_source.ReInit(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 17; i++)
+ jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++)
+ jj_2_rtns[i] = new JJCalls();
+ }
+
+ /** Constructor. */
+ public RuleParserImpl(java.io.Reader stream) {
+ jj_input_stream = new SimpleCharStream(stream, 1, 1);
+ token_source = new RuleParserImplTokenManager(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 17; i++)
+ jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++)
+ jj_2_rtns[i] = new JJCalls();
+ }
+
+ /** Reinitialise. */
+ public void ReInit(java.io.Reader stream) {
+ jj_input_stream.ReInit(stream, 1, 1);
+ token_source.ReInit(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 17; i++)
+ jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++)
[... 223 lines stripped ...]