You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/08/21 17:24:28 UTC
svn commit: r1375608 - in
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql: ./ expr/
expr/nodevalue/ function/ function/library/
Author: andy
Date: Tue Aug 21 15:24:27 2012
New Revision: 1375608
URL: http://svn.apache.org/viewvc?rev=1375608&view=rev
Log:
Add functions-by-uri for many of the F&O functions.
Added:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DayFromDateTime.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DaysFromDuration.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_Floor.java
- copied, changed from r1372890, jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_floor.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDateTime.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDuration.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDateTime.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDuration.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthFromDateTime.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthsFromDuration.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDateTime.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDuration.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_StrEncodeForURI.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_TimezoneFromDateTime.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearFromDateTime.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearsFromDuration.java
Removed:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_floor.java
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/ARQConstants.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/E_StrEncodeForURI.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/StandardFunctions.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/ARQConstants.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/ARQConstants.java?rev=1375608&r1=1375607&r2=1375608&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/ARQConstants.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/ARQConstants.java Tue Aug 21 15:24:27 2012
@@ -46,6 +46,9 @@ public class ARQConstants
/** XSD namespace prefix */
public static final String xsdPrefix = XSDDatatype.XSD+"#" ;
+ /** The prefix of SPARQL functions and operator */
+ public static final String fnSparql = "http://www.w3.org/ns/sparql#" ;
+
/** The namespace of the XML results format */
public static final String srxPrefix = "http://www.w3.org/2005/sparql-results#" ;
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/E_StrEncodeForURI.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/E_StrEncodeForURI.java?rev=1375608&r1=1375607&r2=1375608&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/E_StrEncodeForURI.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/E_StrEncodeForURI.java Tue Aug 21 15:24:27 2012
@@ -18,10 +18,7 @@
package com.hp.hpl.jena.sparql.expr;
-import org.openjena.atlas.lib.IRILib ;
-
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
-import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
import com.hp.hpl.jena.sparql.sse.Tags ;
public class E_StrEncodeForURI extends ExprFunction1
@@ -36,23 +33,9 @@ public class E_StrEncodeForURI extends E
@Override
public NodeValue eval(NodeValue v)
{
- Node n = v.asNode() ;
- if ( ! n.isLiteral() )
- throw new ExprEvalException("Not a literal") ;
- if ( n.getLiteralDatatype() != null )
- {
- if ( ! n.getLiteralDatatype().equals(XSDDatatype.XSDstring) )
- throw new ExprEvalException("Not a string literal") ;
- }
-
- String str = n.getLiteralLexicalForm() ;
- String encStr = IRILib.encodeUriComponent(str) ;
- encStr = IRILib.encodeNonASCII(encStr) ;
-
- return NodeValue.makeString(encStr) ;
+ return XSDFuncOp.strEncodeForURI(v) ;
}
-
-
+
@Override
public Expr copy(Expr expr) { return new E_StrEncodeForURI(expr) ; }
}
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java?rev=1375608&r1=1375607&r2=1375608&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java Tue Aug 21 15:24:27 2012
@@ -18,7 +18,8 @@
package com.hp.hpl.jena.sparql.expr.nodevalue;
-import static com.hp.hpl.jena.sparql.expr.nodevalue.NodeFunctions.* ;
+import static com.hp.hpl.jena.sparql.expr.nodevalue.NodeFunctions.checkAndGetStringLiteral ;
+import static com.hp.hpl.jena.sparql.expr.nodevalue.NodeFunctions.checkTwoArgumentStringLiterals ;
import static com.hp.hpl.jena.sparql.expr.nodevalue.NumericType.OP_DECIMAL ;
import static com.hp.hpl.jena.sparql.expr.nodevalue.NumericType.OP_DOUBLE ;
import static com.hp.hpl.jena.sparql.expr.nodevalue.NumericType.OP_FLOAT ;
@@ -39,9 +40,11 @@ import java.util.Set ;
import java.util.regex.Pattern ;
import javax.xml.datatype.DatatypeConstants ;
+import javax.xml.datatype.DatatypeConstants.Field ;
import javax.xml.datatype.Duration ;
import javax.xml.datatype.XMLGregorianCalendar ;
+import org.openjena.atlas.lib.IRILib ;
import org.openjena.atlas.lib.StrUtils ;
import org.openjena.atlas.logging.Log ;
@@ -603,7 +606,25 @@ public class XSDFuncOp
return calcReturn(lex2, string.asNode()) ;
}
- // F&O fn;concat (implicit cast to strings).
+ public static NodeValue strEncodeForURI(NodeValue v)
+ {
+ Node n = v.asNode() ;
+ if ( ! n.isLiteral() )
+ throw new ExprEvalException("Not a literal") ;
+ if ( n.getLiteralDatatype() != null )
+ {
+ if ( ! n.getLiteralDatatype().equals(XSDDatatype.XSDstring) )
+ throw new ExprEvalException("Not a string literal") ;
+ }
+
+ String str = n.getLiteralLexicalForm() ;
+ String encStr = IRILib.encodeUriComponent(str) ;
+ encStr = IRILib.encodeNonASCII(encStr) ;
+
+ return NodeValue.makeString(encStr) ;
+ }
+
+ // F&O fn:concat (implicit cast to strings).
public static NodeValue fnConcat(List<NodeValue> args)
{
StringBuilder sb = new StringBuilder() ;
@@ -926,40 +947,39 @@ public class XSDFuncOp
}
- // XXX Remove??
- // This only differs by some "dateTime" => "date"
- private static int compareDateFO(NodeValue nv1, NodeValue nv2)
- {
- XMLGregorianCalendar dt1 = nv1.getDateTime() ;
- XMLGregorianCalendar dt2 = nv2.getDateTime() ;
-
- int x = compareXSDDateTime(dt1, dt2) ; // Yes - compareDateTIme
- if ( x == XSDDateTime.INDETERMINATE )
- {
- NodeValue nv3 = fixupDate(nv1) ;
- if ( nv3 != null )
- {
- XMLGregorianCalendar dt3 = nv3.getDateTime() ;
- x = compareXSDDateTime(dt3, dt2) ;
- if ( x == XSDDateTime.INDETERMINATE )
- throw new ARQInternalErrorException("Still get indeterminate comparison") ;
- return x ;
- }
-
- nv3 = fixupDate(nv2) ;
- if ( nv3 != null )
- {
- XMLGregorianCalendar dt3 = nv3.getDateTime() ;
- x = compareXSDDateTime(dt1, dt3) ;
- if ( x == XSDDateTime.INDETERMINATE )
- throw new ARQInternalErrorException("Still get indeterminate comparison") ;
- return x ;
- }
-
- throw new ARQInternalErrorException("Failed to fixup dateTimes") ;
- }
- return x ;
- }
+// // This only differs by some "dateTime" => "date"
+// private static int compareDateFO(NodeValue nv1, NodeValue nv2)
+// {
+// XMLGregorianCalendar dt1 = nv1.getDateTime() ;
+// XMLGregorianCalendar dt2 = nv2.getDateTime() ;
+//
+// int x = compareXSDDateTime(dt1, dt2) ; // Yes - compareDateTIme
+// if ( x == XSDDateTime.INDETERMINATE )
+// {
+// NodeValue nv3 = fixupDate(nv1) ;
+// if ( nv3 != null )
+// {
+// XMLGregorianCalendar dt3 = nv3.getDateTime() ;
+// x = compareXSDDateTime(dt3, dt2) ;
+// if ( x == XSDDateTime.INDETERMINATE )
+// throw new ARQInternalErrorException("Still get indeterminate comparison") ;
+// return x ;
+// }
+//
+// nv3 = fixupDate(nv2) ;
+// if ( nv3 != null )
+// {
+// XMLGregorianCalendar dt3 = nv3.getDateTime() ;
+// x = compareXSDDateTime(dt1, dt3) ;
+// if ( x == XSDDateTime.INDETERMINATE )
+// throw new ARQInternalErrorException("Still get indeterminate comparison") ;
+// return x ;
+// }
+//
+// throw new ARQInternalErrorException("Failed to fixup dateTimes") ;
+// }
+// return x ;
+// }
private static NodeValue fixupDateTime(NodeValue nv)
{
@@ -1355,4 +1375,43 @@ public class XSDFuncOp
return !dur.isSet(YEARS) && ! dur.isSet(MONTHS) &&
( dur.isSet(DAYS) || dur.isSet(HOURS) || dur.isSet(MINUTES) || dur.isSet(SECONDS) );
}
+
+ public static NodeValue durGetYears(NodeValue nv)
+ { return accessDuration(nv, DatatypeConstants.YEARS) ; }
+
+ public static NodeValue durGetMonths(NodeValue nv)
+ {return accessDuration(nv, DatatypeConstants.MONTHS) ; }
+
+ public static NodeValue durGetDays(NodeValue nv)
+ { return accessDuration(nv, DatatypeConstants.DAYS) ; }
+
+ public static NodeValue durGetHours(NodeValue nv)
+ { return accessDuration(nv, DatatypeConstants.HOURS) ; }
+
+ public static NodeValue durGetMinutes(NodeValue nv)
+ { return accessDuration(nv, DatatypeConstants.MINUTES) ; }
+
+ public static NodeValue durGetSeconds(NodeValue nv)
+ { return accessDuration(nv, DatatypeConstants.SECONDS) ; }
+
+ public static NodeValue durGetSign(NodeValue nv)
+ {
+ int x = nv.getDuration().getSign() ;
+ return NodeValue.makeInteger(x) ;
+ }
+
+ private static NodeValue accessDuration(NodeValue nv, Field field)
+ {
+// if ( ! nv.isDuration() )
+// throw new ExprEvalException("Not a duration: "+nv) ;
+
+ Number x = nv.getDuration().getField(field) ;
+ if ( x == null )
+ throw new ExprEvalException("Not a valid field of a duration: "+nv) ;
+
+ if ( field.equals(DatatypeConstants.SECONDS) )
+ return NodeValue.makeDecimal((BigDecimal)x) ;
+
+ return NodeValue.makeInteger((BigInteger)x) ;
+ }
}
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/StandardFunctions.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/StandardFunctions.java?rev=1375608&r1=1375607&r2=1375608&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/StandardFunctions.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/StandardFunctions.java Tue Aug 21 15:24:27 2012
@@ -29,8 +29,7 @@ public class StandardFunctions
public static void loadStdDefs(FunctionRegistry registry)
{
String xfn = ARQConstants.fnPrefix ;
-
- String sparqlfn = "http://www.w3.org/sparqfn/" ; // Not fixed yet.
+ String sparqlfn = ARQConstants.fnSparql ;
// See http://www.w3.org/TR/xpath-datamodel/#types-hierarchy
// No durations here
@@ -91,68 +90,25 @@ public class StandardFunctions
add(registry, xfn+"abs", FN_Abs.class) ;
add(registry, xfn+"ceiling", FN_Ceiling.class) ;
- add(registry, xfn+"floor", FN_floor.class) ;
+ add(registry, xfn+"floor", FN_Floor.class) ;
add(registry, xfn+"round", FN_Round.class) ;
- // SPARQL functions.
- // Check the exact URI.
+ add(registry, xfn+"encode-for-uri", FN_StrEncodeForURI.class) ;
-// add(registry, sparqlfn+"boolean", FN_BEV.class) ;
-// add(registry, sparqlfn+"not", FN_Not.class) ;
-//
-// add(registry, sparqlfn+"matches", FN_Matches.class) ;
-// add(registry, sparqlfn+"string-length", FN_StrLength.class) ;
-// add(registry, sparqlfn+"concat", FN_StrConcat.class) ;
-// add(registry, sparqlfn+"substring", FN_StrSubstring.class) ;
-// add(registry, sparqlfn+"starts-with", FN_StrStartsWith.class) ;
-//
-// add(registry, sparqlfn+"lower-case", FN_StrLowerCase.class) ;
-// add(registry, sparqlfn+"upper-case", FN_StrUpperCase.class) ;
-//
-// add(registry, sparqlfn+"contains", FN_StrContains.class) ;
-// add(registry, sparqlfn+"ends-with", FN_StrEndsWith.class) ;
-//
-// add(registry, sparqlfn+"abs", FN_Abs.class) ;
-// add(registry, sparqlfn+"ceiling", FN_Ceiling.class) ;
-// add(registry, sparqlfn+"floor", FN_floor.class) ;
-// add(registry, sparqlfn+"round", FN_Round.class) ;
-
-// add(registry, sparqlfn+"concat", FN_Concat.class) ;
-// add(registry, sparqlfn+"upper-case", FN_UpperCase.class) ;
-// add(registry, sparqlfn+"lower-case", FN_LowerCase.class) ;
-// add(registry, sparqlfn+"encode-for-uri", FN_EncodeForURI.class) ;
-// add(registry, sparqlfn+"contains", FN_Contains.class) ;
-//
-// add(registry, sparqlfn+"starts-with", FN_StartsWith.class) ;
-// add(registry, sparqlfn+"ends-with", FN_EndsWith.class) ;
-
-// add(registry, xfn+"year-from-dateTime", FN_YearFromDateTime.class) ;
-// add(registry, xfn+"month-from-dateTime", FN_MonthFromDateTime.class) ;
-// add(registry, xfn+"day-from-dateTime", FN_DayFromDateTime.class) ;
-//
-//
-// add(registry, xfn+"hours-from-dateTime", FN_HoursFromDateTime.class) ;
-// add(registry, xfn+"minutes-from-dateTime", FN_MinutesFromDateTime.class) ;
-// add(registry, xfn+"seconds-from-dateTime", FN_SecondsFromDateTime.class) ;
-
-// add(registry, xfn+"timezone-from-dateTime", FN_TimezoneFromDateTime.class) ;
-
-
- // fn:compare/2 and /3 and provide collation argument
- // Locale locale = new Locale(String language, String country)
- // language is two letter lower case, county is uppercase.
- // http://www.loc.gov/standards/iso639-2/englangn.html
- // Check in Locale.getISOCountries()
- // http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
- // Check in Locale.getISOLanguages
- // Collator.getInstance(Locale)
- // fn:current-date() as xs:date = xs:date(fn:current-dateTime()).
- // fn:current-dateTime as xs:dateTime
- // fn:current-time() as xs:time
-
- // WRONG: fn:max/fn:min are aggregate functions that take a sequence
- //add(registry, xfn+"max", max.class) ;
- //add(registry, xfn+"min", min.class) ;
+ add(registry, xfn+"year-from-dateTime", FN_YearFromDateTime.class) ;
+ add(registry, xfn+"month-from-dateTime", FN_MonthFromDateTime.class) ;
+ add(registry, xfn+"day-from-dateTime", FN_DayFromDateTime.class) ;
+ add(registry, xfn+"hours-from-dateTime", FN_HoursFromDateTime.class) ;
+ add(registry, xfn+"minutes-from-dateTime", FN_MinutesFromDateTime.class) ;
+ add(registry, xfn+"seconds-from-dateTime", FN_SecondsFromDateTime.class) ;
+ add(registry, xfn+"timezone-from-dateTime", FN_TimezoneFromDateTime.class) ;
+
+ add(registry, xfn+"years-from-duration", FN_YearsFromDuration.class) ;
+ add(registry, xfn+"months-from-duration", FN_MonthsFromDuration.class) ;
+ add(registry, xfn+"days-from-duration", FN_DaysFromDuration.class) ;
+ add(registry, xfn+"hours-from-duration", FN_HoursFromDuration.class) ;
+ add(registry, xfn+"minutes-from-duration", FN_MinutesFromDuration.class) ;
+ add(registry, xfn+"seconds-from-duration", FN_SecondsFromDuration.class) ;
}
private static void addCast(FunctionRegistry registry, XSDDatatype dt)
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DayFromDateTime.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DayFromDateTime.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DayFromDateTime.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DayFromDateTime.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_DayFromDateTime extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.dtGetDay(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DaysFromDuration.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DaysFromDuration.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DaysFromDuration.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_DaysFromDuration.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_DaysFromDuration extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.durGetDays(v) ;
+ }
+}
+
Copied: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_Floor.java (from r1372890, jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_floor.java)
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_Floor.java?p2=jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_Floor.java&p1=jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_floor.java&r1=1372890&r2=1375608&rev=1375608&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_floor.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_Floor.java Tue Aug 21 15:24:27 2012
@@ -24,9 +24,9 @@ import com.hp.hpl.jena.sparql.function.F
/** floor(expression) */
-public class FN_floor extends FunctionBase1
+public class FN_Floor extends FunctionBase1
{
- public FN_floor() { super() ; }
+ public FN_Floor() { super() ; }
@Override
public NodeValue exec(NodeValue v)
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDateTime.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDateTime.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDateTime.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDateTime.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_HoursFromDateTime extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.dtGetHours(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDuration.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDuration.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDuration.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_HoursFromDuration.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_HoursFromDuration extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.durGetHours(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDateTime.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDateTime.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDateTime.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDateTime.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_MinutesFromDateTime extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.dtGetMinutes(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDuration.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDuration.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDuration.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MinutesFromDuration.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_MinutesFromDuration extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.durGetMinutes(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthFromDateTime.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthFromDateTime.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthFromDateTime.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthFromDateTime.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_MonthFromDateTime extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.dtGetMonth(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthsFromDuration.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthsFromDuration.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthsFromDuration.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_MonthsFromDuration.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_MonthsFromDuration extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.durGetMonths(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDateTime.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDateTime.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDateTime.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDateTime.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_SecondsFromDateTime extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.dtGetSeconds(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDuration.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDuration.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDuration.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_SecondsFromDuration.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_SecondsFromDuration extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.durGetSeconds(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_StrEncodeForURI.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_StrEncodeForURI.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_StrEncodeForURI.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_StrEncodeForURI.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_StrEncodeForURI extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.strEncodeForURI(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_TimezoneFromDateTime.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_TimezoneFromDateTime.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_TimezoneFromDateTime.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_TimezoneFromDateTime.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_TimezoneFromDateTime extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.dtGetTimezone(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearFromDateTime.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearFromDateTime.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearFromDateTime.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearFromDateTime.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,33 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_YearFromDateTime extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.dtGetYear(v) ;
+ }
+}
+
Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearsFromDuration.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearsFromDuration.java?rev=1375608&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearsFromDuration.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/function/library/FN_YearsFromDuration.java Tue Aug 21 15:24:27 2012
@@ -0,0 +1,34 @@
+/**
+ * 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 com.hp.hpl.jena.sparql.function.library;
+
+import com.hp.hpl.jena.sparql.expr.NodeValue ;
+import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
+import com.hp.hpl.jena.sparql.function.FunctionBase1 ;
+
+public class FN_YearsFromDuration extends FunctionBase1
+{
+ @Override
+ public NodeValue exec(NodeValue v)
+ {
+ return XSDFuncOp.durGetYears(v) ;
+ }
+
+}
+