2009-03-24 14 views
7

J'essaie d'écrire une requête MQL qui filtre les valeurs nulles.Filtre MQL Freebase où valeur! = Null?

La requête que j'ai maintenant (peut être exécuté en utilisant le MQL Query Editor):

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

Les résultats que je reçois:

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

J'essaie de comprendre comment je peux filtrer le "content": null correspond dans le tableau "article" au moment de la requête. J'ai regardé la documentation de MQL mais je n'ai pas vu de façon claire de le faire.

Répondre

10

Pour filtrer les articles auxquels aucun contenu n'est assigné, vous devez développer l'attribut id de contenu et définir la directive optionnelle sur false.

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

Cela vous donnera le résultat suivant:

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

Pour plus d'informations sur l'utilisation de la directive facultative consultez la documentation here.

+2

Qui êtes-vous et comment en savoir plus sur MQL? ;) –

+0

Haha, je suis juste un membre de la communauté Freebase qui a piraté MQL pendant un an ou deux. Je suis heureux de pouvoir aider les gens à apprendre les ficelles du métier et j'espère que plus de développeurs développeront des applications en utilisant les données Freebase. –

+0

lorsque je passe l'indicateur facultatif à false, il me dit: "Requête trop difficile." – fandang