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

Remove redundant code in finding ontologies (for creating labels).


diffs (177 lines):

diff --git a/monetdb5/extras/rdf/rdflabels.c b/monetdb5/extras/rdf/rdflabels.c
--- a/monetdb5/extras/rdf/rdflabels.c
+++ b/monetdb5/extras/rdf/rdflabels.c
@@ -616,16 +616,13 @@ TypeStat* getTypeStats(int* typeStatCoun
 #if USE_ONTOLOGY_NAMES
 /* Group the attributes by the ontologies they belong to. */
 static
-str** findOntologies(CS cs, int *propOntologiesCount, oid*** 
propOntologiesOids) {
+str findOntologies(CS cs, int *propOntologiesCount, oid*** propOntologiesOids) 
{
        int             i, j, k;
-       str             **propOntologies = NULL;
 
-       propOntologies = (str **) malloc(sizeof(str *) * ontologyCount);
        (*propOntologiesOids) = (oid **) malloc(sizeof(str *) * ontologyCount);
-       if (!propOntologies || !(*propOntologiesOids)) fprintf(stderr, "ERROR: 
Couldn't malloc memory!\n");
+       if (!(*propOntologiesOids)) fprintf(stderr, "ERROR: Couldn't malloc 
memory!\n");
 
        for (i = 0; i < ontologyCount; ++i) {
-               propOntologies[i] = NULL;
                (*propOntologiesOids)[i] = NULL;
        }
 
@@ -636,6 +633,7 @@ str** findOntologies(CS cs, int *propOnt
                        char            **tokenizedUri = NULL;
                        char            *token;                 // token, 
modified during tokenization
                        char            *uri;                   // uri, 
modified during tokenization
+
                        str             tmpStr;
 
                        takeOid(cs.lstProp[j], &tmpStr);
@@ -665,10 +663,9 @@ str** findOntologies(CS cs, int *propOnt
                                }
                                if (fit) {
                                        // found matching ontology, store 
property
-                                       propOntologies[i] = 
realloc(propOntologies[i], sizeof(str) * (propOntologiesCount[i] + 1));
                                        (*propOntologiesOids)[i] = 
realloc((*propOntologiesOids)[i], sizeof(str) * (propOntologiesCount[i] + 1));
-                                       if (!propOntologies[i] || 
!(*propOntologiesOids)[i]) fprintf(stderr, "ERROR: Couldn't realloc memory!\n");
-                                       
propOntologies[i][propOntologiesCount[i]] = tmpStr;
+                                       if (!(*propOntologiesOids)[i]) 
fprintf(stderr, "ERROR: Couldn't realloc memory!\n");
+
                                        
(*propOntologiesOids)[i][propOntologiesCount[i]] = cs.lstProp[j];
                                        propOntologiesCount[i] += 1;
                                }
@@ -681,7 +678,8 @@ str** findOntologies(CS cs, int *propOnt
                        GDKfree(tmpStr);
                }
        }
-       return propOntologies;
+
+       return MAL_SUCCEED; 
 }
 #endif
 
@@ -1037,7 +1035,6 @@ void createOntologyLookupResult(oid** re
 
        for (i = 0; i < freqCSset->numCSadded; ++i) {
                CS              cs;
-               str             **propOntologies = NULL;
                oid             **propOntologiesOids = NULL;
                int             *propOntologiesCount = NULL;
 
@@ -1052,7 +1049,7 @@ void createOntologyLookupResult(oid** re
                
                //printf("Get ontology for FreqId %d. Orignal numProp = %d \n", 
i, cs.numProp);
 
-               propOntologies = findOntologies(cs, propOntologiesCount, 
&propOntologiesOids);
+               findOntologies(cs, propOntologiesCount, &propOntologiesOids);
 
                /*      
                if (i == 161){
@@ -1081,10 +1078,8 @@ void createOntologyLookupResult(oid** re
                */
 
                for (j = 0; j < ontologyCount; ++j) {
-                       free(propOntologies[j]);
                        free(propOntologiesOids[j]);
                }
-               free(propOntologies);
                free(propOntologiesOids);
                free(propOntologiesCount);
        }
@@ -2083,10 +2078,14 @@ CSlabel* createLabels(CSset* freqCSset, 
 
        IncidentFKs             *links;
        CSlabel                 *labels;
+        clock_t                curT;
+        clock_t                tmpLastT;
+
 
        str             schema = "rdf";
        int             ret;
 
+       tmpLastT = clock();
        TKNZRopen (NULL, &schema);
 
        // Type
@@ -2104,6 +2103,10 @@ CSlabel* createLabels(CSset* freqCSset, 
        (void) csIdFreqIdxMap;
 #endif
 
+       curT = clock(); 
+       printf (" Labeling: Collecting type attributes histogram took %f 
seconds.\n", ((float)(curT - tmpLastT))/CLOCKS_PER_SEC);
+       tmpLastT = curT;                
+
        // Relation (FK)
        relationMetadataCount = initRelationMetadataCount(freqCSset);
        relationMetadata = initRelationMetadata(relationMetadataCount, 
csrelSet, num, freqCSset);
@@ -2112,6 +2115,10 @@ CSlabel* createLabels(CSset* freqCSset, 
        createLinks(freqCSset, relationMetadata, relationMetadataCount, links);
 #endif
 
+       curT = clock(); 
+       printf (" Labeling: Collecting relationship metatdata count took %f 
seconds.\n", ((float)(curT - tmpLastT))/CLOCKS_PER_SEC);
+       tmpLastT = curT;                
+
        // Ontologies
        ontologyLookupResultCount = 
initOntologyLookupResultCount(freqCSset->numCSadded);
        ontologyLookupResult = initOntologyLookupResult(freqCSset->numCSadded);
@@ -2126,10 +2133,19 @@ CSlabel* createLabels(CSset* freqCSset, 
        (void) ontattributes;
 #endif
 
+       curT = clock(); 
+       printf (" Labeling: Collecting ontology lookup results took %f 
seconds.\n", ((float)(curT - tmpLastT))/CLOCKS_PER_SEC);
+       tmpLastT = curT;                
+
        // Assigning Names
        labels = initLabels(freqCSset);
 #if USE_TABLE_NAME
        getAllLabels(labels, freqCSset, typeAttributesCount, 
typeAttributesHistogram, typeAttributesHistogramCount, typeStat, typeStatCount, 
ontologyLookupResult, ontologyLookupResutMatchedProp, 
ontologyLookupResultCount, links, ontmetadata, ontmetadataCount, ontmetaBat, 
ontclassSet);
+
+       curT = clock(); 
+       printf (" Labeling: Get all labels took %f seconds.\n", ((float)(curT - 
tmpLastT))/CLOCKS_PER_SEC);
+       tmpLastT = curT;                
+
        if (typeStatCount > 0) free(typeStat);
 #endif
 
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
@@ -9361,6 +9361,10 @@ RDFextractCSwithTypes(int *ret, bat *sba
        printNumTypePerProp(csPropTypes, freqCSset->numCSadded, freqCSset);
 
        freeCSPropTypes(csPropTypes, freqCSset->numCSadded);
+       
+       curT = clock(); 
+       printf (" Took  %f seconds.\n", ((float)(curT - 
tmpLastT))/CLOCKS_PER_SEC);
+       tmpLastT = curT;                
        }
        #endif
 
@@ -9461,10 +9465,10 @@ RDFextractCSwithTypes(int *ret, bat *sba
 #endif
        
        /* ---------- S3 ------- */
+       if (0){
        mergeCSFreqCSMap = (oid*) malloc(sizeof(oid) * curNumMergeCS);
        initMergeCSFreqCSMap(freqCSset, mergeCSFreqCSMap);
 
-       if (0){
        /*S3: Merge two CS's having the subset-superset relationship */
        mergeCSbyS3(freqCSset, labels, mergeCSFreqCSMap,curNumMergeCS, 
ontmetadata, ontmetadataCount, ontoUsageTree); 
 
@@ -9478,9 +9482,10 @@ RDFextractCSwithTypes(int *ret, bat *sba
        #endif
        
        tmpLastT = curT;                
-       }
+       free(mergeCSFreqCSMap);
+       }
+
        /* ---------- S5 ------- */
-       free(mergeCSFreqCSMap);
        mergeCSFreqCSMap = (oid*) malloc(sizeof(oid) * curNumMergeCS);
        initMergeCSFreqCSMap(freqCSset, mergeCSFreqCSMap);
        
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to