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 2011/03/04 16:34:33 UTC

svn commit: r1078009 - in /incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules: KReSRule.java KReSRuleAtom.java KReSRuleExpressiveness.java SPARQLObject.java util/AtomList.java util/KReSRuleList.java

Author: anuzzolese
Date: Fri Mar  4 15:34:33 2011
New Revision: 1078009

URL: http://svn.apache.org/viewvc?rev=1078009&view=rev
Log:
STANBOL-108 Modified the APIs of KReS rules.

Added:
    incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleExpressiveness.java
    incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/SPARQLObject.java
Modified:
    incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRule.java
    incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleAtom.java
    incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/AtomList.java
    incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/KReSRuleList.java

Modified: incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRule.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRule.java?rev=1078009&r1=1078008&r2=1078009&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRule.java (original)
+++ incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRule.java Fri Mar  4 15:34:33 2011
@@ -8,6 +8,7 @@ import com.hp.hpl.jena.rdf.model.Resourc
 
 import eu.iksproject.kres.api.rules.util.AtomList;
 
+
 /**
  * A KReSRule is a Java object that represent a rule in KReS. It contains methods to transform a rule both in SWRL and in KReSRule
  * syntax. 
@@ -86,5 +87,21 @@ public interface KReSRule {
 	 * @return the string of the rule in KReSRule syntax.
 	 */
 	public String toKReSSyntax();
-
+	
+	/**
+	 * If the variable forwardChain is set true than the forward chain mechanism is ebled for that rule.
+	 * @return {@link boolean}.
+	 */
+	public boolean isForwardChain();
+	
+	public boolean isSPARQLConstruct();
+	
+	public boolean isSPARQLDelete();
+	
+	public boolean isSPARQLDeleteData();
+	
+	public boolean isReflexive();
+	
+	public KReSRuleExpressiveness getExpressiveness();
+	
 }

Modified: incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleAtom.java?rev=1078009&r1=1078008&r2=1078009&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleAtom.java (original)
+++ incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleAtom.java Fri Mar  4 15:34:33 2011
@@ -9,7 +9,7 @@ import com.hp.hpl.jena.rdf.model.Resourc
 public interface KReSRuleAtom {
 
 	public Resource toSWRL(Model model);
-	public String toSPARQL();
+	public SPARQLObject toSPARQL();
 	public SWRLAtom toSWRL(OWLDataFactory factory);
 	
 	/**
@@ -18,4 +18,10 @@ public interface KReSRuleAtom {
 	 */
 	public String toKReSSyntax();
 	
+	public boolean isSPARQLConstruct();
+	
+	public boolean isSPARQLDelete();
+	
+	public boolean isSPARQLDeleteData();
+	
 }

Added: incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleExpressiveness.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleExpressiveness.java?rev=1078009&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleExpressiveness.java (added)
+++ incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/KReSRuleExpressiveness.java Fri Mar  4 15:34:33 2011
@@ -0,0 +1,6 @@
+package eu.iksproject.kres.api.rules;
+
+public enum KReSRuleExpressiveness {
+
+	KReSCore, KReSBuiltIn, ForwardChaining, Reflexive, SPARQLConstruct, SPARQLDelete, SPARQLDeleteData
+}

Added: incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/SPARQLObject.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/SPARQLObject.java?rev=1078009&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/SPARQLObject.java (added)
+++ incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/SPARQLObject.java Fri Mar  4 15:34:33 2011
@@ -0,0 +1,6 @@
+package eu.iksproject.kres.api.rules;
+
+public interface SPARQLObject {
+
+	public String getObject();
+}

Modified: incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/AtomList.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/AtomList.java?rev=1078009&r1=1078008&r2=1078009&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/AtomList.java (original)
+++ incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/AtomList.java Fri Mar  4 15:34:33 2011
@@ -1,5 +1,7 @@
 package eu.iksproject.kres.api.rules.util;
 
+import eu.iksproject.kres.api.rules.util.AtomIterator;
+
 import java.util.Collection;
 import java.util.Iterator;
 
@@ -26,6 +28,20 @@ public class AtomList implements Collect
 		}
 		return true;
 	}
+	
+	public boolean addToHead(KReSRuleAtom kReSRuleAtom) {
+		if(kReSRuleAtoms == null){
+			kReSRuleAtoms = new KReSRuleAtom[1];
+			kReSRuleAtoms[0] = kReSRuleAtom;
+		}
+		else{
+			KReSRuleAtom[] semionRulesCopy = new KReSRuleAtom[kReSRuleAtoms.length+1];
+			System.arraycopy(kReSRuleAtoms, 0, semionRulesCopy, 1, kReSRuleAtoms.length);
+			semionRulesCopy[0] = kReSRuleAtom;
+			kReSRuleAtoms = semionRulesCopy;
+		}
+		return true;
+	}
 
 	public boolean addAll(Collection<? extends KReSRuleAtom> c) {
 		

Modified: incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/KReSRuleList.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/KReSRuleList.java?rev=1078009&r1=1078008&r2=1078009&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/KReSRuleList.java (original)
+++ incubator/stanbol/trunk/kres/eu.iksproject.kres.api/src/main/java/eu/iksproject/kres/api/rules/util/KReSRuleList.java Fri Mar  4 15:34:33 2011
@@ -1,5 +1,7 @@
 package eu.iksproject.kres.api.rules.util;
 
+import eu.iksproject.kres.api.rules.util.KReSRuleIterator;
+
 import java.util.Collection;
 import java.util.Iterator;
 
@@ -11,13 +13,14 @@ import eu.iksproject.kres.api.rules.KReS
 public class KReSRuleList implements Collection<KReSRule> {
 
 	private final Logger log = LoggerFactory.getLogger(getClass());
-
+	
 	private KReSRule[] kReSRules;
 
 	public KReSRuleList() {
 
 	}
 
+	
 	public boolean add(KReSRule semionRule) {
 		if (kReSRules == null) {
 			kReSRules = new KReSRule[1];
@@ -31,6 +34,24 @@ public class KReSRuleList implements Col
 			kReSRules = semionRulesCopy;
 		}
 		log.debug("Added rule " + semionRule, this);
+		System.out.println("Added rule " + semionRule);
+		return true;
+	}
+	
+	public boolean addToHead(KReSRule semionRule) {
+		if (kReSRules == null) {
+			kReSRules = new KReSRule[1];
+			kReSRules[0] = semionRule;
+		} else {
+			KReSRule[] semionRulesCopy = new KReSRule[kReSRules.length + 1];
+			System
+					.arraycopy(kReSRules, 0, semionRulesCopy, 1,
+							kReSRules.length);
+			semionRulesCopy[0] = semionRule;
+			kReSRules = semionRulesCopy;
+		}
+		log.debug("Added to HEAD rule " + semionRule, this);
+		System.out.println("Added to HEAD rule " + semionRule);
 		return true;
 	}