2013-06-05 3 views
0

내가 감독하거나 행동 한 모든 수상 경력있는 영화를 얻으려면 freebase를 쿼리하려고합니다. 내가 스티븐 스필버그 (수상 경력이있는 영화에서 감독과 연기를 모두 지휘 한 사람)와 함께이 스크립트를 실행하면,Freebase combined query 빈 결과 집합

[{ 
    "/type/object/mid": "/m/06pj8", 
    "/film/director/film": [{ 
    "type": "/award/award_winning_work", 
    "name": null 
    }], 
    "/film/actor/film": [{ 
    "film": [{ 
     "type": "/award/award_winning_work", 
     "name": null 
    }] 
    }] 
}] 

을하지만 맷 데이먼 (수상 경력에 빛나는 영화를 연출하지만, 그 영화에서 역할을하지 않은) (/ m/0169dl)와 같은 쿼리는 아무 것도 반환하지 않습니다 : 그것을 잘 작동합니다. 이 사건에서 맷 데이먼이 연기 한 모든 영화를 반환 할 것으로 기대합니다.

감사

답변

2

당신은 후 처리의 약간없이 단일 쿼리에서이 작업을 수행 할 수는 없지만

[{ 
    "/type/object/mid": "/m/06pj8", 
    "/film/director/film": [{ 
    "type": "/award/award_winning_work", 
    "name": null, 
    "optional": true 
    }], 
    "/film/actor/film": [{ 
    "film": [{ 
     "type": "/award/award_winning_work", 
     "name": null, 
     "optional": true 
    }] 
    }] 
}] 
+0

화려한 닫 하위 쿼리에 optional:true를 추가하는 얻을 것이다! 정확히 내가 무엇을 찾고 있었는지. 기본적으로 아무것도 반환하지 않는 이유를 아는 지 궁금합니다. 그것은 예상 된 행동입니까? – jamborta

+1

기본값은 optional : false이고 모든 필터는 AND로 처리되므로 수상 작품을 통해 두 하위 쿼리와 일치하지 않는 항목은 기준을 충족하지 못합니다. –