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 16:15:18 UTC

svn commit: r1306359 [2/3] - in /incubator/stanbol/trunk/rules/adapters/sparql/clerezza: ./ src/ src/license/ 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...

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LetAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LetAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LetAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LetAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.sparql.query.BuiltInCall;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.clerezza.rdf.core.sparql.query.Variable;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.URIResource;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+import org.apache.stanbol.rules.manager.atoms.VariableAtom;
+
+/**
+ * It adapts any LetAtom to the IRI built in call in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class LetAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.LetAtom tmp = (org.apache.stanbol.rules.manager.atoms.LetAtom) ruleAtom;
+
+        StringFunctionAtom parameterFunctionAtom = tmp.getParameterFunctionAtom();
+        URIResource variableUriResource = tmp.getVariable();
+
+        ClerezzaSparqlObject iriArgument;
+
+        iriArgument = (ClerezzaSparqlObject) adapter.adaptTo(parameterFunctionAtom, ConstructQuery.class);
+
+        List<Expression> iriArgumentExpressions = new ArrayList<Expression>();
+        iriArgumentExpressions.add((Expression) iriArgument.getClerezzaObject());
+
+        BuiltInCall iriBuiltInCall = new BuiltInCall("IRI", iriArgumentExpressions);
+
+        if (variableUriResource instanceof VariableAtom) {
+            String variableName = ((VariableAtom) variableUriResource).getVariableName();
+            Variable variable = new Variable(variableName);
+
+            List<Expression> bindArgumentExpressions = new ArrayList<Expression>();
+            bindArgumentExpressions.add(iriBuiltInCall);
+            bindArgumentExpressions.add(variable);
+
+            BuiltInCall bindBuiltInCall = new BuiltInCall("BIND", iriArgumentExpressions);
+
+            return (T) new ClerezzaSparqlObject(bindBuiltInCall);
+        } else {
+            throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
+        }
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LocalNameAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LocalNameAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LocalNameAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LocalNameAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+
+/**
+ * FIXME
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class LocalNameAtom extends AbstractAdaptableAtom {
+
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+        throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LowerCaseAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LowerCaseAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LowerCaseAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/LowerCaseAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.clerezza.rdf.core.sparql.query.FunctionCall;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+
+/**
+ * It adapts any LowerCaseAtom to the XPath function call <http://www.w3.org/2005/xpath-functions#lower-case>
+ * in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class LowerCaseAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.LowerCaseAtom tmp = (org.apache.stanbol.rules.manager.atoms.LowerCaseAtom) ruleAtom;
+
+        StringFunctionAtom argument = tmp.getStringFunctionAtom();
+
+        ClerezzaSparqlObject argument1 = (ClerezzaSparqlObject) adapter.adaptTo(argument,
+            ConstructQuery.class);
+
+        List<Expression> argumentExpressions = new ArrayList<Expression>();
+        argumentExpressions.add((Expression) argument1.getClerezzaObject());
+
+        FunctionCall functionCall = new FunctionCall(new UriRef(
+                "<http://www.w3.org/2005/xpath-functions#lower-case>"), argumentExpressions);
+
+        return (T) new ClerezzaSparqlObject(functionCall);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/MultiplicationAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/MultiplicationAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/MultiplicationAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/MultiplicationAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.sparql.query.BinaryOperation;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.NumericFunctionAtom;
+
+/**
+ * It adapts any MultiplicationAtom to the multiplication (*) binary operation in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class MultiplicationAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.MultiplicationAtom tmp = (org.apache.stanbol.rules.manager.atoms.MultiplicationAtom) ruleAtom;
+
+        NumericFunctionAtom numericFunctionAtom1 = tmp.getNumericFunctionAtom1();
+        NumericFunctionAtom numericFunctionAtom2 = tmp.getNumericFunctionAtom2();
+
+        ClerezzaSparqlObject argument1 = (ClerezzaSparqlObject) adapter.adaptTo(numericFunctionAtom1,
+            ConstructQuery.class);
+        ClerezzaSparqlObject argument2 = (ClerezzaSparqlObject) adapter.adaptTo(numericFunctionAtom2,
+            ConstructQuery.class);
+
+        Expression lhsOperand = (Expression) argument1.getClerezzaObject();
+        Expression rhsOperand = (Expression) argument2.getClerezzaObject();
+
+        BinaryOperation binaryOperation = new BinaryOperation("*", lhsOperand, rhsOperand);
+
+        return (T) new ClerezzaSparqlObject(binaryOperation);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NamespaceAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NamespaceAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NamespaceAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NamespaceAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+
+/**
+ * FIXME
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class NamespaceAtom extends AbstractAdaptableAtom {
+
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+        throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NewIRIAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NewIRIAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NewIRIAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NewIRIAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.sparql.query.BuiltInCall;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.IObjectAtom;
+import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+
+/**
+ * It adapts any NewIRIAtom to the BIND built in call in Clerezza for creating new UriRef resources binding
+ * the value to a variable.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class NewIRIAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.NewIRIAtom tmp = (org.apache.stanbol.rules.manager.atoms.NewIRIAtom) ruleAtom;
+
+        StringFunctionAtom bindingAtom = tmp.getBinding();
+        IObjectAtom variableAtom = tmp.getNewNodeVariable();
+
+        ClerezzaSparqlObject binding = (ClerezzaSparqlObject) adapter.adaptTo(bindingAtom,
+            ConstructQuery.class);
+        ClerezzaSparqlObject variable = (ClerezzaSparqlObject) adapter.adaptTo(variableAtom,
+            ConstructQuery.class);
+
+        List<Expression> iriArgumentExpressions = new ArrayList<Expression>();
+        iriArgumentExpressions.add((Expression) binding.getClerezzaObject());
+        BuiltInCall iriBuiltInCall = new BuiltInCall("IRI", iriArgumentExpressions);
+
+        List<Expression> bindArgumentExpressions = new ArrayList<Expression>();
+        bindArgumentExpressions.add(iriBuiltInCall);
+        bindArgumentExpressions.add((Expression) variable.getClerezzaObject());
+
+        BuiltInCall bindBuiltInCall = new BuiltInCall("BIND", bindArgumentExpressions);
+
+        return (T) new ClerezzaSparqlObject(bindBuiltInCall);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NewLiteralAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NewLiteralAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NewLiteralAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NewLiteralAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.sparql.query.BuiltInCall;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.IObjectAtom;
+import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+
+/**
+ * It adapts any NewLiteralAtom to the BIND built in call in Clerezza for creating new literals binding the
+ * value to a variable.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class NewLiteralAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.NewLiteralAtom tmp = (org.apache.stanbol.rules.manager.atoms.NewLiteralAtom) ruleAtom;
+
+        StringFunctionAtom bindingAtom = tmp.getBinding();
+        IObjectAtom variableAtom = tmp.getNewNodeVariable();
+
+        ClerezzaSparqlObject binding = (ClerezzaSparqlObject) adapter.adaptTo(bindingAtom,
+            ConstructQuery.class);
+        ClerezzaSparqlObject variable = (ClerezzaSparqlObject) adapter.adaptTo(variableAtom,
+            ConstructQuery.class);
+
+        List<Expression> bindArgumentExpressions = new ArrayList<Expression>();
+        bindArgumentExpressions.add((Expression) binding.getClerezzaObject());
+        bindArgumentExpressions.add((Expression) variable.getClerezzaObject());
+
+        BuiltInCall bindBuiltInCall = new BuiltInCall("BIND", bindArgumentExpressions);
+
+        return (T) new ClerezzaSparqlObject(bindBuiltInCall);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NotAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NotAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NotAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NotAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.sparql.query.BuiltInCall;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.clerezza.rdf.core.sparql.query.UnaryOperation;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+
+/**
+ * It adapts any NotAtom to the !BOUND built in call in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class NotAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.LowerCaseAtom tmp = (org.apache.stanbol.rules.manager.atoms.LowerCaseAtom) ruleAtom;
+
+        StringFunctionAtom argument = tmp.getStringFunctionAtom();
+
+        ClerezzaSparqlObject argument1 = (ClerezzaSparqlObject) adapter.adaptTo(argument,
+            ConstructQuery.class);
+
+        List<Expression> argumentExpressions = new ArrayList<Expression>();
+        argumentExpressions.add((Expression) argument1.getClerezzaObject());
+
+        BuiltInCall builtInCall = new BuiltInCall("BOUND", argumentExpressions);
+
+        UnaryOperation unaryOperation = new UnaryOperation("!", builtInCall);
+
+        return (T) new ClerezzaSparqlObject(unaryOperation);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NumberAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NumberAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NumberAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NumberAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.LiteralFactory;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.clerezza.rdf.core.sparql.query.LiteralExpression;
+import org.apache.clerezza.rdf.core.sparql.query.Variable;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.Symbols;
+
+/**
+ * It adapts any NumberAtom to a number literal in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class NumberAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+
+        org.apache.stanbol.rules.manager.atoms.NumberAtom tmp = (org.apache.stanbol.rules.manager.atoms.NumberAtom) ruleAtom;
+
+        String number = tmp.getNumber();
+
+        Expression exp = null;
+
+        if (number.startsWith("\"") && number.endsWith("\"")) {
+            number = number.substring(1, number.length() - 1);
+        }
+
+        if (number.startsWith(Symbols.variablesPrefix)) {
+            exp = new Variable(number.replace(Symbols.variablesPrefix, ""));
+        } else {
+            exp = new LiteralExpression(LiteralFactory.getInstance().createTypedLiteral(number));
+        }
+
+        return (T) new ClerezzaSparqlObject(exp);
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NumericVariableAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NumericVariableAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NumericVariableAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/NumericVariableAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.sparql.query.Variable;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+
+/**
+ * It adapts any NumericVariableAtom to a variable in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class NumericVariableAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.NumericVariableAtom tmp = (org.apache.stanbol.rules.manager.atoms.NumericVariableAtom) ruleAtom;
+
+        String variableName = tmp.getVariableName();
+        Variable variable = new Variable(variableName);
+
+        return (T) new ClerezzaSparqlObject(variable);
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/PropStringAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/PropStringAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/PropStringAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/PropStringAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+
+/**
+ * FIXME
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class PropStringAtom extends AbstractAdaptableAtom {
+
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+        throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/ResourceAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/ResourceAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/ResourceAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/ResourceAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+
+/**
+ * It adapts any ResourceAtom to UriRef resource in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class ResourceAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+
+        org.apache.stanbol.rules.manager.atoms.ResourceAtom tmp = (org.apache.stanbol.rules.manager.atoms.ResourceAtom) ruleAtom;
+
+        String unquotedURI = tmp.toUnquotedString();
+        UriRef uriRef = new UriRef(unquotedURI);
+
+        return (T) new ClerezzaSparqlObject(uriRef);
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SameAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SameAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SameAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SameAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.sparql.query.BinaryOperation;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.ExpressionAtom;
+
+/**
+ * It adapts any SameAtom to the equality (=) binary operation in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class SameAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnsupportedTypeForExportException,
+                                         UnavailableRuleObjectException {
+
+        org.apache.stanbol.rules.manager.atoms.SameAtom tmp = (org.apache.stanbol.rules.manager.atoms.SameAtom) ruleAtom;
+
+        ExpressionAtom argument1 = tmp.getStringFunctionAtom1();
+        ExpressionAtom argument2 = tmp.getStringFunctionAtom2();
+
+        ClerezzaSparqlObject clerezzaArgument1 = (ClerezzaSparqlObject) adapter.adaptTo(argument1,
+            ConstructQuery.class);
+        ClerezzaSparqlObject clerezzaArgument2 = (ClerezzaSparqlObject) adapter.adaptTo(argument2,
+            ConstructQuery.class);
+
+        Expression lhe = (Expression) clerezzaArgument1.getClerezzaObject();
+        Expression rhe = (Expression) clerezzaArgument2.getClerezzaObject();
+
+        return (T) new ClerezzaSparqlObject(new BinaryOperation("=", lhe, rhe));
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StartsWithAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StartsWithAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StartsWithAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StartsWithAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.clerezza.rdf.core.sparql.query.FunctionCall;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+
+/**
+ * It adapts any StartsWithAtom to the XPath FunctioCall <http://www.w3.org/2005/xpath-functions#starts-with>
+ * in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class StartsWithAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.StartsWithAtom tmp = (org.apache.stanbol.rules.manager.atoms.StartsWithAtom) ruleAtom;
+
+        StringFunctionAtom argument = tmp.getArgument();
+        StringFunctionAtom term = tmp.getTerm();
+
+        ClerezzaSparqlObject argument1 = (ClerezzaSparqlObject) adapter.adaptTo(argument,
+            ConstructQuery.class);
+        ClerezzaSparqlObject argument2 = (ClerezzaSparqlObject) adapter.adaptTo(term, ConstructQuery.class);
+
+        List<Expression> argumentExpressions = new ArrayList<Expression>();
+        argumentExpressions.add((Expression) argument1.getClerezzaObject());
+        argumentExpressions.add((Expression) argument2.getClerezzaObject());
+
+        FunctionCall functionCall = new FunctionCall(new UriRef(
+                "<http://www.w3.org/2005/xpath-functions#starts-with>"), argumentExpressions);
+
+        return (T) new ClerezzaSparqlObject(functionCall);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StrAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StrAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StrAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StrAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.sparql.query.BuiltInCall;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.IObjectAtom;
+
+/**
+ * It adapts any StrAtom to the STR built in of Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class StrAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.StrAtom tmp = (org.apache.stanbol.rules.manager.atoms.StrAtom) ruleAtom;
+
+        IObjectAtom uriResource = tmp.getUriResource();
+
+        ClerezzaSparqlObject clerezzaSparqlObject = (ClerezzaSparqlObject) adapter.adaptTo(uriResource,
+            ConstructQuery.class);
+
+        List<Expression> expressions = new ArrayList<Expression>();
+        expressions.add((Expression) clerezzaSparqlObject.getClerezzaObject());
+
+        return (T) new ClerezzaSparqlObject(new BuiltInCall("STR", expressions));
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StringAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StringAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StringAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StringAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.impl.PlainLiteralImpl;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.clerezza.rdf.core.sparql.query.LiteralExpression;
+import org.apache.clerezza.rdf.core.sparql.query.Variable;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.Symbols;
+
+/**
+ * It adapts any StringAtom to a string literal in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class StringAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+
+        org.apache.stanbol.rules.manager.atoms.StringAtom tmp = (org.apache.stanbol.rules.manager.atoms.StringAtom) ruleAtom;
+
+        String string = tmp.getString();
+
+        Expression exp = null;
+
+        if (string.startsWith("\"") && string.endsWith("\"")) {
+            string = string.substring(1, string.length() - 1);
+        }
+
+        if (string.startsWith(Symbols.variablesPrefix)) {
+            exp = new Variable(string.replace(Symbols.variablesPrefix, ""));
+        } else {
+            exp = new LiteralExpression(new PlainLiteralImpl(string));
+        }
+
+        return (T) new ClerezzaSparqlObject(exp);
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StringVariableAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StringVariableAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StringVariableAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/StringVariableAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.sparql.query.Variable;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+
+/**
+ * It adapts any StringVariableAtom to a variable in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class StringVariableAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.StringVariableAtom tmp = (org.apache.stanbol.rules.manager.atoms.StringVariableAtom) ruleAtom;
+
+        String variableName = tmp.getVariableName();
+        Variable variable = new Variable(variableName);
+
+        return (T) new ClerezzaSparqlObject(variable);
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SubstringAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SubstringAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SubstringAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SubstringAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.clerezza.rdf.core.sparql.query.FunctionCall;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.NumericFunctionAtom;
+import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+
+/**
+ * It adapts any SubstringAtom to the XPath FunctionCall <http://www.w3.org/2005/xpath-functions#substring> in
+ * Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class SubstringAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.SubstringAtom tmp = (org.apache.stanbol.rules.manager.atoms.SubstringAtom) ruleAtom;
+
+        StringFunctionAtom argument = tmp.getStringFunctionAtom();
+        NumericFunctionAtom start = tmp.getStart();
+        NumericFunctionAtom length = tmp.getLength();
+
+        ClerezzaSparqlObject clerezzaArgument = (ClerezzaSparqlObject) adapter.adaptTo(argument,
+            ConstructQuery.class);
+        ClerezzaSparqlObject clerezzaStart = (ClerezzaSparqlObject) adapter.adaptTo(start,
+            ConstructQuery.class);
+        ClerezzaSparqlObject clerezzaLength = (ClerezzaSparqlObject) adapter.adaptTo(length,
+            ConstructQuery.class);
+
+        List<Expression> argumentExpressions = new ArrayList<Expression>();
+        argumentExpressions.add((Expression) clerezzaArgument.getClerezzaObject());
+        argumentExpressions.add((Expression) clerezzaStart.getClerezzaObject());
+        argumentExpressions.add((Expression) clerezzaLength.getClerezzaObject());
+
+        FunctionCall functionCall = new FunctionCall(new UriRef(
+                "<http://www.w3.org/2005/xpath-functions#substring>"), argumentExpressions);
+
+        return (T) new ClerezzaSparqlObject(functionCall);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SubtractionAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SubtractionAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SubtractionAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SubtractionAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.sparql.query.BinaryOperation;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.NumericFunctionAtom;
+
+/**
+ * It adapts any SubtractionAtom to the difference (-) binary operation in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class SubtractionAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.SubtractionAtom tmp = (org.apache.stanbol.rules.manager.atoms.SubtractionAtom) ruleAtom;
+
+        NumericFunctionAtom numericFunctionAtom1 = tmp.getNumericFunctionAtom1();
+        NumericFunctionAtom numericFunctionAtom2 = tmp.getNumericFunctionAtom2();
+
+        ClerezzaSparqlObject argument1 = (ClerezzaSparqlObject) adapter.adaptTo(numericFunctionAtom1,
+            ConstructQuery.class);
+        ClerezzaSparqlObject argument2 = (ClerezzaSparqlObject) adapter.adaptTo(numericFunctionAtom2,
+            ConstructQuery.class);
+
+        Expression lhsOperand = (Expression) argument1.getClerezzaObject();
+        Expression rhsOperand = (Expression) argument2.getClerezzaObject();
+
+        BinaryOperation binaryOperation = new BinaryOperation("-", lhsOperand, rhsOperand);
+
+        return (T) new ClerezzaSparqlObject(binaryOperation);
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SumAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SumAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SumAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/SumAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.sparql.query.BinaryOperation;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.NumericFunctionAtom;
+
+/**
+ * It adapts any SumAtom to the sum (+) binary operation in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class SumAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.SumAtom tmp = (org.apache.stanbol.rules.manager.atoms.SumAtom) ruleAtom;
+
+        NumericFunctionAtom numericFunctionAtom1 = tmp.getNumericFunctionAtom1();
+        NumericFunctionAtom numericFunctionAtom2 = tmp.getNumericFunctionAtom2();
+
+        ClerezzaSparqlObject argument1 = (ClerezzaSparqlObject) adapter.adaptTo(numericFunctionAtom1,
+            ConstructQuery.class);
+        ClerezzaSparqlObject argument2 = (ClerezzaSparqlObject) adapter.adaptTo(numericFunctionAtom2,
+            ConstructQuery.class);
+
+        Expression lhsOperand = (Expression) argument1.getClerezzaObject();
+        Expression rhsOperand = (Expression) argument2.getClerezzaObject();
+
+        BinaryOperation binaryOperation = new BinaryOperation("+", lhsOperand, rhsOperand);
+
+        return (T) new ClerezzaSparqlObject(binaryOperation);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/TypedLiteralAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/TypedLiteralAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/TypedLiteralAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/TypedLiteralAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,65 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.Literal;
+import org.apache.clerezza.rdf.core.LiteralFactory;
+import org.apache.clerezza.rdf.core.sparql.query.LiteralExpression;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.manager.atoms.ExpressionAtom;
+import org.apache.stanbol.rules.manager.atoms.NumberAtom;
+import org.apache.stanbol.rules.manager.atoms.StringAtom;
+
+/**
+ * It adapts any TypedLiteralAtom to a typed literal in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class TypedLiteralAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+
+        org.apache.stanbol.rules.manager.atoms.TypedLiteralAtom tmp = (org.apache.stanbol.rules.manager.atoms.TypedLiteralAtom) ruleAtom;
+
+        ExpressionAtom expressionAtom = tmp.getValue();
+
+        Literal literal = null;
+
+        if (expressionAtom instanceof StringAtom) {
+            String value = expressionAtom.toString();
+
+            literal = LiteralFactory.getInstance().createTypedLiteral(value);
+        } else if (expressionAtom instanceof NumberAtom) {
+            Number number = ((NumberAtom) expressionAtom).getNumberValue();
+            literal = LiteralFactory.getInstance().createTypedLiteral(number);
+        } else {
+            throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
+        }
+
+        LiteralExpression literalExpression = new LiteralExpression(literal);
+
+        return (T) new ClerezzaSparqlObject(literalExpression);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UObjectAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UObjectAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UObjectAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UObjectAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+
+/**
+ * FIXME
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class UObjectAtom extends AbstractAdaptableAtom {
+
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+        throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UnionAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UnionAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UnionAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UnionAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+
+/**
+ * FIXME
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class UnionAtom extends AbstractAdaptableAtom {
+
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+        throw new org.apache.stanbol.rules.base.api.RuleAtomCallExeption(getClass());
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UpperCaseAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UpperCaseAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UpperCaseAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/UpperCaseAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
+import org.apache.clerezza.rdf.core.sparql.query.FunctionCall;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+import org.apache.stanbol.rules.base.api.UnavailableRuleObjectException;
+import org.apache.stanbol.rules.base.api.UnsupportedTypeForExportException;
+import org.apache.stanbol.rules.manager.atoms.StringFunctionAtom;
+
+/**
+ * It adapts any UpperCaseAtom to the XPath FuncionCall <http://www.w3.org/2005/xpath-functions#upper-case> in
+ * Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class UpperCaseAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption,
+                                         UnavailableRuleObjectException,
+                                         UnsupportedTypeForExportException {
+
+        org.apache.stanbol.rules.manager.atoms.UpperCaseAtom tmp = (org.apache.stanbol.rules.manager.atoms.UpperCaseAtom) ruleAtom;
+
+        StringFunctionAtom argument = tmp.getStringFunctionAtom();
+
+        ClerezzaSparqlObject argument1 = (ClerezzaSparqlObject) adapter.adaptTo(argument,
+            ConstructQuery.class);
+
+        List<Expression> argumentExpressions = new ArrayList<Expression>();
+        argumentExpressions.add((Expression) argument1.getClerezzaObject());
+
+        FunctionCall functionCall = new FunctionCall(new UriRef(
+                "<http://www.w3.org/2005/xpath-functions#upper-case>"), argumentExpressions);
+
+        return (T) new ClerezzaSparqlObject(functionCall);
+
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/VariableAtom.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/VariableAtom.java?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/VariableAtom.java (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/java/org/apache/stanbol/rules/adapters/sparql/clerezza/atoms/VariableAtom.java Wed Mar 28 14:15:16 2012
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+package org.apache.stanbol.rules.adapters.sparql.clerezza.atoms;
+
+import org.apache.clerezza.rdf.core.sparql.query.Variable;
+import org.apache.stanbol.rules.adapters.AbstractAdaptableAtom;
+import org.apache.stanbol.rules.adapters.sparql.ClerezzaSparqlObject;
+import org.apache.stanbol.rules.base.api.RuleAtom;
+import org.apache.stanbol.rules.base.api.RuleAtomCallExeption;
+
+/**
+ * It adapts a VariableAtom to a variable in Clerezza.
+ * 
+ * @author anuzzolese
+ * 
+ */
+public class VariableAtom extends AbstractAdaptableAtom {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <T> T adapt(RuleAtom ruleAtom) throws RuleAtomCallExeption {
+
+        org.apache.stanbol.rules.manager.atoms.VariableAtom tmp = (org.apache.stanbol.rules.manager.atoms.VariableAtom) ruleAtom;
+
+        String variableName = tmp.getVariableName();
+        Variable variable = new Variable(variableName);
+
+        return (T) new ClerezzaSparqlObject(variable);
+    }
+
+}

Added: incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/resources/OSGI-INF/metatype/metatype.properties
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/resources/OSGI-INF/metatype/metatype.properties?rev=1306359&view=auto
==============================================================================
--- incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/resources/OSGI-INF/metatype/metatype.properties (added)
+++ incubator/stanbol/trunk/rules/adapters/sparql/clerezza/src/main/resources/OSGI-INF/metatype/metatype.properties Wed Mar 28 14:15:16 2012
@@ -0,0 +1,26 @@
+# 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.
+
+#===============================================================================
+#Properties defined by the Rule Store
+#===============================================================================
+org.apache.stanbol.rules.manager.changes.RuleStoreImpl.name = Apache Stanbol Rule Store
+org.apache.stanbol.rules.manager.changes.RuleStoreImpl.description = A storage facility for Apache Stanbol rules and recipes.
+
+org.apache.stanbol.rules.base.rule_namespace.name = Rule namespace
+org.apache.stanbol.rules.base.rule_namespace.description = The default namespace of Stanbol rule instances in the rule ontology.
+
+org.apache.stanbol.rules.base.rule_ontology.name = Rule ontology location
+org.apache.stanbol.rules.base.rule_ontology.description = The URL of the ontology containing the default rule set. Can be overridden programmatically.
\ No newline at end of file