Changeset 750:07d584b2fb5b


Ignore:
Timestamp:
11/29/12 19:18:37 (5 years ago)
Author:
Konstantina Bereta <Konstantina.Bereta@…>
Branch:
temporals
Message:

Four more temporal relation functions are now supported: strdf:overrightPeriod, strdf:overleftPeriod, strdf:equalsPeriod, strdf:nequalsPeriod

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • generaldb/src/main/java/org/openrdf/sail/generaldb/algebra/base/GeneralDBExprSupport.java

    r733 r750  
    9393import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlAfterPeriod; 
    9494import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlBeforePeriod; 
     95import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlEqualsPeriod; 
     96import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlNequalsPeriod; 
     97import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlOverleftPeriod; 
     98import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlOverrightPeriod; 
    9599import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlPeriodContainedBy; 
    96100import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlPeriodContains; 
     
    101105 *  
    102106 * @author James Leigh 
     107 * @author Manos Karpathiotakis <mk@di.uoa.gr> 
     108 * @author Konstantina Bereta <Konstantina.Bereta@di.uoa.gr> 
    103109 *  
    104110 */ 
     
    364370                return new GeneralDBSqlBeforePeriod(left, right); 
    365371        } 
     372        public static GeneralDBSqlExpr overleftPeriod(GeneralDBSqlExpr left, GeneralDBSqlExpr right) { 
     373                return new GeneralDBSqlOverleftPeriod(left, right); 
     374        } 
     375        public static GeneralDBSqlExpr overrightPeriod(GeneralDBSqlExpr left, GeneralDBSqlExpr right) { 
     376                return new GeneralDBSqlOverrightPeriod(left, right); 
     377        } 
     378        public static GeneralDBSqlExpr equalsPeriod(GeneralDBSqlExpr left, GeneralDBSqlExpr right) { 
     379                return new GeneralDBSqlEqualsPeriod(left, right); 
     380        } 
     381        public static GeneralDBSqlExpr nequalsPeriod(GeneralDBSqlExpr left, GeneralDBSqlExpr right) { 
     382                return new GeneralDBSqlNequalsPeriod(left, right); 
     383        } 
    366384        public static GeneralDBSqlExpr periodContains(GeneralDBSqlExpr left, GeneralDBSqlExpr right) { 
    367385                return new GeneralDBSqlPeriodContains(left, right); 
  • generaldb/src/main/java/org/openrdf/sail/generaldb/algebra/factories/GeneralDBBooleanExprFactory.java

    r741 r750  
    4949import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.AfterPeriodFunc; 
    5050import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.BeforePeriodFunc; 
     51import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.EqualsPeriodFunc; 
     52import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.NequalsPeriodFunc; 
     53import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.OverleftPeriodFunc; 
     54import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.OverrightPeriodFunc; 
    5155import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.PeriodContainedByFunc; 
    5256import org.openrdf.query.algebra.evaluation.function.temporal.stsparql.relation.PeriodContainsFunc; 
     
    944948                        return beforePeriod(leftArg, rightArg); 
    945949                } 
     950                else if(function instanceof OverleftPeriodFunc) 
     951                { 
     952                        return overleftPeriod(leftArg, rightArg); 
     953                } 
     954                else if(function instanceof OverrightPeriodFunc) 
     955                { 
     956                        return overrightPeriod(leftArg, rightArg); 
     957                } 
     958                else if(function instanceof EqualsPeriodFunc) 
     959                { 
     960                        return equalsPeriod(leftArg, rightArg); 
     961                } 
     962                else if(function instanceof NequalsPeriodFunc) 
     963                { 
     964                        return nequalsPeriod(leftArg, rightArg); 
     965                } 
    946966                else if(function instanceof PeriodContainsFunc) 
    947967                { 
  • generaldb/src/main/java/org/openrdf/sail/generaldb/algebra/temporal/GeneralDBSqlOverleftPeriod.java

    r697 r750  
    2828        public String getOperator() { 
    2929                 
    30                 return "&&"; 
     30                return "&<"; 
    3131        } 
    3232 
  • generaldb/src/main/java/org/openrdf/sail/generaldb/evaluation/GeneralDBQueryBuilder.java

    r741 r750  
    116116import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlAfterPeriod; 
    117117import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlBeforePeriod; 
     118import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlEqualsPeriod; 
     119import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlNequalsPeriod; 
     120import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlOverleftPeriod; 
     121import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlOverrightPeriod; 
    118122import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlPeriodContainedBy; 
    119123import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlPeriodContains; 
     
    604608                        append((GeneralDBSqlBeforePeriod)expr, filter); 
    605609                } 
     610                else if(expr instanceof GeneralDBSqlOverleftPeriod){ 
     611                        append((GeneralDBSqlOverleftPeriod)expr, filter); 
     612                } 
     613                else if(expr instanceof GeneralDBSqlOverrightPeriod){ 
     614                        append((GeneralDBSqlOverrightPeriod)expr, filter); 
     615                } 
     616                else if(expr instanceof GeneralDBSqlEqualsPeriod){ 
     617                        append((GeneralDBSqlEqualsPeriod)expr, filter); 
     618                } 
     619                else if(expr instanceof GeneralDBSqlNequalsPeriod){ 
     620                        append((GeneralDBSqlNequalsPeriod)expr, filter); 
     621                } 
    606622                else if(expr instanceof GeneralDBSqlPeriodContainedBy){ 
    607623                        append((GeneralDBSqlPeriodContainedBy)expr, filter); 
     
    13051321                throws UnsupportedRdbmsOperatorException; 
    13061322 
     1323protected abstract void append(GeneralDBSqlOverleftPeriod expr, 
     1324                GeneralDBSqlExprBuilder filter) 
     1325                throws UnsupportedRdbmsOperatorException; 
     1326 
     1327protected abstract void append(GeneralDBSqlOverrightPeriod expr, 
     1328                GeneralDBSqlExprBuilder filter) 
     1329                throws UnsupportedRdbmsOperatorException; 
     1330 
     1331protected abstract void append(GeneralDBSqlEqualsPeriod expr, 
     1332                GeneralDBSqlExprBuilder filter) 
     1333                throws UnsupportedRdbmsOperatorException; 
     1334 
     1335protected abstract void append(GeneralDBSqlNequalsPeriod expr, 
     1336                GeneralDBSqlExprBuilder filter) 
     1337                throws UnsupportedRdbmsOperatorException; 
    13071338protected abstract void append(GeneralDBSqlBeforePeriod expr, 
    13081339                GeneralDBSqlExprBuilder filter) 
  • monetdb/src/main/java/org/openrdf/sail/monetdb/evaluation/MonetDBQueryBuilder.java

    r741 r750  
    9898import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlAfterPeriod; 
    9999import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlBeforePeriod; 
     100import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlEqualsPeriod; 
     101import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlNequalsPeriod; 
     102import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlOverleftPeriod; 
     103import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlOverrightPeriod; 
    100104import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlPeriodContainedBy; 
    101105import org.openrdf.sail.generaldb.algebra.temporal.GeneralDBSqlPeriodContains; 
     
    21652169        } 
    21662170 
     2171        @Override 
     2172        protected void append(GeneralDBSqlOverleftPeriod expr, 
     2173                        GeneralDBSqlExprBuilder filter) 
     2174                        throws UnsupportedRdbmsOperatorException { 
     2175                // TODO Auto-generated method stub 
     2176                 
     2177        } 
     2178 
     2179        @Override 
     2180        protected void append(GeneralDBSqlOverrightPeriod expr, 
     2181                        GeneralDBSqlExprBuilder filter) 
     2182                        throws UnsupportedRdbmsOperatorException { 
     2183                // TODO Auto-generated method stub 
     2184                 
     2185        } 
     2186 
     2187        @Override 
     2188        protected void append(GeneralDBSqlEqualsPeriod expr, 
     2189                        GeneralDBSqlExprBuilder filter) 
     2190                        throws UnsupportedRdbmsOperatorException { 
     2191                // TODO Auto-generated method stub 
     2192                 
     2193        } 
     2194 
     2195        @Override 
     2196        protected void append(GeneralDBSqlNequalsPeriod expr, 
     2197                        GeneralDBSqlExprBuilder filter) 
     2198                        throws UnsupportedRdbmsOperatorException { 
     2199                // TODO Auto-generated method stub 
     2200                 
     2201        } 
     2202 
    21672203} 
  • postgis/src/main/java/org/openrdf/sail/postgis/evaluation/PostGISQueryBuilder.java

    r748 r750  
    66package org.openrdf.sail.postgis.evaluation; 
    77 
     8import java.text.ParseException; 
     9import java.text.SimpleDateFormat; 
    810import java.util.ArrayList; 
    911import java.util.Calendar; 
     
    978980                           TimeZone UTC = TimeZone.getTimeZone("UTC"); 
    979981                            final Calendar c = new GregorianCalendar(UTC); 
     982                            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
     983                            
    980984                            c.set(1, 0, 1, 0, 0, 0); 
    981985                            c.set(Calendar.MILLISECOND, 0); 
     
    983987                            c.setTime(new Date(Long.MAX_VALUE)); 
    984988                            Date end = c.getTime(); 
    985                         filter.append("period_in(textout("+ end +"))"); 
     989                            try { 
     990                                        format.parse(end.toString()); 
     991                                } catch (ParseException e) { 
     992                                        // TODO Auto-generated catch block 
     993                                        e.printStackTrace(); 
     994                                } 
     995                        filter.append("period("+ end +")"); 
    986996                } 
    987997                else 
     
    10321042        @Override 
    10331043        protected void append(GeneralDBSqlBeforePeriod expr, 
     1044                        GeneralDBSqlExprBuilder filter) 
     1045                        throws UnsupportedRdbmsOperatorException { 
     1046                appendGeneralDBTemporalFunctionBinary(expr, filter, expr.getOperator()); 
     1047                 
     1048        } 
     1049        @Override 
     1050        protected void append(GeneralDBSqlOverrightPeriod expr, 
     1051                        GeneralDBSqlExprBuilder filter) 
     1052                        throws UnsupportedRdbmsOperatorException { 
     1053                appendGeneralDBTemporalFunctionBinary(expr, filter, expr.getOperator()); 
     1054                 
     1055        } 
     1056        @Override 
     1057        protected void append(GeneralDBSqlOverleftPeriod expr, 
     1058                        GeneralDBSqlExprBuilder filter) 
     1059                        throws UnsupportedRdbmsOperatorException { 
     1060                appendGeneralDBTemporalFunctionBinary(expr, filter, expr.getOperator()); 
     1061                 
     1062        } 
     1063        @Override 
     1064        protected void append(GeneralDBSqlEqualsPeriod expr, 
     1065                        GeneralDBSqlExprBuilder filter) 
     1066                        throws UnsupportedRdbmsOperatorException { 
     1067                appendGeneralDBTemporalFunctionBinary(expr, filter, expr.getOperator()); 
     1068                 
     1069        } 
     1070        @Override 
     1071        protected void append(GeneralDBSqlNequalsPeriod expr, 
    10341072                        GeneralDBSqlExprBuilder filter) 
    10351073                        throws UnsupportedRdbmsOperatorException { 
     
    14831521                         
    14841522                        if(func.equals("=")|| func.equals("!=")|| func.equals("-")|| func.equals("+")|| func.equals("~")||  
    1485                                         func.equals("@")|| func.equals("<<")|| func.equals(">>")|| func.equals("&>")|| func.equals("&>")|| func.equals("&&")) 
     1523                                        func.equals("@")|| func.equals("<<")|| func.equals(">>")|| func.equals("&<")|| func.equals("&>")|| func.equals("&&")) 
    14861524                        { 
    14871525                                filter.append(" "); 
Note: See TracChangeset for help on using the changeset viewer.