2009-03-24 10 views
7

estoy tratando de escribir una consulta MQL que filtra los valores nulos.Filtro Freebase MQL donde value! = Null?

La consulta He ahora (se puede ejecutar mediante el MQL Query Editor):

[ 
    { 
    "/common/topic/image" : [ 
     { 
     "id" : null 
     } 
    ], 
    "article" : [ 
     { 
     "content" : null 
     } 
    ], 
    "name" : "bill gates", 
    "type" : "/common/topic" 
    } 
] 

Los resultados que estoy consiguiendo:

[ 
    { 
    "/common/topic/image" : [ 
     { 
     "id" : "/guid/9202a8c04000641f8000000004fb4c01" 
     }, 
     { 
     "id" : "/wikipedia/images/commons_id/4486276" 
     } 
    ], 
    "article" : [ 
     { 
     "content" : null 
     }, 
     { 
     "content" : "/guid/9202a8c04000641f800000000903535d" 
     } 
    ], 
    "name" : "Bill Gates", 
    "type" : "/common/topic" 
    } 
] 

que estoy tratando de averiguar cómo puedo filtrar el "contenido": coincidencia nula en la matriz "artículo" en el momento de la consulta. Revisé la documentación de MQL pero no vi una manera clara de hacerlo.

Respuesta

10

para filtrar los artículos que no tienen ningún contenido asignado a ellos tendrá que ampliar el atributo de identificación de contenido y establecer la directiva opcional en false.

[ 
    { 
    "/common/topic/image" : [ 
     { 
     "id" : null 
     } 
    ], 
    "article" : [ 
     { 
     "content" : { 
      "id" : null, 
      "optional" : false 
     } 
     } 
    ], 
    "name" : "bill gates", 
    "type" : "/common/topic" 
    } 
] 

Esto le dará el siguiente resultado:

[ 
    { 
    "/common/topic/image" : [ 
     { 
     "id" : "/guid/9202a8c04000641f8000000004fb4c01" 
     }, 
     { 
     "id" : "/wikipedia/images/commons_id/4486276" 
     } 
    ], 
    "article" : [ 
     { 
     "content" : { 
      "id" : "/guid/9202a8c04000641f800000000903535d" 
     } 
     } 
    ], 
    "name" : "Bill Gates", 
    "type" : "/common/topic" 
    } 
] 

Para obtener más información acerca del uso de la directiva opcional ver la documentación here.

+2

¿Quién eres y cómo sabes tanto sobre MQL? ;) –

+0

Jaja, yo soy sólo un miembro de la comunidad de base libre que ha sido la piratería en torno a MQL de un año o así. Me complace poder ayudar a las personas a aprender las cuerdas y, con suerte, conseguir que más desarrolladores creen aplicaciones utilizando los datos de Freebase. –

+0

cuando cambio la bandera opcional en false, que me dice: "La consulta es demasiado difícil." – fandang