You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by al...@apache.org on 2011/03/16 16:31:11 UTC
svn commit: r1082166 [2/7] - in /incubator/stanbol/trunk/kres/rules/manager:
./ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/stanbol/
src/main/java/org/apache/stanbol/rules/ src/main/java/org/apach...
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/IndividualPropertyAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/IndividualPropertyAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/IndividualPropertyAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/IndividualPropertyAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,213 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import java.util.ArrayList;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.base.api.URIResource;
+import org.apache.stanbol.rules.manager.SPARQLNot;
+import org.apache.stanbol.rules.manager.SPARQLTriple;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.OWLIndividual;
+import org.semanticweb.owlapi.model.OWLObjectProperty;
+import org.semanticweb.owlapi.model.SWRLAtom;
+import org.semanticweb.owlapi.model.SWRLIArgument;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+import eu.iksproject.kres.ontologies.SWRL;
+
+public class IndividualPropertyAtom extends KReSCoreAtom {
+
+
+ private URIResource objectProperty;
+ private URIResource argument1;
+ private URIResource argument2;
+
+ public IndividualPropertyAtom(URIResource objectProperty, URIResource argument1, URIResource argument2) {
+ this.objectProperty = objectProperty;
+ this.argument1 = argument1;
+ this.argument2 = argument2;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String arg1 = argument1.toString();
+ String arg2 = argument2.toString();
+ String objP = objectProperty.toString();
+
+ boolean negativeArg1 = false;
+ boolean negativeArg2 = false;
+ boolean negativeObjP = false;
+
+ if(arg1.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg1 = "?"+arg1.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ KReSVariable variable = (KReSVariable) argument1;
+ if(variable.isNegative()){
+ negativeArg1 = true;
+ }
+ }
+
+ if(arg2.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg2 = "?"+arg2.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ KReSVariable variable = (KReSVariable) argument2;
+ if(variable.isNegative()){
+ negativeArg2 = true;
+ }
+ }
+
+ if(objP.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ objP = "?"+objP.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ KReSVariable variable = (KReSVariable) objectProperty;
+ if(variable.isNegative()){
+ negativeObjP = true;
+ }
+ }
+
+
+
+ if(negativeArg1 || negativeArg2 || negativeObjP){
+ String optional = arg1+" "+objP+" "+arg2;
+
+ ArrayList<String> filters = new ArrayList<String>();
+ if(negativeArg1){
+ filters.add("!bound(" + arg1 + ")");
+ }
+ if(negativeArg2){
+ filters.add("!bound(" + arg2 + ")");
+ }
+ if(negativeObjP){
+ filters.add("!bound(" + objP + ")");
+ }
+
+ String[] filterArray = new String[filters.size()];
+ filterArray = filters.toArray(filterArray);
+
+ return new SPARQLNot(optional, filterArray);
+ }
+ else{
+ return new SPARQLTriple(arg1+" "+objP+" "+arg2);
+ }
+
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ Resource individualPropertyAtom = model.createResource(SWRL.IndividualPropertyAtom);
+
+ Resource objectPropertyPredicate = objectProperty.createJenaResource(model);
+ Resource argument1Resource = argument1.createJenaResource(model);
+ Resource argument2Resource = argument2.createJenaResource(model);
+
+ individualPropertyAtom.addProperty(SWRL.propertyPredicate, objectPropertyPredicate);
+ individualPropertyAtom.addProperty(SWRL.argument1, argument1Resource);
+ individualPropertyAtom.addProperty(SWRL.argument2, argument2Resource);
+
+ return individualPropertyAtom;
+ }
+
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ OWLObjectProperty owlObjectProperty = factory.getOWLObjectProperty(IRI.create(objectProperty.getURI().toString()));
+
+ SWRLIArgument swrliArgument1;
+ SWRLIArgument swrliArgument2;
+
+ if(argument1 instanceof KReSVariable){
+ swrliArgument1 = factory.getSWRLVariable(IRI.create(argument1.getURI().toString()));
+ }
+ else{
+ OWLIndividual owlIndividual = factory.getOWLNamedIndividual(IRI.create(argument1.getURI().toString()));
+ swrliArgument1 = factory.getSWRLIndividualArgument(owlIndividual);
+ }
+
+ if(argument2 instanceof KReSVariable){
+ swrliArgument2 = factory.getSWRLVariable(IRI.create(argument2.getURI().toString()));
+ }
+ else{
+ OWLIndividual owlIndividual = factory.getOWLNamedIndividual(IRI.create(argument2.getURI().toString()));
+ swrliArgument2 = factory.getSWRLIndividualArgument(owlIndividual);
+ }
+
+
+
+ return factory.getSWRLObjectPropertyAtom(owlObjectProperty, swrliArgument1, swrliArgument2);
+ }
+
+ public URIResource getObjectProperty() {
+ return objectProperty;
+ }
+
+ public URIResource getArgument1() {
+ return argument1;
+ }
+
+ public URIResource getArgument2() {
+ return argument2;
+ }
+
+ @Override
+ public String toString() {
+ return "Individual "+argument1.toString() + " has object property "+argument1.toString()+" that refers to individual "+argument2.toString();
+ }
+
+
+ @Override
+ public String toKReSSyntax(){
+ String arg1 = null;
+ String arg2 = null;
+ String arg3 = null;
+
+ if(argument1.toString().startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg1 = "?"+argument1.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ KReSVariable variable = (KReSVariable) argument1;
+ if(variable.isNegative()){
+ arg1 = "notex(" + arg1 + ")";
+ }
+ }
+ else{
+ arg1 = argument1.toString();
+ }
+
+
+ if(objectProperty.toString().startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg3 = "?"+objectProperty.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ KReSVariable variable = (KReSVariable) objectProperty;
+ if(variable.isNegative()){
+ arg3 = "notex(" + arg3 + ")";
+ }
+ }
+ else{
+ arg3 = objectProperty.toString();
+ }
+
+ if(argument2.toString().startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg2 = "?"+argument2.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ KReSVariable variable = (KReSVariable) argument2;
+ if(variable.isNegative()){
+ arg2 = "notex(" + arg2 + ")";
+ }
+ }
+ else{
+ arg2 = argument2.toString();
+ }
+
+
+ return "has(" + arg3 + ", "+ arg1 +", "+arg2 +")";
+
+ }
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/IsBlankAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/IsBlankAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/IsBlankAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/IsBlankAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,73 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.base.api.URIResource;
+import org.apache.stanbol.rules.manager.SPARQLComparison;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class IsBlankAtom extends ComparisonAtom {
+
+ private URIResource uriResource;
+
+ public IsBlankAtom(URIResource uriResource) {
+ this.uriResource = uriResource;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String argument = uriResource.toString();
+
+ String sparql;
+
+ if(argument.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ sparql = "?"+argument.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+ else{
+ sparql = argument;
+ }
+
+ sparql = "isBlank(" + sparql + ")";
+
+ return new SPARQLComparison(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String argument = uriResource.toString();
+
+ String kReS;
+
+ if(argument.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ kReS = "?"+argument.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+ else{
+ kReS = argument;
+ }
+
+ kReS = "isBlank(" + kReS + ")";
+ return kReS;
+ }
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSBlankNode.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSBlankNode.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSBlankNode.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSBlankNode.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,36 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import java.net.URI;
+
+import org.apache.stanbol.rules.base.api.URIResource;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+public class KReSBlankNode implements URIResource {
+
+ private String bNode;
+
+ public KReSBlankNode(String bNode) {
+ this.bNode = bNode;
+ }
+
+ @Override
+ public URI getURI() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Resource createJenaResource(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+ @Override
+ public String toString() {
+ return bNode;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSCoreAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSCoreAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSCoreAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSCoreAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,24 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+
+
+
+public abstract class KReSCoreAtom implements KReSRuleAtom {
+
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return false;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSResource.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSResource.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSResource.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,33 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import java.net.URI;
+
+import org.apache.stanbol.rules.base.api.URIResource;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+public class KReSResource implements URIResource {
+
+ private URI uri;
+
+ public KReSResource(URI uri){
+ this.uri = uri;
+ }
+
+ @Override
+ public URI getURI() {
+ return uri;
+ }
+
+ @Override
+ public Resource createJenaResource(Model model) {
+ return model.createResource(uri.toString());
+ }
+
+ @Override
+ public String toString() {
+ return "<" + uri.toString() + ">";
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSTypedLiteral.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSTypedLiteral.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSTypedLiteral.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSTypedLiteral.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,35 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.URIResource;
+
+public class KReSTypedLiteral {
+
+ private Object value;
+ private URIResource xsdType;
+
+ public KReSTypedLiteral(Object value, URIResource xsdType) {
+ this.value = value;
+ this.xsdType = xsdType;
+ }
+
+
+ public Object getValue() {
+ return value;
+ }
+
+ public URIResource getXsdType() {
+ return xsdType;
+ }
+
+
+ @Override
+ public String toString() {
+
+ if(xsdType != null){
+ return value + "^^" + xsdType.toString();
+ }
+ else{
+ return value.toString();
+ }
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSVariable.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSVariable.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSVariable.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/KReSVariable.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,44 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import java.net.URI;
+
+import org.apache.stanbol.rules.base.api.URIResource;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+import eu.iksproject.kres.ontologies.SWRL;
+
+public class KReSVariable implements URIResource {
+
+ private URI uri;
+ private boolean negative;
+
+ public KReSVariable(URI uri, boolean negative) {
+ this.uri = uri;
+ this.negative = negative;
+ }
+
+ @Override
+ public URI getURI() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Resource createJenaResource(Model model) {
+ return model.createResource(uri.toString(), SWRL.Variable);
+ }
+
+ @Override
+ public String toString() {
+
+ return uri.toString();
+
+ }
+
+ public boolean isNegative() {
+ return negative;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LengthAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LengthAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LengthAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LengthAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,45 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class LengthAtom extends NumericFunctionAtom {
+
+
+ private StringFunctionAtom stringFunctionAtom;
+
+ public LengthAtom(StringFunctionAtom stringFunctionAtom) {
+ this.stringFunctionAtom = stringFunctionAtom;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String sparql = "<http://www.w3.org/2005/xpath-functions#string-length> (" + stringFunctionAtom.toSPARQL().getObject() + ")";
+
+ return new SPARQLFunction(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ return "length(" + stringFunctionAtom.toKReSSyntax() + ")";
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LessThanAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LessThanAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LessThanAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LessThanAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,122 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLComparison;
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.OWLLiteral;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class LessThanAtom extends ComparisonAtom {
+
+
+ private Object argument1;
+ private Object argument2;
+
+ public LessThanAtom(Object argument1, Object argument2) {
+ this.argument1 = argument1;
+ this.argument2 = argument2;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String arg1 = argument1.toString();
+ String arg2 = argument2.toString();
+
+
+ if(arg1.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg1 = "str(?"+arg1.replace("http://kres.iks-project.eu/ontology/meta/variables#", "") + ")";
+
+ }
+ else{
+ arg1 = "str("+arg1+")";
+ }
+
+ if(arg2.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg2 = "str(?"+arg2.replace("http://kres.iks-project.eu/ontology/meta/variables#", "") + ")";
+
+ }
+ else if(!arg2.startsWith("<") && !arg2.endsWith(">")){
+ OWLLiteral literal = getOWLTypedLiteral(argument2);
+ arg2 = "str(" + literal.getLiteral() + ")";
+ }
+ else{
+ arg2 = "str("+arg2+")";
+ }
+
+
+ return new SPARQLComparison(arg1+" < "+arg2);
+
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String arg1 = null;
+ String arg2 = null;
+
+ if(argument1.toString().startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg1 = "?"+argument1.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+ else{
+ arg1 = argument1.toString();
+ }
+
+
+ if(argument2.toString().startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ arg2 = "?"+argument2.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+
+ return "lt(" + arg1 + ", " + arg2 +")";
+ }
+ else{
+
+ return "lt(" + arg1 + ", " + argument2.toString() +")";
+ }
+ }
+
+
+ private OWLLiteral getOWLTypedLiteral(Object argument){
+
+ OWLDataFactory factory = OWLManager.createOWLOntologyManager().getOWLDataFactory();
+
+ OWLLiteral owlLiteral;
+ if(argument instanceof String){
+ owlLiteral = factory.getOWLTypedLiteral((String) argument);
+ }
+ else if(argument instanceof Integer){
+ owlLiteral = factory.getOWLTypedLiteral(((Integer) argument).intValue());
+ }
+ else if(argument instanceof Double){
+ owlLiteral = factory.getOWLTypedLiteral(((Double) argument).doubleValue());
+ }
+ else if(argument instanceof Float){
+ owlLiteral = factory.getOWLTypedLiteral(((Float) argument).floatValue());
+ }
+ else if(argument instanceof Boolean){
+ owlLiteral = factory.getOWLTypedLiteral(((Boolean) argument).booleanValue());
+ }
+ else{
+ owlLiteral = factory.getOWLStringLiteral(argument.toString());
+ }
+
+
+
+ return owlLiteral;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LetAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LetAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LetAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LetAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,71 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.base.api.URIResource;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class LetAtom implements KReSRuleAtom {
+
+ private URIResource variable;
+ private StringFunctionAtom parameterFunctionAtom;
+
+ public LetAtom(URIResource variable, StringFunctionAtom parameterFunctionAtom) {
+ this.variable = variable;
+ this.parameterFunctionAtom = parameterFunctionAtom;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ System.out.println();
+ System.out.println();
+ System.out.println("Parameter Function : "+parameterFunctionAtom.toSPARQL().getObject());
+ System.out.println();
+ System.out.println();
+ String variableArgument = variable.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ String let = "LET (?" + variableArgument + " := " + parameterFunctionAtom.toSPARQL().getObject() + ")";
+ SPARQLObject sparqlObject = new SPARQLFunction(let);
+ return sparqlObject;
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String arg1 = "?" + variable.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ String syntax = "let(" + arg1 + ", " + parameterFunctionAtom.toKReSSyntax() + ")";
+ return syntax;
+ }
+
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return false;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LocalNameAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LocalNameAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LocalNameAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LocalNameAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,55 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.base.api.URIResource;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class LocalNameAtom extends StringFunctionAtom {
+
+ private URIResource uriResource;
+
+ public LocalNameAtom(URIResource uriResource) {
+ this.uriResource = uriResource;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String argument = uriResource.toString();
+
+ if(argument.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ argument = "?"+argument.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+
+ String sparql = "<http://jena.hpl.hp.com/ARQ/function#localname>(" + argument + ")";
+ return new SPARQLFunction(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String argument = uriResource.toString();
+
+ if(argument.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ argument = "?"+argument.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+ return "localname(" + argument + ")";
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LowerCaseAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LowerCaseAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LowerCaseAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/LowerCaseAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,61 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class LowerCaseAtom extends StringFunctionAtom {
+
+ private StringFunctionAtom stringFunctionAtom;
+
+ public LowerCaseAtom(StringFunctionAtom stringFunctionAtom) {
+ this.stringFunctionAtom = stringFunctionAtom;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+
+ String uriResourceString = stringFunctionAtom.toSPARQL().getObject();
+
+ if(uriResourceString.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ uriResourceString = "?"+uriResourceString.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+ }
+
+ String sparql = "<http://www.w3.org/2005/xpath-functions#lower-case> (" + uriResourceString + ")";
+
+ return new SPARQLFunction(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String uriResourceString = stringFunctionAtom.toKReSSyntax();
+
+ if(uriResourceString.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ uriResourceString = "?"+uriResourceString.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+ }
+
+ return "lowerCase(" + uriResourceString + ")";
+ }
+
+
+
+}
\ No newline at end of file
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NamespaceAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NamespaceAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NamespaceAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NamespaceAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,55 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.base.api.URIResource;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class NamespaceAtom extends StringFunctionAtom {
+
+private URIResource uriResource;
+
+ public NamespaceAtom(URIResource uriResource) {
+ this.uriResource = uriResource;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String argument = uriResource.toString();
+
+ if(argument.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ argument = "?"+argument.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+
+ String sparql = "<http://jena.hpl.hp.com/ARQ/function#namespace>(" + argument + ")";
+ return new SPARQLFunction(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String argument = uriResource.toString();
+
+ if(argument.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ argument = "?"+argument.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+ return "namespace(" + argument + ")";
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NewNodeAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NewNodeAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NewNodeAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NewNodeAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,85 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.base.api.URIResource;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class NewNodeAtom implements KReSRuleAtom {
+
+
+ private URIResource newNodeVariable;
+ private Object binding;
+
+ public NewNodeAtom(URIResource newNodeVariable, Object nodeName) {
+ this.newNodeVariable = newNodeVariable;
+ this.binding = nodeName;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String variable = "?"+newNodeVariable.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ String popertyFunction = "<http://www.stlab.istc.cnr.it/semion/function#createURI>";
+
+ String bindingString = null;
+
+ if(binding instanceof KReSVariable){
+ bindingString = "?"+binding.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+ else{
+ bindingString = binding.toString();
+ }
+
+ SPARQLObject sparqlObject = new SPARQLFunction(variable + " " + popertyFunction + " " + bindingString);
+ return sparqlObject;
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String variable = "?"+newNodeVariable.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+ String bindingString = null;
+
+ if(binding instanceof KReSVariable){
+ bindingString = "?"+binding.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+ else{
+ bindingString = binding.toString();
+ }
+
+ return "newNode(" + variable + ", " + bindingString + ")";
+ }
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return false;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NotAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NotAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NotAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NotAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,46 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLComparison;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class NotAtom extends ComparisonAtom {
+
+
+ private ComparisonAtom comparisonAtom;
+
+ public NotAtom(ComparisonAtom comparisonAtom) {
+ this.comparisonAtom = comparisonAtom;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ SPARQLObject sparqlObject = comparisonAtom.toSPARQL();
+ String sparqlAtom = "!" + sparqlObject.getObject();
+ return new SPARQLComparison(sparqlAtom);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String kresSyntax = "not(" + comparisonAtom.toKReSSyntax() + ")";
+ return kresSyntax;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NumberAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NumberAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NumberAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NumberAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,54 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class NumberAtom extends NumericFunctionAtom {
+
+ private String number;
+
+ public NumberAtom(String number) {
+ this.number = number;
+ }
+
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+
+ if(number.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ number = "?"+number.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+ }
+
+ return new SPARQLFunction(number);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+
+ if(number.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ number = "?"+number.replace("http://kres.iks-project.eu/ontology/meta/variables#", "") + ")";
+
+ }
+ return number;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NumericFunctionAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NumericFunctionAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NumericFunctionAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/NumericFunctionAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,22 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+
+public abstract class NumericFunctionAtom implements KReSRuleAtom {
+
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return false;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/PropStringAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/PropStringAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/PropStringAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/PropStringAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,56 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class PropStringAtom extends StringFunctionAtom {
+
+
+ private StringFunctionAtom namespaceArg;
+ private StringFunctionAtom labelArg;
+
+ public PropStringAtom(StringFunctionAtom namespaceArg, StringFunctionAtom labelArg) {
+ this.namespaceArg = namespaceArg;
+ this.labelArg = labelArg;
+ }
+
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String ns = namespaceArg.toSPARQL().getObject();
+ String label = labelArg.toSPARQL().getObject();
+
+
+
+
+ String sparql = "<http://www.stlab.istc.cnr.it/semion/function#propString>(" + ns + ", " + label + ")";
+ return new SPARQLFunction(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String ns = namespaceArg.toKReSSyntax();
+ String label = labelArg.toKReSSyntax();
+ String kReS = "propString(" + ns + ", " + label + ")";
+ return kReS;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLConstructAtomAbstract.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLConstructAtomAbstract.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLConstructAtomAbstract.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLConstructAtomAbstract.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,21 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+
+public abstract class SPARQLConstructAtomAbstract implements KReSRuleAtom {
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return true;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return false;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLDeleteAtomAbstract.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLDeleteAtomAbstract.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLDeleteAtomAbstract.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLDeleteAtomAbstract.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,21 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+
+public abstract class SPARQLDeleteAtomAbstract implements KReSRuleAtom {
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return true;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return false;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLDeleteDataAtomAbstract.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLDeleteDataAtomAbstract.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLDeleteDataAtomAbstract.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLDeleteDataAtomAbstract.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,22 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+
+public abstract class SPARQLDeleteDataAtomAbstract implements KReSRuleAtom {
+
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return true;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLcAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLcAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLcAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLcAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,42 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class SPARQLcAtom extends SPARQLConstructAtomAbstract {
+
+ private String sparqlConstruct;
+
+ public SPARQLcAtom(String sparqlConstruct) {
+ this.sparqlConstruct = sparqlConstruct.substring(1, sparqlConstruct.length()-1);
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ return new SPARQLFunction(sparqlConstruct);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ return "sparql-c(" + sparqlConstruct + ")";
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLdAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLdAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLdAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLdAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,42 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class SPARQLdAtom extends SPARQLDeleteAtomAbstract {
+
+ private String sparqlConstruct;
+
+ public SPARQLdAtom(String sparqlConstruct) {
+ this.sparqlConstruct = sparqlConstruct.substring(1, sparqlConstruct.length()-1);
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ return new SPARQLFunction(sparqlConstruct);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ return "sparql-d(" + sparqlConstruct + ")";
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLddAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLddAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLddAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SPARQLddAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,42 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class SPARQLddAtom extends SPARQLDeleteDataAtomAbstract {
+
+private String sparqlConstruct;
+
+ public SPARQLddAtom(String sparqlConstruct) {
+ this.sparqlConstruct = sparqlConstruct.substring(1, sparqlConstruct.length()-1);
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ return new SPARQLFunction(sparqlConstruct);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ return "sparql-dd(" + sparqlConstruct + ")";
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SameAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SameAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SameAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SameAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,86 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLComparison;
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.OWLLiteral;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class SameAtom extends ComparisonAtom {
+ private StringFunctionAtom stringFunctionAtom1;
+ private StringFunctionAtom stringFunctionAtom2;
+
+ public SameAtom(StringFunctionAtom stringFunctionAtom1, StringFunctionAtom stringFunctionAtom2) {
+ this.stringFunctionAtom1 = stringFunctionAtom1;
+ this.stringFunctionAtom2 = stringFunctionAtom2;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+
+ String argument1 = stringFunctionAtom1.toSPARQL().getObject();
+ String argument2 = stringFunctionAtom2.toSPARQL().getObject();
+
+
+ argument1 = argument1.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ argument2 = argument2.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+
+ return new SPARQLComparison(argument1 + " = " + argument2);
+
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+
+ return "same(" + stringFunctionAtom1.toKReSSyntax() + ", " + stringFunctionAtom2.toKReSSyntax() + ")";
+
+ }
+
+
+ private OWLLiteral getOWLTypedLiteral(Object argument){
+
+ OWLDataFactory factory = OWLManager.createOWLOntologyManager().getOWLDataFactory();
+
+ OWLLiteral owlLiteral;
+ if(argument instanceof String){
+ owlLiteral = factory.getOWLTypedLiteral((String) argument);
+ }
+ else if(argument instanceof Integer){
+ owlLiteral = factory.getOWLTypedLiteral(((Integer) argument).intValue());
+ }
+ else if(argument instanceof Double){
+ owlLiteral = factory.getOWLTypedLiteral(((Double) argument).doubleValue());
+ }
+ else if(argument instanceof Float){
+ owlLiteral = factory.getOWLTypedLiteral(((Float) argument).floatValue());
+ }
+ else if(argument instanceof Boolean){
+ owlLiteral = factory.getOWLTypedLiteral(((Boolean) argument).booleanValue());
+ }
+ else{
+ owlLiteral = factory.getOWLStringLiteral(argument.toString());
+ }
+
+
+
+ return owlLiteral;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StartsWithAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StartsWithAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StartsWithAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StartsWithAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,55 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLComparison;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class StartsWithAtom extends ComparisonAtom {
+
+
+ private StringFunctionAtom argument;
+ private StringFunctionAtom term;
+
+ public StartsWithAtom(StringFunctionAtom argument, StringFunctionAtom term) {
+ this.argument = argument;
+ this.term = term;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String argumentSparql = argument.toSPARQL().getObject();
+
+
+
+ return new SPARQLComparison("<http://www.w3.org/2005/xpath-functions#starts-with> (" + argumentSparql + ", " + term.toSPARQL().getObject() + ")");
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+
+
+
+ return "startsWith(" + argument.toKReSSyntax() + ", " + term.toKReSSyntax() + ")";
+ }
+
+
+
+}
+
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StrAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StrAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StrAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StrAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,59 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.base.api.URIResource;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class StrAtom extends StringFunctionAtom {
+
+ private URIResource uriResource;
+
+ public StrAtom(URIResource uriResource) {
+ this.uriResource = uriResource;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+
+ String argument = uriResource.toString();
+
+ if(argument.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ argument = "?"+argument.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+
+ String sparql = "str(" + argument + ")";
+ return new SPARQLFunction(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String argument = uriResource.toString();
+
+ if(argument.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ argument = "?"+argument.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ }
+
+ String kReSSyntax = "str(" + argument + ")";
+
+ return kReSSyntax;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StringAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StringAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StringAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StringAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,49 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class StringAtom extends StringFunctionAtom {
+
+ private String string;
+
+ public StringAtom(String string) {
+ this.string = string;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+
+ if(string.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ return new SPARQLFunction("?" + string.replace("http://kres.iks-project.eu/ontology/meta/variables#", ""));
+ }
+
+ else{
+ return new SPARQLFunction(string);
+ }
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ return string;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StringFunctionAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StringFunctionAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StringFunctionAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/StringFunctionAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,22 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+
+public abstract class StringFunctionAtom implements KReSRuleAtom {
+
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return false;
+ }
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SubstringAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SubstringAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SubstringAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SubstringAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,65 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class SubstringAtom extends StringFunctionAtom {
+
+ private StringFunctionAtom stringFunctionAtom;
+ private NumericFunctionAtom start;
+ private NumericFunctionAtom length;
+
+ public SubstringAtom(StringFunctionAtom stringFunctionAtom, NumericFunctionAtom start, NumericFunctionAtom length) {
+ this.stringFunctionAtom = stringFunctionAtom;
+ this.start = start;
+ this.length = length;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+
+ String uriResourceString = stringFunctionAtom.toSPARQL().getObject();
+
+ if(uriResourceString.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ uriResourceString = "?"+uriResourceString.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+ }
+
+ String sparql = "<http://jena.hpl.hp.com/ARQ/function#substr> (" + uriResourceString + ", " + start.toSPARQL().getObject() + ", " + length.toSPARQL().getObject() + ")";
+
+ return new SPARQLFunction(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String uriResourceString = stringFunctionAtom.toKReSSyntax();
+
+ if(uriResourceString.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ uriResourceString = "?"+uriResourceString.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+ }
+
+ return "substring(" + uriResourceString + ", " + start.toKReSSyntax() + ", " + length.toKReSSyntax() + ")";
+ }
+
+
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SubtractionAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SubtractionAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SubtractionAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SubtractionAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,48 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class SubtractionAtom extends NumericFunctionAtom {
+
+
+ private NumericFunctionAtom numericFunctionAtom1;
+ private NumericFunctionAtom numericFunctionAtom2;
+
+ public SubtractionAtom(NumericFunctionAtom numericFunctionAtom1, NumericFunctionAtom numericFunctionAtom2) {
+ this.numericFunctionAtom1 = numericFunctionAtom1;
+ this.numericFunctionAtom2 = numericFunctionAtom2;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String sparqlFunction1 = numericFunctionAtom1.toSPARQL().getObject();
+ String sparqlFunction2 = numericFunctionAtom2.toSPARQL().getObject();
+ return new SPARQLFunction(sparqlFunction1 + " - " +sparqlFunction2);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String kReSFunction1 = numericFunctionAtom1.toKReSSyntax();
+ String kReSFunction2 = numericFunctionAtom2.toKReSSyntax();
+ return kReSFunction1 + " - " + kReSFunction2;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SumAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SumAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SumAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/SumAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,48 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class SumAtom extends NumericFunctionAtom {
+
+
+ private NumericFunctionAtom numericFunctionAtom1;
+ private NumericFunctionAtom numericFunctionAtom2;
+
+ public SumAtom(NumericFunctionAtom numericFunctionAtom1, NumericFunctionAtom numericFunctionAtom2) {
+ this.numericFunctionAtom1 = numericFunctionAtom1;
+ this.numericFunctionAtom2 = numericFunctionAtom2;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String sparqlFunction1 = numericFunctionAtom1.toSPARQL().getObject();
+ String sparqlFunction2 = numericFunctionAtom2.toSPARQL().getObject();
+ return new SPARQLFunction(sparqlFunction1 + " + " +sparqlFunction2);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String kReSFunction1 = numericFunctionAtom1.toKReSSyntax();
+ String kReSFunction2 = numericFunctionAtom2.toKReSSyntax();
+ return kReSFunction1 + " + " + kReSFunction2;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UObjectAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UObjectAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UObjectAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UObjectAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,95 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class UObjectAtom extends StringFunctionAtom {
+
+ public static final int STRING_TYPE = 0;
+ public static final int INTEGER_TYPE = 1;
+ public static final int VARIABLE_TYPE = 2;
+
+
+ private Object argument;
+ private int actualType;
+
+ public UObjectAtom(Object argument) {
+ this.argument = argument;
+
+ if(argument instanceof KReSVariable){
+ actualType = 2;
+ }
+ else if(argument instanceof String){
+ actualType = 0;
+ }
+ else if(argument instanceof Integer){
+ actualType = 1;
+ }
+
+ System.out.println("UObject : " + argument);
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String argumentSPARQL = null;
+
+ switch (actualType) {
+ case 0:
+ argumentSPARQL = "\"" + (String) argument + "\"^^<http://www.w3.org/2001/XMLSchema#string>";
+ break;
+ case 1:
+ argumentSPARQL = ((Integer) argument).toString() + "^^<http://www.w3.org/2001/XMLSchema#int>";
+ break;
+ case 2:
+ argumentSPARQL = "?"+argument.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ break;
+ default:
+ break;
+ }
+
+ if(argumentSPARQL != null){
+ return new SPARQLFunction(argumentSPARQL);
+ }
+ else{
+ return null;
+ }
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String argumentString = null;
+ switch (actualType) {
+ case 0:
+ argumentString = (String) argument;
+ break;
+ case 1:
+ argumentString = ((Integer) argument).toString();
+ break;
+ case 2:
+ argumentString = "?"+argument.toString().replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+ break;
+ default:
+ break;
+ }
+ return argumentString;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UnionAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UnionAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UnionAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UnionAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,99 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.KReSRuleAtom;
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.base.api.util.AtomList;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class UnionAtom implements KReSRuleAtom {
+
+ private AtomList atomList1;
+ private AtomList atomList2;
+
+ public UnionAtom(AtomList atomList1, AtomList atomList2) {
+ this.atomList1 = atomList1;
+ this.atomList2 = atomList2;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+ String scope1 = "";
+
+ for(KReSRuleAtom kReSRuleAtom : atomList1){
+ if(!scope1.isEmpty()){
+ scope1 += " . ";
+ }
+ scope1 += kReSRuleAtom.toSPARQL().getObject();
+ }
+
+ String scope2 = "";
+
+ for(KReSRuleAtom kReSRuleAtom : atomList2){
+ if(!scope2.isEmpty()){
+ scope2 += " . ";
+ }
+ scope2 += kReSRuleAtom.toSPARQL().getObject();
+ }
+
+ String sparqlUnion = " { " + scope1 + " } UNION { " +scope2 + " } ";
+
+ return new SPARQLFunction(sparqlUnion);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String scope1 = "";
+
+ for(KReSRuleAtom kReSRuleAtom : atomList1){
+ if(!scope1.isEmpty()){
+ scope1 += " . ";
+ }
+ scope1 += kReSRuleAtom.toKReSSyntax();
+ }
+
+ String scope2 = "";
+
+ for(KReSRuleAtom kReSRuleAtom : atomList2){
+ if(!scope2.isEmpty()){
+ scope2 += " . ";
+ }
+ scope2 += kReSRuleAtom.toKReSSyntax();
+ }
+
+ return "union(" + scope1 + ", " +scope2 + ")";
+ }
+
+ @Override
+ public boolean isSPARQLConstruct() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDelete() {
+ return false;
+ }
+
+ @Override
+ public boolean isSPARQLDeleteData() {
+ return false;
+ }
+
+}
Added: incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UpperCaseAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UpperCaseAtom.java?rev=1082166&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UpperCaseAtom.java (added)
+++ incubator/stanbol/trunk/kres/rules/manager/src/main/java/org/apache/stanbol/rules/manager/atoms/UpperCaseAtom.java Wed Mar 16 15:31:08 2011
@@ -0,0 +1,61 @@
+package org.apache.stanbol.rules.manager.atoms;
+
+import org.apache.stanbol.rules.base.api.SPARQLObject;
+import org.apache.stanbol.rules.manager.SPARQLFunction;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.SWRLAtom;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+
+
+public class UpperCaseAtom extends StringFunctionAtom {
+
+ private StringFunctionAtom stringFunctionAtom;
+
+ public UpperCaseAtom(StringFunctionAtom stringFunctionAtom) {
+ this.stringFunctionAtom = stringFunctionAtom;
+ }
+
+ @Override
+ public Resource toSWRL(Model model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SPARQLObject toSPARQL() {
+
+ String uriResourceString = stringFunctionAtom.toSPARQL().getObject();
+
+ if(uriResourceString.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ uriResourceString = "?"+uriResourceString.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+ }
+
+ String sparql = "<http://www.w3.org/2005/xpath-functions#upper-case> (" + uriResourceString + ")";
+
+ return new SPARQLFunction(sparql);
+ }
+
+ @Override
+ public SWRLAtom toSWRL(OWLDataFactory factory) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String toKReSSyntax() {
+ String uriResourceString = stringFunctionAtom.toKReSSyntax();
+
+ if(uriResourceString.startsWith("http://kres.iks-project.eu/ontology/meta/variables#")){
+ uriResourceString = "?"+uriResourceString.replace("http://kres.iks-project.eu/ontology/meta/variables#", "");
+
+ }
+
+ return "upperCase(" + uriResourceString + ")";
+ }
+
+
+
+}