Changeset: 3c92e7446464 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3c92e7446464
Modified Files:
monetdb5/extras/rdf/rdfschema.c
Branch: rdf
Log Message:
Correct the computation of the coverage after removing infrequent props
diffs (64 lines):
diff --git a/monetdb5/extras/rdf/rdfschema.c b/monetdb5/extras/rdf/rdfschema.c
--- a/monetdb5/extras/rdf/rdfschema.c
+++ b/monetdb5/extras/rdf/rdfschema.c
@@ -654,6 +654,13 @@ char isMultiValueCol(PropTypes pt){
else return 0;
}
+static
+char isInfrequentProp(PropTypes pt, CS cs){
+ if (pt.propFreq < cs.support * INFREQ_PROP_THRESHOLD) return 1;
+ else return 0;
+
+}
+
static
void genCSPropTypesColIdx(CSPropTypes* csPropTypes, int numMergedCS, CSset*
freqCSset){
int i, j, k;
@@ -673,7 +680,7 @@ void genCSPropTypesColIdx(CSPropTypes* c
for(j = 0; j < csPropTypes[i].numProp; j++){
#if REMOVE_INFREQ_PROP
freqId = csPropTypes[i].freqCSId;
- if (csPropTypes[i].lstPropTypes[j].propFreq <
freqCSset->items[freqId].support * INFREQ_PROP_THRESHOLD){
+ if (isInfrequentProp(csPropTypes[i].lstPropTypes[j],
freqCSset->items[freqId])){
for (k = 0; k < (MULTIVALUES+1); k++){
csPropTypes[i].lstPropTypes[j].TableTypes[k] = PSOTBL;
csPropTypes[i].lstPropTypes[j].colIdxes[k] = -1;
@@ -3888,7 +3895,7 @@ static void getStatisticCSsBySupports(BA
//free(csPropNum);
}
-static void getStatisticFinalCSs(CSset *freqCSset, BAT *sbat, int
freqThreshold, int curNumMergeCS, oid* mergeCSFreqCSMap){
+static void getStatisticFinalCSs(CSset *freqCSset, BAT *sbat, int
freqThreshold, int curNumMergeCS, oid* mergeCSFreqCSMap, CSPropTypes*
csPropTypes){
//int *csPropNum;
//int *csFreq;
@@ -3944,8 +3951,8 @@ static void getStatisticFinalCSs(CSset *
tmpNumProp = freqCSset->items[freqId].numProp;
for (j = 0; j < freqCSset->items[freqId].numProp; j++){
//Check infrequent Prop
- if (freqCSset->items[freqId].lstPropSupport[j]
< freqCSset->items[freqId].support * INFREQ_PROP_THRESHOLD){
- totalCoverage = totalCoverage -
freqCSset->items[freqId].lstPropSupport[j];
+ if
(isInfrequentProp(csPropTypes[i].lstPropTypes[j], freqCSset->items[freqId])){
+ totalCoverage = totalCoverage -
csPropTypes[i].lstPropTypes[j].propCover;
tmpNumProp--;
}
}
@@ -6302,7 +6309,7 @@ str RDFdistTriplesToCSs(int *ret, bat *s
int lastColIdx = -1;
int lastPropIdx = -1;
char isSetLasttblIdx = 0;
- char objType, defaultType;
+ ObjectType objType, defaultType;
char tmpTableType = 0;
int i,j, k;
@@ -6752,7 +6759,7 @@ RDFreorganize(int *ret, CStableStat *cst
curNumMergeCS = countNumberMergeCS(freqCSset);
mergeCSFreqCSMap = (oid*) malloc(sizeof(oid) * curNumMergeCS);
initMergeCSFreqCSMap(freqCSset, mergeCSFreqCSMap);
- getStatisticFinalCSs(freqCSset, sbat, *freqThreshold, curNumMergeCS,
mergeCSFreqCSMap);
+ getStatisticFinalCSs(freqCSset, sbat, *freqThreshold, curNumMergeCS,
mergeCSFreqCSMap, csPropTypes);
free(mergeCSFreqCSMap);
/* Extract sample data for the evaluation */
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list