/*
 * Description    : Tests that the SimilarityCheckRule rewrites the similarity-jaccard function with a threshold 
 *                  into similarity-jaccard-check-check if possible.
 *                  Replacement should happen because of a reverse ">" condition on the similarity.
 * Success        : Yes
 */

drop dataverse test if exists;
create dataverse test;
use dataverse test;

create type DBLPType as closed {
  id: int32, 
  dblpid: string,
  title: string,
  authors: string,
  misc: string
}

create dataset DBLP(DBLPType) partitioned by key id;

load dataset DBLP 
using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;

write output to nc1:"rttest/similarity_jaccard-to-jaccard-check_03.adm";

for $paper in dataset('DBLP')
where 0.8f < similarity-jaccard(word-tokens($paper.title), word-tokens("Transactions for Cooperative Environments"))
return $paper