2009-03-24 3 views
7

Ich versuche, eine MQL-Abfrage zu schreiben, die Nullwerte ausfiltert.Freebase MQL-Filter wo Wert! = Null?

Die Abfrage, die ich jetzt habe (kann mit dem MQL Query Editor ausgeführt werden):

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

Die Ergebnisse erhalte ich:

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

, um herauszufinden, ich versuche, wie ich herausfiltern der "Inhalt": Null-Übereinstimmung im Array "article" zur Abfragezeit. Ich habe die MMS-Dokumentation durchgesehen, aber ich habe keinen klaren Weg gesehen, dies zu tun.

Antwort

10

Um Artikel herauszufiltern, denen kein Inhalt zugewiesen wurde, müssen Sie das Inhalts-ID-Attribut erweitern und die optionale Anweisung auf false setzen.

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

Dies wird Ihnen folgendes Ergebnis geben:

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

Weitere Informationen über die optionale Direktive here in der Dokumentation verwendet wird.

+2

Wer sind Sie und wie wissen Sie so viel über MQL? ;) –

+0

Haha, ich bin nur ein Mitglied der Freebase Community, die seit etwa einem Jahr in MQL herumhackt. Ich freue mich, dass ich den Leuten helfen kann, die Fäden zu ziehen und hoffentlich mehr Entwickler dazu bringen, Anwendungen mit den Freebase-Daten zu erstellen. –

+0

Wenn ich das optionale Flag auf false umschalte, sagt es mir: "Abfrage zu schwierig." – fandang