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

Add more data types for object values.


diffs (67 lines):

diff --git a/monetdb5/extras/rdf/rdf.h b/monetdb5/extras/rdf/rdf.h
--- a/monetdb5/extras/rdf/rdf.h
+++ b/monetdb5/extras/rdf/rdf.h
@@ -63,7 +63,8 @@ RDFpartialjoin (bat *res, bat *lmap, bat
 typedef enum {
        URI,            
        DATETIME, 
-       NUMERIC, 
+       INTEGER,
+       FLOAT,  
        STRING,
        BLANKNODE,
        MULTIVALUES             // For the multi-value property 
diff --git a/monetdb5/extras/rdf/rdf_shredder.c 
b/monetdb5/extras/rdf/rdf_shredder.c
--- a/monetdb5/extras/rdf/rdf_shredder.c
+++ b/monetdb5/extras/rdf/rdf_shredder.c
@@ -131,7 +131,7 @@ rdf_BUNappend(parserData* pdata, BAT *b,
 
 static void
 rdf_BUNappend_BlankNode_Obj(parserData* pdata, BAT *b, BUN* bun){
-       *bun |= (BUN)4 << (sizeof(BUN)*8 - 4);          //Blank node    
+       *bun |= (BUN)BLANKNODE << (sizeof(BUN)*8 - 4);          //Blank node    
        b = BUNappend(b, bun, TRUE);
        if (b == NULL) {
                pdata->exception++;
@@ -156,15 +156,7 @@ rdf_BUNappend_unq_ForObj(parserData* pda
                *bun = (BUN) (RDF_MIN_LITERAL + (b)->batCount);
        
                /* Add the type here by changing 2 bits at position 62, 63 of 
oid */
-               if ( objType == DATETIME){ 
-                       *bun |= (BUN)1 << (sizeof(BUN)*8 - 4);
-               }
-               else if ( objType == NUMERIC){
-                       *bun |= (BUN)2 << (sizeof(BUN)*8 - 4);
-               }
-               else { /*  objType == STRING */
-                       *bun |= (BUN)3 << (sizeof(BUN)*8 - 4);
-               }
+               *bun |= (BUN)objType << (sizeof(BUN)*8 - 4);
 
                //b = BUNappend(b, (ptr) (str)objStr, TRUE);
                b = BUNins(b, (ptr) bun, (ptr) (str)objStr, TRUE); 
@@ -193,16 +185,17 @@ rdf_BUNappend_unq_ForObj(parserData* pda
 static ObjectType 
 getObjectType(unsigned char* objStr){
        ObjectType obType; 
-       if (strstr((const char*) objStr, "XMLSchema#date") != NULL){
+       if (strstr((const char*) objStr, "XMLSchema#date") != NULL || 
strstr((const char*) objStr, "XMLSchema#dateTime")){
                obType = DATETIME;
                //printf("%s: DateTime \n", objStr); 
        }
-       else if (strstr((const char*) objStr, "XMLSchema#float") != NULL
-               || strstr((const char*) objStr, "XMLSchema#integer") != NULL
-               )
-       {
-               obType = NUMERIC;
-               //printf("%s: Numeric \n", objStr); 
+       else if (strstr((const char*) objStr, "XMLSchema#int") != NULL || 
strstr((const char*) objStr, "XMLSchema#integer") != NULL){
+               obType = INTEGER;
+       }
+       else if (strstr((const char*) objStr, "XMLSchema#float") != NULL 
+                       || strstr((const char*) objStr, "XMLSchema#double") != 
NULL  
+                       || strstr((const char*) objStr, "XMLSchema#decimal") != 
NULL){
+               obType = FLOAT;
        }
        else {
                obType = STRING;
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to