Changeset: 92107361d538 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=92107361d538
Modified Files:
        monetdb5/extras/rdf/rdfschema.c
        monetdb5/extras/rdf/rdfschema.h
Branch: rdf
Log Message:

Modify S1: Only merge CS's whose names are URI


diffs (54 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
@@ -3972,7 +3972,7 @@ void doMerge(CSset *freqCSset, int ruleN
 
 #if USE_LABEL_FOR_MERGING
 static
-str mergeMaxFreqCSByS1(CSset *freqCSset, CSlabel** labels, oid *mergecsId, 
oid** ontmetadata, int ontmetadataCount,bat *mapbatid){
+str mergeFreqCSByS1(CSset *freqCSset, CSlabel** labels, oid *mergecsId, oid** 
ontmetadata, int ontmetadataCount,bat *mapbatid){
        int             i, j; 
        CS              *cs1, *cs2;
 
@@ -3989,6 +3989,10 @@ str mergeMaxFreqCSByS1(CSset *freqCSset,
        LabelStat       *labelStat = NULL; 
        oid             *name;
 
+       #if ONLY_MERGE_ONTOLOGYBASEDNAME_CS_S1
+       ObjectType      objType;        
+       #endif
+
        #if OUTPUT_FREQID_PER_LABEL
        FILE            *fout;
        char*           schema = "rdf";
@@ -4030,6 +4034,10 @@ str mergeMaxFreqCSByS1(CSset *freqCSset,
        #endif
        for (i = 0; i < labelStat->numLabeladded; i++){
                name = (oid*) Tloc(labelStat->labelBat, i);
+               #if ONLY_MERGE_ONTOLOGYBASEDNAME_CS_S1
+               objType = getObjType(*name); 
+               if (objType != URI) continue; 
+               #endif
                if (labelStat->lstCount[i] > 1){
                        /*TODO: Multi-way merge */
                        #if USE_MULTIWAY_MERGING        
@@ -9180,7 +9188,7 @@ RDFextractCSwithTypes(int *ret, bat *sba
        /* ---------- S1 ------- */
        mergecsId = *maxCSoid + 1; 
 
-       mergeMaxFreqCSByS1(freqCSset, labels, &mergecsId, ontmetadata, 
ontmetadataCount, mapbatid); /*S1: Merge all freqCS's sharing top-3 candidates 
*/
+       mergeFreqCSByS1(freqCSset, labels, &mergecsId, ontmetadata, 
ontmetadataCount, mapbatid); /*S1: Merge all freqCS's sharing top-3 candidates 
*/
        
        curNumMergeCS = countNumberMergeCS(freqCSset);
 
diff --git a/monetdb5/extras/rdf/rdfschema.h b/monetdb5/extras/rdf/rdfschema.h
--- a/monetdb5/extras/rdf/rdfschema.h
+++ b/monetdb5/extras/rdf/rdfschema.h
@@ -144,6 +144,7 @@ typedef struct PropStat {
 
 #define NOT_MERGE_DIMENSIONCS  1               /* Default: 1, 0: Is for 
example data */
 #define NOT_MERGE_DIMENSIONCS_IN_S1 0          /* Whether we should merge 
dimension CSs in S1 */
+#define        ONLY_MERGE_ONTOLOGYBASEDNAME_CS_S1 1    /* Only merge CS's 
whose name comes from an ontology class*/
 
 #define FILTER_INFREQ_FK_FOR_IR        1               /* We filter out all 
the dirty references from a CS */
 #define FILTER_THRESHOLD_FK_FOR_IR     0.1     /* The FK that their frequency 
< FILTER_THRESHOLD_FK_FOR_IR * FreqCS's frequency */     
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to