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