2011-08-18 1 views
3

지리적 경계 상자에서 모든 이벤트를 얻으려고합니다. (프랑스를 다루고 있습니다) 모든 반복 이벤트를 제외 시키므로 프렌치 테니스가 열리고 같은. 이를 위해 내 쿼리에서 다음을 사용했습니다. 그들은 instance_of_recurring_event 속성이 설정되지 않기 때문에any_reverse 리플렉션에서 MQL 결과 제거

"/time/event/instance_of_recurring_event": { 
    "id": null, 
    "optional": "forbidden" 
} 

그러나, 나는 언급 한 칸 영화제는 (각 연도의 개별 이벤트)를 나타납니다. 그러나 칸느 영화제 정기 일정에는 2006 년, 2007 년, 2008 년 (기타) 영화제 행사에 대한 링크가 있다는 것을 알 수 있으므로 일부 반성을 통해이를 제거 할 수있을 것으로 생각했습니다. 이 날은 2008 년 칸 영화제는 칸 영화제 대상 (즉 연간 재발을 가지고)에 의해 연결되어 있음을 볼 수 있습니다

[{ 
    "name": null, 
    "id": null, 
    "/time/event/instance_of_recurring_event": { 
    "id":  null, 
    "optional": "forbidden" 
    }, 
    "/time/event/locations": [{ 
    "geolocation": { 
     "latitude>": 43.2, 
     "latitude<": 49.68, 
     "longitude>": -5.1, 
     "longitude<": 7.27 
    } 
    }], 
    "/type/reflect/any_reverse": [{ 
    "id":   null, 
    "estimate-count": null, 
    "name":   null, 
    "/time/recurring_event/current_frequency": null 
    }] 
}]​ 

하지만, 만약 거기에 몰라 : 내가 지금까지 가지고 것은 2008 칸 영화제를 제 목록에서 삭제할 수있는 방법은 없습니다. 말이 돼?

쿼리 편집기의 경우 here을 시도하십시오.

도움 주셔서 감사합니다.

답변

1

이 시도 : http://tinyurl.com/3okuuzw

변화의 몇 :

  1. 나는 유형을 추가 :/시간/이벤트 있도록 '유형의 얻을 객체를하겠다. 당신의 쿼리에서 당신은 타입에 제한을 두지 않고, Freebase에서는 타입없이 객체에 속성을 선언 할 수 있습니다. 이것은 사소한 변화이며 큰 효과가 없을 것입니다.

  2. 칸느 축제가 하나 인/film/film_festival_event 유형에는 축제 시리즈를 가리키는/film/film_festival_event/festival 속성이 있습니다.

반복되는 이벤트라고 가정하여 해당 속성이 설정된 개체를 제외시키기 위해 쿼리 끝에 절을 추가했습니다.

이것은 영화제에서만 작동하지만 다른 속성에도 동일한 패턴을 재사용 할 수 있습니다.

[{ 
    "name": null, 
    "mid": null, 
    "type" :"/time/event", 
    "/time/event/instance_of_recurring_event": { 
    "id":  null, 
    "optional": "forbidden" 
    }, 
    "/time/event/locations": [{ 
    "geolocation": { 
     "latitude>": 43.2, 
     "latitude<": 49.68, 
     "longitude>": -5.1, 
     "longitude<": 7.27 
    } 
    }], 
    "/film/film_festival_event/festival": [{ 
    "mid":   null, 
    "optional": "forbidden", 
    "limit" : 0 
    }] 
}]​ 

일부 추가 포인트 :

을 수행합니다. DB에 식별자를 저장하거나 나중에 다시 사용하려면 "id"대신 "mid"를 사용해야합니다. mid는 병합 및 기타 데이터 변환에서 살아남으므로 id보다 강력한 식별자입니다. id 대신 mid를 요청하는 것이 더 빠릅니다. 결과 세트가 클 때 실제로 큰 차이를 만듭니다.

b. "제한": 0은 "결과에서이 절을 전혀 반환하지 않습니다"라고 말합니다. 나는 다른 지시어 (이 경우에는 제한 및 선택 사항)가있는 조항에 적어도 하나의 속성을 가져야하므로 여전히 중간이 필요하다고 생각합니다.

+0

건배, 필름 제거 (및 음악)는 내가 한 일입니다. 다른 팁도 주셔서 감사합니다. – kmc