UNPKG

freebase

Version:

a very masculine way to work with data from freebase.com

2 lines 64.8 kB
!function(a){a.freebase=function(){function b(a){function c(a,b){return a.length>=b.length&&a.substring(a.length-b.length)==b}function d(a,b){if("string"==typeof a){var c=b.charAt(0).toLowerCase()!=b.charAt(0);return c?a.charAt(0).toUpperCase()+a.substr(1):a}var e=[];for(var f in a){var g=a[f];e.push(d(g,b))}return e}if(a.match(" ")){var e=a.split(" "),f=e[e.length-1],g=e.slice(0,-1);return g.join(" ")+" "+b(f)}var h={about:1,above:1,across:1,after:1,against:1,along:1,among:1,around:1,at:1,before:1,behind:1,below:1,beneath:1,beside:1,between:1,beyond:1,but:1,by:1,despite:1,down:1,during:1,except:1,"for":1,from:1,"in":1,inside:1,into:1,like:1,near:1,of:1,off:1,on:1,onto:1,out:1,outside:1,over:1,past:1,since:1,through:1,throughout:1,till:1,to:1,toward:1,under:1,underneath:1,until:1,up:1,upon:1,"with":1,within:1,without:1},i=[{p:"people",s:"person"},{p:"tornadoes",s:"tornado"},{p:"churches",s:"church"},{p:"countries",s:"country"},{p:"cities",s:"city"},{p:"companies",s:"company"},{p:"monkies",s:"monkey"},{p:"donkies",s:"donkey"},{p:"mysteries",s:"mystery"},{p:"authors",s:"author"}],j={beef:{anglicized:"beefs",classical:"beeves"},brother:{anglicized:"brothers",classical:"brethren"},child:{anglicized:null,classical:"children"},cow:{anglicized:null,classical:"kine"},ephemeris:{anglicized:null,classical:"ephemerides"},genie:{anglicized:null,classical:"genii"},money:{anglicized:"moneys",classical:"monies"},mongoose:{anglicized:"mongooses",classical:null},mythos:{anglicized:null,classical:"mythoi"},octopus:{anglicized:"octopuses",classical:"octopodes"},ox:{anglicized:null,classical:"oxen"},soliloquy:{anglicized:"soliloquies",classical:null},trilby:{anglicized:"trilbys",classical:null}},k=["fish","ois","sheep","deer","pox","itis"],l={bison:1,flounder:1,pliers:1,bream:1,gallows:1,proceedings:1,breeches:1,graffiti:1,rabies:1,britches:1,headquarters:1,salmon:1,carp:1,herpes:1,scissors:1,chassis:1,"high-jinks":1,"sea-bass":1,seabass:1,clippers:1,homework:1,series:1,cod:1,innings:1,shears:1,contretemps:1,jackanapes:1,species:1,corps:1,mackerel:1,swine:1,debris:1,measles:1,trout:1,diabetes:1,mews:1,tuna:1,djinn:1,mumps:1,whiting:1,eland:1,news:1,wildebeest:1,elk:1,pincers:1,moose:1,shrimp:1,"hoi polloi":1,riffraff:1,rabble:1},m=[{from:"a",to:"ae",words:["alumna","alga","vertebra"]},{from:"a",anglicized:"as",classical:"ae",words:["abscissa","amoeba","antenna","aurora","formula","hydra","hyperbola","lacuna","medusa","nebula","nova","parabola"]},{from:"a",anglicized:"as",classical:"ata",words:["anathema","bema","carcinoma","charisma","diploma","dogma","drama","edema","enema","enigma","gumma","lemma","lymphoma","magma","melisma","miasma","oedema","sarcoma","schema","soma","stigma","stoma","trauma"]},{from:"en",anglicized:"ens",classical:"ina",words:["stamen","foramen","lumen"]},{from:"ex",to:"ices",words:["codex","murex","silex"]},{from:"ex",anglicized:"exes",classical:"ices",words:["apex","cortex","index","latex","pontifex","simplex","vertex","vortex"]},{from:"is",anglicized:"ises",classical:"ides",words:["iris","clitoris"]},{from:"o",to:"os",words:["albino","archipelago","armadillo","commando","ditto","dynamo","embryo","fiasco","generalissimo","ghetto","guano","inferno","jumbo","lingo","lumbago","magneto","manifesto","medico","octavo","photo","pro","quarto","rhino","stylo"]},{from:"o",anglicized:"os",classical:"i",words:["alto","basso","canto","contralto","crescendo","solo","soprano","tempo"]},{from:"on",to:"a",words:["aphelion","asyndeton","criterion","hyperbaton","noumenon","organon","perihelion","phenomenon","prolegomenon"]},{from:"um",to:"a",words:["agendum","bacterium","candelabrum","datum","desideratum","erratum","extremum","stratum","ovum"]},{from:"um",anglicized:"ums",classical:"a",words:["aquarium","compendium","consortium","cranium","curriculum","dictum","emporium","enconium","gymnasium","honorarium","interregnum","lustrum","maximum","medium","memorandum","millenium","minimum","momentum","optimum","phylum","quantum","rostrum","spectrum","speculum","stadium","trapezium","ultimatum","vacuum","velum"]},{from:"us",anglicized:"uses",classical:"i",words:["focus","fungus","genius","incubus","nimbus","nucleolus","radius","stylus","succubus","torus","umbilicus","uterus"]},{from:"us",anglicized:"uses",classical:"us",words:["apparatus","cantus","coitus","hiatus","impetus","nexus","plexus","prospectus","sinus","status"]},{from:"",to:"i",words:["afreet","afrit","efreet"]},{from:"",to:"im",words:["cherub","goy","geraph"]}],n=a.toLowerCase();for(var o in i)if(i[o].p==a)return i[o].s;for(var p in j){var q=j[p];if(q.anglicized===n||q.classical===n)return d(p,a)}for(var r in k)if(c(n,r))return a;if(l&&l[n])return a;var s=function(b,e,f){if(c(a,e)){var g=a.substring(a.length-e.length),h=g+q.from;for(var i in f)if(h===i)return d(h,a)}return null};for(var t in m){var q=m[t],u="to"in q&&s(q.from,q.to,q.words)||"anglicized"in q&&s(q.from,q.anglicized,q.words)||"classical"in q&&s(q.from,q.classical,q.words);if(null!=u&&"string"==typeof u)return u}for(var v in h){var w=a.indexOf(" "+v+" ");if(w>0){var x=a.substring(0,w),y=b(x);return null!=y?y+" "+v+" "+a.substr(w+v.length+2):null}if(w=a.indexOf("-"+v+"-"),w>0){var x=a.substring(0,w),y=b(x);return null!=y?y+"-"+v+"-"+a.substr(w+v.length+2):null}}var z=a.lastIndexOf(" ");if(z>0){var y=b(a.substring(z+1));return null!=y?a.substring(0,z+1)+y:null}return c(a,"xes")||c(a,"ses")?a.substring(0,a.length-2):c(a,"s")&&!c(a,"ss")?a.substring(0,a.length-1):a}function c(a){var b=a.split(/(\S.+?[.])(?=\s+|$)/g),c=[];for(var d in b)b[d]&&(b[d]=b[d].replace(/^\s+|\s+$/g,""),b[d].match(/(^| )(mr|dr|llb|md|bl|phd|ma|ba|mrs|miss|misses|mister|sir|esq|mstr|jr|sr|st|lit|inc|fl|ex|eg|jan|feb|mar|apr|jun|aug|sept?|oct|nov|dec)\. ?$/i)||b[d].match(/[ |\.][a-z]\.?$/i)?b[parseInt(d,10)+1]=b[d]+" "+b[parseInt(d,10)+1]:(c.push(b[d]),b[d]=""));var e=[];for(var f in c)c[f]=c[f].replace(/^\s+|\s+$/g,""),c[f]&&e.push(c[f]);return e}var d=function(){function b(b){console.log(b),a("body").append(JSON.stringify(b))}function c(a){try{return JSON.parse(a)}catch(b){return a}}var d={};if("undefined"!=typeof window&&window.screen)d.get=function(d,e){e=e||b,a.get(d,function(a){e(c(a))}).fail(function(a){e(a.statusText||"error")})},d.jsonp=function(d,e){e=e||b,a.getJSON(d,function(a){e(c(a))}).fail(function(a){e(a.statusText||"error")})},d.post=function(d,e,f){f=f||b,a.post(d,e,function(a){f(c(a))}).fail(function(a){f(a.statusText||"error")})};else if("undefined"!=typeof module&&module.exports){var e=require("request");d.get=function(a,b){b=b||console.log,e({uri:a},function(a,d,e){b(c(e))})},d.post=function(a,b,d){d=d||console.log,"object"==typeof b&&(b=JSON.stringify(b)),e({url:"http://api.freebase.com/api/service/mqlread",method:"POST",body:b},function(a,b,e){d(c(e))})}}return"undefined"!=typeof module&&module.exports&&(module.exports=d),d}(),e=function(){var a={boring:["/type/object/attribution","/type/object/key","/type/object/mid","/common/topic/notable_properties","/type/object/guid","/type/object/type","/type/object/id","/type/object/creator","/type/object/timestamp","/type/object/permission","/common/topic/alias","/common/topic/article","/common/topic/image","/common/topic/notable_for","/common/topic/notable_types","/common/topic/official_website","/common/topic/topic_equivalent_webpage","/common/topic/topical_webpage","/travel/travel_destination_monthly_climate/month","/location/religion_percentage/religion"],plural_types:["/music/instrument","/business/product_category","/biology/animal","/aviation/aircraft_type","/base/aareas/schema/administrative_area_type","/user/spencermountain/default_domain/type_of_music_group","/geography/geographical_feature_category","/award/award_discipline","/fashion/garment","/interests/collection_category","/organization/organization_type","/geology/rock_type","/sports/sports_equipment","/fictional_universe/fictional_organization_type","/user/jamie/default_domain/retail_category","/base/localfood/produce","/base/disaster2/type_of_injury","/architecture/type_of_museum","/automotive/engine_type","/travel/accommodation_feature","/transportation/bridge_type","/food/type_of_dish","/automotive/automotive_class","/geography/mountain_type","/exhibitions/type_of_exhibition","/user/alecf/recreation/park_feature","/event/disaster_type","/meteorology/cloud","/base/events/type_of_festival","/american_football/football_position","/base/piercings/piercing_location","/religion/type_of_place_of_worship","/base/birdinfo/type_of_diet","/astronomy/type_of_planetographic_feature","/base/forts/type_of_fort","/travel/accommodation_type","/base/crime/lawyer_type","/base/argumentmaps/type_of_joke","/base/events/type_of_performance","/event/type_of_public_presentation","/user/alexander/toys/toy_type","/user/robert/mobile_phones/input_interface","/baseball/baseball_position","/theater/theater_production_staff_role","/soccer/football_position","/music/voice","/base/disaster2/type_of_injury_causing_event","/base/services/exercise_facilities","/conferences/type_of_conference","/base/ecology/type_of_ecosystem","/bicycles/bicycle_type","/basketball/basketball_position","/base/movietheatres/type_of_movie_theatre_cinema","/base/disaster2/type_of_automobile_accident","/ice_hockey/hockey_position","/base/fires/type_of_fire","/base/crime/type_of_criminal_organization","/base/skateboarding/type_of_skateboarding_obstacle","/spaceflight/satellite_type","/base/represent/type_of_agent","/user/rcheramy/default_domain/fruit","/user/rcheramy/default_domain/food","/biology/organism_classification","/business/job_title","/medicine/anatomical_structure","/people/profession","/fictional_universe/character_species","/user/rcheramy/default_domain/hockey_team","/ice_hockey/hockey_team","/sports/sports_team","/sports/professional_sports_team","/base/events/event_presenting_organisation","/film/film_genre","/music/compositional_form","/medicine/drug_class","/geography/lake_type","/user/akatenev/weapons/weapon","/user/spencermountain/default_domain/stock_character","/base/folklore/mythical_creature"],category_like:["/american_football/football_position/players","/architecture/architectural_style/architects","/baseball/baseball_position/players","/basketball/basketball_position/players","/basketball/basketball_roster_position/player","/business/competitive_space_mediator/company","/business/industry/companies","/business/market_share/company","/comic_strips/comic_strip_creator_duration/creator_of_strip","/dining/cuisine/chefs","/dining/cuisine/restaurant","/education/education/student","/education/field_of_study/academic_departments","/education/field_of_study/academics_in_this_field","/film/film_film_company_relationship/film_company","/food/diet/followers","/ice_hockey/hockey_position/players","/interests/hobby/people_with_this_hobby","/interests/interest/people_with_this_interest","/martial_arts/martial_art/well_known_practitioner","/medicine/medical_specialty/hospitals_with_this_specialty","/medicine/medical_specialty/physicians_with_this_specialty","/music/genre/artists","/music/group_membership/member","/music/recording_contribution/contributor","/music/track_contribution/contributor","/olympics/olympic_athlete_affiliation/athlete","/opera/opera_designer_gig/designer","/opera/opera_production_staff_gig/staff_member","/organization/club_interest/clubs","/organization/leadership/person","/organization/organization_board_membership/member","/organization/organization_sector/organizations_in_this_sector","/people/profession/people_with_this_profession","/projects/project_participation/participant","/religion/religion/organizations","/soccer/football_position/players","/sports/pro_sports_played/athlete","/sports/sport/leagues","/sports/sport/officials","/sports/sport/team_coaches","/sports/sport/teams","/sports/sports_team_roster/player","/theater/theater_designer_gig/designer","/theater/theater_production_staff_gig/staff_member","/tv/tv_crew_gig/crewmember","/tv/tv_producer_episode_credit/producer","/tv/tv_producer_term/producer","/tv/tv_regular_personal_appearance/person","/visual_art/visual_art_form/artists","/government/form_of_government/countries","/people/ethnicity/people","/fictional_universe/character_gender","/fictional_universe/fictional_character/ethnicity","/architecture/structure/architectural_style","/book/book/genre","/book/magazine/genre","/book/short_story/genre","/book/written_work/school_or_movement","/broadcast/content/genre","/broadcast/radio_station/format","/comic_books/comic_book_series/genre","/comic_books/comic_book_story/genre","/comic_strips/comic_strip/genre","/computer/software/software_genre","/cvg/computer_videogame/cvg_genre","/film/film/genre","/food/dish/cuisine","/games/game/genre","/internet/website/category","/media_common/netflix_title/netflix_genres","/music/album/genre","/music/music_video/music_video_genre","/opera/opera/genre","/theater/play/genre","/tv/tv_program/genre","/visual_art/artwork/art_genre","/visual_art/artwork/period_or_movement","/automotive/model/model_years","/automotive/model_year/examples","/aviation/aircraft_model/aircraft","/award/recurring_competition/individual_competitions","/conferences/conference_series/conference","/cricket/cricket_series/series_events","/cricket/cricket_tournament/events","/film/film_festival/individual_festivals","/food/dish/recipes","/rail/locomotive_class/locomotives_of_this_class","/sports/sports_championship/events","/sports/tournament_event/competitions","/time/recurring_event/instances","/fictional_universe/character_occupation/characters_with_this_occupation"],related_properties:["/influence/influence_node/influenced_by","/location/location/adjoin_s","/influence/influence_node/influenced","/location/location/coterminous_with","/location/location/near","/time/event/included_in_event","/time/event/includes_event","/film/film/subjects","/film/film/sequel","/film/film/prequel","/film/film/directed_by","/film/film/starring","/book/written_work/previous_in_series","/book/written_work/next_in_series","/book/written_work/subjects","/visual_art/artwork/art_subject","/visual_art/artwork/belongs_to_series","/education/educational_institution/subsidiary_or_constituent_schools","/education/educational_institution/parent_institution","/organization/organization/sectors","/organization/organization/spun_off_from","/organization/organization/spin_offs","/organization/organization/parent","/organization/organization/child","/biology/organism_classification/higher_classification","/biology/organism_classification/lower_classifications","/biology/organism_classification/child_classifications","/biology/organism_classification/parent_classifications","/sports/sports_facility/teams","/sports/sports_league/championship","/sports/sport/leagues","/sports/sports_team/arena_stadium","/sports/sports_team/location","/sports/sports_team_location/teams","/government/political_party/ideology","/government/political_district/elections","/government/election/winner","/music/track/artist","/time/recurring_event/instances","/people/profession/specializations","/people/profession/specialization_of","/music/artist/label","/music/artist/album","/music/release/label","/music/release/album","/music/album/artist","/music/musical_group/member","/music/producer/releases_produced","/base/onephylogeny/type_of_thing/includes","/base/onephylogeny/type_of_thing/included_in","/location/country/capital","/location/country/form_of_government","/location/country/currency_used","/location/country/national_anthem","/aviation/airport/serves","/architecture/structure/architect","/geography/lake/cities","/geography/lake/outflow","/geography/lake/inflow","/olympics/olympic_games/host_city","/olympics/olympic_host_city","/business/employment_tenure/company","/film/performance/film","/tv/regular_tv_appearance/series","/people/marriage/spouse","/education/education/specialization","/education/education/major_field_of_study","/location/adjoining_relationship/adjoins","/music/group_membership/group","/celebrities/friendship/friend","/base/popstra/friendship/participant","/people/person/parents","/influence/influence_node/peers","/people/person/children","/people/sibling_relationship/sibling","/location/location/contains"],definate_articles:["/geography/mountain_range","/location/region","/royalty/noble_title","/user/pak21/default_domain/tectonic_plate","/education/university","/education/department","/religion/religious_organization","/user/robinboast/default_domain/historical_period","/travel/tourist_attraction","/comic_books/comic_book_character","/transportation/bridge","/business/shopping_center","/base/argumentmaps/intellectual_dispute","/base/argumentmaps/argument","/geography/island_group"],properties:[],is_a:["/amusement_parks/ride/ride_type","/amusement_parks/roller_coaster/propulsion","/amusement_parks/roller_coaster/train_configuration","/architecture/building/building_function","/architecture/museum/type_of_museum","/astronomy/asteroid/spectral_type","/astronomy/celestial_object/category","/astronomy/extraterrestrial_location/type_of_planetographic_feature","/astronomy/galaxy/galaxy_classification_hubble","/astronomy/galaxy_classification_code/galaxy_shape","/astronomy/near_earth_object/near_earth_object_classification","/astronomy/orbital_relationship/orbit_type","/astronomy/star/spectral_type","/astronomy/telescope/type_of_telescope","/automotive/model/automotive_class","/automotive/transmission/classification","/aviation/aircraft_model/aircraft_type","/aviation/airliner_accident/accident_type","/aviation/airport/airport_type","/aviation/aviation_waypoint/waypoint_type","/award/competition/type_of_competition","/bicycles/bicycle_model/bicycle_type","/biology/breed_registration/breed_group","/biology/fossil_specimen/organism","/biology/gene_group_membership/group","/biology/gene_ontology_group/group_type","/biology/organism/organism_type","/biology/organism/sex","/biology/organism_classification/rank","/biology/pedigreed_animal/breed","/boats/ship/ship_class","/boats/ship_class/ship_type","/book/book_edition/binding","/book/periodical_format_period/format","/book/poem/verse_form","/book/short_non_fiction/mode_of_writing","/business/consumer_product/category","/business/issue/type_of_issue","/business/product_line/category","/celebrities/sexual_orientation_phase/sexual_orientation","/chemistry/chemical_compound/classifications","/chemistry/chemical_element/chemical_series","/chemistry/chemical_element/periodic_table_block","/computer/computer_peripheral/peripheral_class","/computer/file_format/genre","/conferences/conference_series/type_of_conference","/cricket/cricket_match/match_type","/cvg/computer_videogame/gameplay_modes","/digicams/digital_camera/format","/distilled_spirits/blended_spirit/style","/distilled_spirits/distilled_spirit/spirit_type","/distilled_spirits/infused_spirit/infusion_style","/education/educational_institution/school_type","/education/fraternity_sorority/fraternity_sorority_type","/engineering/battery/cell_type","/engineering/battery/size","/engineering/battery_size/shape_format","/engineering/engine/category","/engineering/piston_engine/cooling_method","/engineering/piston_engine/fuel_delivery_method","/engineering/piston_engine/piston_configuration","/engineering/piston_engine/valvetrain_configuration","/engineering/power_plug_standard/plug_type","/event/disaster/type_of_disaster","/event/speech_or_presentation/type_or_format_of_presentation","/exhibitions/exhibition/exhibition_types","/fashion/textile/weave","/fictional_universe/fictional_setting/setting_type","/film/film/film_format","/food/beer/beer_style","/food/beer_style/bjcp_style_category","/food/cheese/texture","/food/dish/type_of_dish1","/food/drinking_establishment/drinking_establishment_type","/food/tea/tea_type","/food/wine_style/wine_types","/geography/geographical_feature/category","/geography/glacier/glacier_type","/geography/lake/lake_type","/geography/mountain/listings","/geography/mountain/mountain_type","/geography/waterfall/waterfall_type","/government/government_office_or_title/category","/government/government_position_held/basic_title","/interests/collectable_item/collection_category","/internet/top_level_domain/domain_type","/language/conlang/conlang_type","/language/language_writing_system/type_of_writing","/law/us_patent/international_classification","/law/us_patent/us_classification_category","/law/us_patent/us_patent_type","/location/administrative_division_capital_relationship/capital_type","/location/country/form_of_government","/location/location_symbol_relationship/Kind_of_symbol","/martial_arts/martial_art/category","/medicine/cancer_center/cancer_center_type","/medicine/drug/drug_class","/medicine/drug/mechanism_of_action","/medicine/drug_formulation/dosage_form","/medicine/drug_formulation/drug_category","/medicine/hospital_ownership/ownership_status","/medicine/infectious_disease/infectious_agent_type","/medicine/medical_trial/design","/medicine/medical_trial/phase","/medicine/medical_trial/type_of_trial","/meteorology/cloud/classification","/meteorology/tropical_cyclone/category","/metropolitan_transit/transit_line/service_type","/military/military_unit/unit_size","/music/album/release_type","/music/composition/form","/music/opera_singer/voice_type","/music/release/format","/organization/organization/legal_structure","/organization/organization/organization_type","/people/person/ethnicity","/people/person/gender","/physics/particle/family","/physics/particle/generation","/protected_sites/natural_or_cultural_site_designation/categories","/protected_sites/natural_or_cultural_site_listing/designation","/protected_sites/protected_site/iucn_category","/rail/locomotive_class/gauge","/rail/railway_gauge_relationship/gauge","/rail/railway_type_relationship/railway_type","/rail/steam_locomotive_class/fuel_type","/rail/steam_locomotive_class/wheel_configuration","/religion/place_of_worship/religion","/religion/place_of_worship/type_of_place_of_worship","/religion/place_of_worship_historical_use/religion","/religion/religious_leadership_jurisdiction/size_or_type","/royalty/chivalric_rank/gender","/royalty/noble_rank/gender","/royalty/order_of_chivalry/category","/skiing/lift_tenure/lift_type","/skiing/ski_run/rating","/spaceflight/bipropellant_rocket_engine/engine_cycle","/spaceflight/rocket/rocket_function","/spaceflight/satellite/primary_use","/sports/boxer/weight_division","/time/holiday/type_of_holiday","/transportation/bridge/bridge_type","/travel/accommodation/accommodation_type","/visual_art/artwork/art_form","/wine/wine/color","/wine/wine/wine_style","/wine/wine/wine_type","/zoos/zoo/category","/people/person/profession","/soccer/football_player/position_s","/american_football/football_historical_roster_position/position_s","/american_football/football_player/position_s","/american_football/football_roster_position/position","/baseball/baseball_player/position_s","/baseball/baseball_roster_position/position","/basketball/basketball_player/position_s","/basketball/basketball_roster_position/position","/ice_hockey/hockey_player/hockey_position","/ice_hockey/hockey_roster_position/position","/soccer/football_player/position_s","/soccer/football_roster_position/position"],metaschema:[{name:"HasPlaceOfOrigin",search:"origin",id:"/base/fbontology/metaschema/predicate_id/hasplaceoforigin"},{name:"Portrayed",search:"portrayed",id:"/base/fbontology/metaschema/predicate_id/portrayed"},{name:"PortrayedBy",search:"portrayed_by",id:"/base/fbontology/metaschema/predicate_id/portrayedby"},{name:"HasCategory",search:"category",id:"/base/fbontology/metaschema/predicate_id/hascategory"},{name:"Administers",search:"administers",id:"/base/fbontology/metaschema/predicate_id/administers"},{name:"AdministeredBy",search:"administered_by",id:"/base/fbontology/metaschema/predicate_id/administeredby"},{name:"OccursIn",search:"occurs_in",id:"/base/fbontology/metaschema/predicate_id/occursin"},{name:"Produced",search:"produced",id:"/base/fbontology/metaschema/predicate_id/produced"},{name:"ProducedBy",search:"produced_by",id:"/base/fbontology/metaschema/predicate_id/producedby"},{name:"HasLocation",search:"location",id:"/base/fbontology/metaschema/predicate_id/haslocation"},{name:"HasTitle",search:"title",id:"/base/fbontology/metaschema/predicate_id/hastitle"},{name:"HasPart",search:"part",id:"/base/fbontology/metaschema/predicate_id/haspart"},{name:"PartOf",search:"part_of",id:"/base/fbontology/metaschema/predicate_id/partof"},{name:"ComposedOf",search:"made_of",id:"/base/fbontology/metaschema/predicate_id/composedof"},{name:"ParticipatedIn",search:"participated_in",id:"/base/fbontology/metaschema/predicate_id/participatedin"},{name:"HasParticipant",search:"participant",id:"/base/fbontology/metaschema/predicate_id/hasparticipant"},{name:"Discovered",search:"discovered",id:"/base/fbontology/metaschema/predicate_id/discovered"},{name:"DiscoveredBy",search:"discovered_by",id:"/base/fbontology/metaschema/predicate_id/discoveredby"},{name:"HasStatus",search:"status",id:"/base/fbontology/metaschema/predicate_id/hasstatus"},{name:"PractitionerOf",search:"practitioner_of",id:"/base/fbontology/metaschema/predicate_id/practitionerof"},{name:"HasPractitioner",search:"practitioner",id:"/base/fbontology/metaschema/predicate_id/haspractitioner"},{name:"HasServiceArea",search:"service_area",id:"/base/fbontology/metaschema/predicate_id/hasservicearea"},{name:"HasChild",search:"child",id:"/base/fbontology/metaschema/predicate_id/haschild"},{name:"HasParent",search:"parent",id:"/base/fbontology/metaschema/predicate_id/hasparent"},{name:"HasPublication",search:"publication",id:"/base/fbontology/metaschema/predicate_id/haspublication"},{name:"PublicationOf",search:"publication_of",id:"/base/fbontology/metaschema/predicate_id/publicationof"},{name:"MemberOf",search:"member_of",id:"/base/fbontology/metaschema/predicate_id/memberof"},{name:"LeaderOf",search:"leader_of",id:"/base/fbontology/metaschema/predicate_id/leaderof"},{name:"HasLeader",search:"leader",id:"/base/fbontology/metaschema/predicate_id/hasleader"},{name:"HasOwner",search:"owner",id:"/base/fbontology/metaschema/predicate_id/hasowner"},{name:"Owns",search:"owns",id:"/base/fbontology/metaschema/predicate_id/owns"},{name:"PeerOf",search:"peer_of",id:"/base/fbontology/metaschema/predicate_id/peerof"},{name:"ExhibitedAt",search:"exhibited_at",id:"/base/fbontology/metaschema/predicate_id/exhibitedat"},{name:"Exhibited",search:"exhibited",id:"/base/fbontology/metaschema/predicate_id/exhibited"},{name:"DistributedBy",search:"distributed_by",id:"/base/fbontology/metaschema/predicate_id/distributedby"},{name:"HasName",search:"name",id:"/base/fbontology/metaschema/predicate_id/hasname"},{name:"SuperclassOf",search:"superclass_of",id:"/base/fbontology/metaschema/predicate_id/superclassof"},{name:"SubclassOf",search:"subclass_of",id:"/base/fbontology/metaschema/predicate_id/subclassof"},{name:"TookPlaceAt",search:"tookplace_at",id:"/base/fbontology/metaschema/predicate_id/tookplaceat"},{name:"HasFictionalRelationship",search:"fiction_link",id:"/base/fbontology/metaschema/predicate_id/hasfictionalrelationship"},{name:"HasGenre",search:"genre",id:"/base/fbontology/metaschema/predicate_id/hasgenre"},{name:"SucceededBy",search:"succeeded_by",id:"/base/fbontology/metaschema/predicate_id/succeededby"},{name:"Succeeds",search:"succeeds",id:"/base/fbontology/metaschema/predicate_id/succeeds"},{name:"UsePermittedBy",search:"use_permitted_by",id:"/base/fbontology/metaschema/predicate_id/usepermittedby"},{name:"PermitsUseOf",search:"permits_use_of",id:"/base/fbontology/metaschema/predicate_id/permitsuseof"},{name:"ContributedTo",search:"contributed_to",id:"/base/fbontology/metaschema/predicate_id/contributedto"},{name:"HasContributor",search:"contributor",id:"/base/fbontology/metaschema/predicate_id/hascontributor"},{name:"HasIdentifier",search:"name",id:"/base/fbontology/metaschema/predicate_id/hasidentifier"},{name:"Identifies",search:"identifies",id:"/base/fbontology/metaschema/predicate_id/identifies"},{name:"HasCenter",search:"center",id:"/base/fbontology/metaschema/predicate_id/hascenter"},{name:"CenterFor",search:"center_for",id:"/base/fbontology/metaschema/predicate_id/centerfor"},{name:"HasCharacter",search:"character",id:"/base/fbontology/metaschema/predicate_id/hascharacter"},{name:"AppearsIn",search:"appears_in",id:"/base/fbontology/metaschema/predicate_id/appearsin"},{name:"BroaderThan",search:"broader_than",id:"/base/fbontology/metaschema/predicate_id/broaderthan"},{name:"NarrowerThan",search:"narrower_than",id:"/base/fbontology/metaschema/predicate_id/narrowerthan"},{name:"ExpressedBy",search:"expressed_by",id:"/base/fbontology/metaschema/predicate_id/expressedby"},{name:"HasCertification",search:"certification",id:"/base/fbontology/metaschema/predicate_id/hascertification"},{name:"CertificationOf",search:"certification_of",id:"/base/fbontology/metaschema/predicate_id/certificationof"},{name:"HasPreceedingWork",search:"preceeding",id:"/base/fbontology/metaschema/predicate_id/haspreceedingwork"},{name:"HasSubsequentWork",search:"subsequent",id:"/base/fbontology/metaschema/predicate_id/hassubsequentwork"},{name:"Created",search:"created",id:"/base/fbontology/metaschema/predicate_id/created"},{name:"CreatedBy",search:"created_by",id:"/base/fbontology/metaschema/predicate_id/createdby"},{name:"HasAdaptation",search:"adaptation",id:"/base/fbontology/metaschema/predicate_id/hasadaptation"},{name:"AdaptationOf",search:"adaptation_of",id:"/base/fbontology/metaschema/predicate_id/adaptationof"},{name:"HasMeasurement",search:"number",id:"/base/fbontology/metaschema/predicate_id/hasmeasurement"},{name:"HasAbstraction",search:"abstraction",id:"/base/fbontology/metaschema/predicate_id/hasabstraction"},{name:"AbstractionOf",search:"abstraction_of",id:"/base/fbontology/metaschema/predicate_id/abstractionof"},{name:"HasMeansOfDemise",search:"means_of_demise",id:"/base/fbontology/metaschema/predicate_id/hasmeansofdemise"},{name:"HasSubject",search:"subject",id:"/base/fbontology/metaschema/predicate_id/hassubject"}]};return"undefined"!=typeof module&&module.exports&&(exports.data=a),a}();if("undefined"!=typeof module&&module.exports)var e=require("./data.js").data,d=require("./http.js");var f=function(){var a={};return a.isarray=function(a){return"[object Array]"==toString.call(a)},a.isobject=function(a){return a===Object(a)},a.flatten=function(b,c,d){return d=d||[],b.forEach(function(b){a.isarray(b)?c?d.push(b):a.flatten(b,c,d):d.push(b)}),d},a.last=function(a){return a[a.length]},a.compact=function(a){return a.filter(function(a){return a})},a.compact_strong=function(a){return a.filter(function(a){return!a||"object"==typeof a&&0==Object.keys(a).length?!1:!0})},a.settle_params=function(b,c,d){d=d||{};var e={valid:!1,q:b[0],options:b[1]||{},callback:b[2]||function(a){console.log(a)},method:c||""};if(e.options=JSON.parse(JSON.stringify(e.options)),"function"==typeof e.options&&(e.callback=e.options,e.options={}),e.options.nodeCallback&&(e.callback=e.callback.bind(void 0,null),e.options.nodeCallback=!1),a.isarray(e.q)){if(e.q.length>1)return e.q=a.compact_strong(e.q),e.valid=!0,e.array=!0,e;e.q=e.q[0]}return e.q&&"object"==typeof e.q&&(e.q=e.q.id||e.q.mid||e.q.name),"string"!=typeof e.q||"object"!=typeof e.options||"function"!=typeof e.callback?e:(e.q.match(/\/.*?\/.*?/)&&(e.is_id=!0),Object.keys(d).forEach(function(a){e.options[a]||(e.options[a]=d[a])}),e.q=e.q.replace(/ /," "),e.q=e.q.replace(/^\s+|\s+$/,""),e.q.match(/^(https?:\/\/|www\.)/)&&(e.q=e.q.replace(/\/$/,""),e.q=e.q.replace(/^https/,"http"),e.url=!0),e.valid=!0,e)},a.topk=function(a,b){var c=[];b=b||1;for(var d,e={},d=a.length-1;d>-1;d--){var f=a[d];null==e[f]?e[f]=1:e[f]++}for(var f in e)c.push(f);return c.sort(function(a,b){return e[b]-e[a]}).map(function(a){return{value:a,count:e[a],percentage:(e[a]/b*100).toFixed(2)}})},a.percentage=function(a,b){return parseInt(a/b*100)},a.kill_boring=function(a){return a?(e.boring.forEach(function(b){delete a[b] }),a):{}},a.parse_topic_api=function(b){var c=[];return b=a.kill_boring(b),Object.keys(b).forEach(function(d){var e=b[d];"object"==e.valuetype&&(e.values=e.values.map(function(a){return a.property=d,a}),c=c.concat(e.values)),"compound"==e.valuetype&&e.values.forEach(function(b){b.property=a.kill_boring(b.property),Object.keys(b.property).forEach(function(a){"object"==b.property[a].valuetype&&(b.property[a].values=b.property[a].values.map(function(b){return b.property=[d,a],b}),c=c.concat(b.property[a].values))})})}),c=c.map(function(a){return{name:a.text,id:a.id,property:a.property}}),c=c.map(function(b){return a.isarray(b.property)&&(b.property=b.property.join("")),b})},a.metaschema_lookup=function(b){b=b.toLowerCase(),b=b.replace(/\W(is|was|are|will be|has been)\W/," "),b=b.replace(/ /g," "),b=b.replace(/_/g," "),b=b.replace(/^\s+|\s+$/,"");var c=e.metaschema.filter(function(c){return c.aliases=c.aliases||[],c.id==b||c.name.toLowerCase()==b||a.isin(b,c.aliases)||c.search.replace(/_/g," ")==b})[0];return c=c||{},c.search},a.json_unique=function(a,b){var c=[];a:for(var d=0;d<a.length;d++){for(var e=0;e<c.length;e++)if(c[e]&&a[d]&&c[e][b]==a[d][b])continue a;c[c.length]=a[d]}return c},a.doit_async=function(a){a.q=a.q||[];var b=a.q.map(function(b){return{q:b,options:a.options,method:a.method}}),c=[];b.forEach(function(d){d.method(d.q,d.options,function(d){c.push(d),c.length==b.length&&a.callback(c)})})},a.mql_unencode=function(a){return a=a.replace(/\$([0-9A-Fa-f]{4})/g,function(a,b){return String.fromCharCode(parseInt(b,16))})},a.groups_of=function(a,b){var c=[];for(var d in a)d%b===0?c.push([a[d]]):c[c.length-1].push(a[d]);return c},a.parseurl=function(a){for(var b={strictMode:!1,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}},c=b.parser[b.strictMode?"strict":"loose"].exec(a),d={},e=14;e--;)d[b.key[e]]=c[e]||"";return d[b.q.name]={},d[b.key[12]].replace(b.q.parser,function(a,c,e){c&&(d[b.q.name][c]=e)}),d},a.set_params=function(b){var c=b;return c?Object.keys(c).map(function(b){var d=c[b];return(a.isarray(c[b])||a.isobject(c[b]))&&(d=encodeURIComponent(JSON.stringify(c[b]))),b+"="+d}).join("&"):""},a.clone=function(a){return JSON.parse(JSON.stringify(a))},a.softget=function(a,b,c){d.get(a,function(a){c(a)})},a.http=function(a,b,c){b.key&&(a.match(/\?/)||(a+="?"),a+="&key="+b.key),d.get(a,c)},a.post=function(a,b,c){var e="query="+JSON.stringify({query:a,key:b.key,cursor:b.cursor});d.post("https://www.googleapis.com/freebase/v1/mqlread",e,c)},a.isin=function(a,b){return b.some(function(b){return b==a})},a.intersection=function(b,c){return b.filter(function(b){return a.isin(b,c)})},a.isempty=function(a){return a&&"object"==typeof a?"[object Array]"!==Object.prototype.toString.call(a)&&0==Object.keys(a).length?!0:!1:!0},"undefined"!=typeof module&&module.exports&&(module.exports=a),a}();if("undefined"!=typeof module&&module.exports)var f=require("./helpers/helpers");var g=function(){"use strict";var a={};a.access_token="",a.globals={host:"https://www.googleapis.com/freebase/v1/",image_host:"https://www.googleapis.com/freebase/v1/image",geosearch:"http://api.freebase.com/api/service/geosearch",wikipedia_host:"http://en.wikipedia.org/w/api.php",generic_query:{id:null,name:null,mid:null,type:[]}},a.mqlread=function(b,c,d){if(this.doc="interface to freebase's mql api",this.reference="http://wiki.freebase.com/wiki/MQL",d=d||console.log,"function"==typeof c&&(d=c,c={}),!b)return c.nodeCallback?d(null,{}):d({});c=c||{},c.uniqueness_failure=c.uniqueness_failure||"soft",c.cursor=c.cursor||"";var e=a.globals.host+"mqlread?query="+JSON.stringify(b)+"&cursor="+c.cursor,g=f.set_params(c);e+="&"+g,c.debug&&console.log(e),f.http(e,c,function(a){return a&&a.error&&console.log(JSON.stringify(a.error,null,2)),c.nodeCallback?d(null,a):d(a)})},a.search=function(){this.doc="regular search api",this.reference="http://wiki.freebase.com/wiki/ApiSearch";var b=f.settle_params(arguments,a.search,{});if(b.array)return f.doit_async(b);if(!b.valid)return b.callback({});if(b.is_id)return a.lookup_id(b.q,b.options,function(a){b.callback([a])});if(b.url)return a.url_lookup(b.q,b.options,function(a){return b.callback(a&&a.result&&a.result[0]?a.result:[])});if(b.is_id)return b.options.limit=1,a.lookup_id(b.q,b.options,b.callback);b.options.query=encodeURIComponent(b.q),delete b.options.property,delete b.options.strict;var c=f.set_params(b.options),d=a.globals.host+"search/?"+c;("/type/type"==b.options.type||"/type/property"==b.options.type)&&(d+="&scoring=schema&stemmed=true"),b.options.debug&&console.log(d),f.http(d,b.options,function(a){return a&&a.result&&a.result[0]?b.callback(a.result):(a&&a.error&&console.log(JSON.stringify(a.error,null,2)),b.callback([]))})},a.lookup=function(){this.doc="freebase search with filters to ensure only a confident, unambiguous result",this.reference="http://wiki.freebase.com/wiki/ApiSearch";var b=f.settle_params(arguments,a.lookup,{type:"/common/topic",strict:!0});if(b.array)return f.doit_async(b);if(!b.valid)return b.callback({});if(b.url)return a.url_lookup(b.q,b.options,b.callback);if(b.is_id)return b.options.limit=1,a.lookup_id(b.q,b.options,b.callback);var c=b.options.strength||"full";b.options.strict||(c="word");var d=encodeURIComponent("(any name{"+c+'}:"'+b.q+'" alias{'+c+'}:"'+b.q+'")'),e=b.options.output||"(type description:wikipedia)",g=a.globals.host+"search?limit=2&lang=en&type="+b.options.type+"&filter="+d+"&output="+e;return("/type/type"==b.options.type||"/type/property"==b.options.type)&&(g+="&scoring=schema&stemmed=true"),b.options.debug&&console.log(g),f.http(g,b.options,function(a){if(!a||!a.result||!a.result[0])return b.callback({});if(a=a.result||[],a[0]=a[0]||{},a[1]=a[1]||{},!a[0].score&&a[0].score<30)return b.callback({});if(.7*(a[0].score||0)<(a[1].score||0))return b.callback({});for(var c=((a[0].output.type||{})["/type/object/type"]||[]).map(function(a){return a.id}),d=["/music/track","/music/release_track","/tv/tv_episode","/music/recording","/book/book_edition"],e=0;e<=c.length;e++)if(f.isin(c[e],d))return b.callback({});return b.callback(a[0])})},a.lookup_id=function(b,c){this.doc="generic info for an id";var d=f.settle_params(arguments,a.lookup,{type:"/common/topic"});if(d.array)return f.doit_async(d);if(!d.valid)return d.callback({});var e=f.clone(a.globals.generic_query);e.id=d.q,a.mqlread([e],c,function(a){return a=a.result||[],d.callback(a[0]||{})})},a.url_lookup=function(){this.doc="freebase search tuned for looking up a url",this.reference="http://wiki.freebase.com/wiki/ApiSearch";var b=f.settle_params(arguments,a.url_lookup,{type:"/common/topic",strict:!0});if(b.array)return f.doit_async(b);if(!b.valid)return b.callback({});var c=f.clone(a.globals.generic_query),d=a.globals.host+"search?type=/common/topic&limit=1&query="+encodeURIComponent(b.q);d+="&mql_output="+encodeURIComponent(JSON.stringify(c)),b.options.debug&&console.log(d),f.http(d,b.options,function(a){if(!a||!a.result)return b.callback({});var c=a.result||[];return b.callback(c[0])})},a.get_id=function(){this.doc="like freebase.lookup but satisfied with an id",this.reference="http://wiki.freebase.com/wiki/ApiSearch";var b=f.settle_params(arguments,a.get_id,{type:"/common/topic"});return b.array?f.doit_async(b):b.valid?b.q&&null==b.q.match(/\/.{1,32}\/.{3}/)?void a.lookup(b.q,b.options,function(a){return a?"/type/type"==b.options.type?(a.mid=a.id,b.callback(a)):a.mid?(a.id=a.id||a.mid,b.callback(a)):b.callback({}):b.callback({})}):b.callback({id:b.q}):b.callback({})},a.topic=function(){this.doc="topic api",this.reference="http://wiki.freebase.com/wiki/Topic_API";var b=f.settle_params(arguments,a.topic,{});return b.array?f.doit_async(b):b.valid?void a.get_id(b.q,b.options,function(c){var d=c.id;if(!d)return b.callback({});b.options.filter=b.options.filter||"all";var e=a.globals.host+"topic"+d+"?"+f.set_params(b.options);b.options.debug&&console.log(e),f.http(e,b.options,function(a){return b.callback(a)})}):b.callback({})},a.paginate=function(b,c,d){this.doc="get all of the results to your query",this.reference="http://wiki.freebase.com/wiki/MQL","function"==typeof c&&(d=c,c={}),c=c||{},d=d||console.log,c.max=c.max||99999999;var e=[],f=function(g){c.cursor=g||"",a.mqlread(b,c,function(a){return a&&a.result?(e=e.concat(a.result),a.cursor&&(!c.max||e.length<c.max)?void f(a.cursor):c.nodeCallback?d(null,e):d(e)):c.nodeCallback?d(null,e):d(e)})};f("")},a.wikipedia_page=function(){this.doc="get a url for wikipedia based on this topic";var b=f.settle_params(arguments,a.wikipedia,{});return b.array?f.doit_async(b):b.valid?void a.get_id(b.q,b.options,function(c){if(!c||!c.id)return b.callback("");var d=[{id:c.id,name:null,key:{namespace:"/wikipedia/en_title",value:null}}];a.mqlread(d,b.options,function(a){return b.callback(a&&a.result&&a.result[0]?"http://en.wikipedia.org/wiki/"+f.mql_unencode(a.result[0].key.value):"")})}):b.callback({})},a.dbpedia_page=function(b,c){this.doc="get a url for dbpedia based on this topic";var d=f.settle_params(arguments,a.dbpedia,{});return d.array?f.doit_async(d):d.valid?void a.get_id(d.q,d.options,function(b){if(!b||!b.id)return c.nodeCallback?d.callback(null,""):d.callback("");var e=[{id:b.id,name:null,key:{namespace:"/wikipedia/en_title",value:null}}];a.mqlread(e,d.options,function(a){if(!a||!a.result||!a.result[0])return c.nodeCallback?d.callback(null,{}):d.callback({});var b=f.mql_unencode(a.result[0].key.value),e={html:"http://dbpedia.org/page/"+b,json:"http://dbpedia.org/data/"+b+".json"};return c.nodeCallback?d.callback(null,e):d.callback(e)})}):d.callback({})},a.mql_encode=function(a){if(this.doc="quote a unicode string to turn it into a valid mql /type/key/value",!a)return"";a=a.replace(/ /," "),a=a.replace(/^\s+|\s+$/,""),a=a.replace(/ /g,"_");var b="A-Za-z0-9",c="A-Za-z0-9_-",d=new RegExp("^["+b+"]["+c+"]*$"),e=new RegExp("([^"+c+"])","g");if(d.exec(a))return a;var f=function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return 2==c.length&&(c="00"+c),3==c.length&&(c="0"+c),"$"+c},g=a.replace(e,f);return("-"==g.charAt(0)||"_"==g.charAt(0))&&(g=f(g,g.charAt(0))+g.substr(1)),g},a.rdf=function(b,c){this.doc="RDF api",this.reference="http://wiki.freebase.com/wiki/RDF";var d=f.settle_params(arguments,a.topic,{});return d.array?f.doit_async(d):d.valid?void a.get_id(d.q,d.options,function(b){var e=b.id;if(!e)return c.nodeCallback?d.callback(null,{}):d.callback({});d.options.filter=d.options.filter||"all";var g=a.globals.host+"rdf"+e;f.softget(g,d.options,function(a){return a=a||"",c.nodeCallback?d.callback(null,a):d.callback(a)})}):c.nodeCallback?d.callback(null,{}):d.callback({})},a.description=function(){this.doc="get a text blurb from freebase",this.reference="http://wiki.freebase.com/wiki/ApiText";var b=f.settle_params(arguments,a.description,{});return b.array?f.doit_async(b):b.valid?void a.get_id(b.q,b.options,function(c){if(!c||!c.id)return b.callback("");var d=a.globals.host+"text"+c.id;b.options.debug&&console.log(d),f.http(d,b.options,function(a){return b.callback(a.result?a.result:"")})}):b.callback({})},a.image=function(){this.doc="get a url for image href of on this topic",this.reference="http://wiki.freebase.com/wiki/ApiImage";var b=f.settle_params(arguments,a.image,{maxheight:250,maxwidth:250,errorid:"/m/0djw4wd"});return b.array?f.doit_async(b):b.valid?void a.get_id(b.q,b.options,function(c){if(!c||!c.id)return b.callback("");var d=[{id:c.id,name:null,"/common/topic/image":[{id:null}]}];a.mqlread(d,b.options,function(c){if(!(c&&c.result&&c.result[0]&&c.result[0]["/common/topic/image"][0]))return b.callback("");var d=a.globals.image_host+c.result[0]["/common/topic/image"][0].id;delete b.options.strict,delete b.options.cursor,delete b.options.uniqueness_failure;var e=f.set_params(b.options);return d+="?"+e,b.callback(d)})}):b.callback({})},a.notable=function(){this.doc="get a topic's notable type";var b=f.settle_params(arguments,a.notable,{});return b.array?f.doit_async(b):b.valid?void a.topic(b.q,{filter:"/common/topic/notable_types"},function(a){if(!a||!a.property||!a.property["/common/topic/notable_types"])return b.options.nodeCallback?b.callback(null,{}):b.callback({});var c=a.property["/common/topic/notable_types"]||{values:[]};c.values[0].name=c.values[0].text;var a=c.values[0];return b.options.nodeCallback?b.callback(null,a):b.callback(a)}):b.options.nodeCallback?b.callback(null,{}):b.callback({})},a.documentation=function(){Object.keys(a).filter(function(a){return"documentation"!=a&&"access_token"!=a&&"test_writes"!=a&&"globals"!=a}).forEach(function(b){var c=new a[b]("",{},function(){});console.log("* **"+b+"**\n -"+c.doc)})};var b={mqlread:["query","mql_read"],topic:["topic_api","all_data","data","everything","get_data"],paginate:["continue","all","each"],same_as_links:["sameas","sameaslinks","links","external_links","weblinks"],translate:["translate_to","i8n","translation"],image:["picture","get_image"],description:["blurb","get_blurb","blurb_api","text"],notable:["notable_type","notable_for","notable_as","main_type","type"],place_data:["place","place_info","location_info","location"],incoming:["incoming_links"],outgoing:["outgoing_links"],related:["related_topics","similar"],geolocation:["geo","geocoordinates","geo_location","lat_lng","location"],nearby:["near","close_to"],inside:["inside_of","within","contained_by","contains"],mql_encode:["encode","escape"]};return Object.keys(b).forEach(function(c){a[c]&&b[c].forEach(function(b){a[b]=a[c]})}),"undefined"!=typeof module&&module.exports&&(module.exports=a),a}();if("undefined"!=typeof module&&module.exports)var g=require("./core"),f=require("./helpers/helpers"),e=require("./helpers/data").data;if("undefined"!=typeof g&&g&&g.search||(console.warn("freebase sugar methods loaded without freebase core methods"),g={}),g.drilldown=function(a,c){this.doc="get insight into the breakdown of the topics in this type, by type and quality";var d=f.settle_params(arguments,g.drilldown,{limit:1e3});return d.array?f.doit_async(d):d.valid?(d.q.match(/\/.{1,12}\/.{3}/)||(d.q=b(d.q)),void g.get_id(d.q,{type:"/type/type"},function(a){if(!a||!a.id)return d.callback([]);var b=[{"s:type":a.id,type:[],name:null,id:null,limit:150,"estimate-count":null,"/common/topic/image":[{id:null,limit:1,optional:!0}],key:[{namespace:"/wikipedia/en",limit:1,value:null,optional:!0}],"/common/topic/alias":[{value:null,limit:1,optional:!0}]}];if(c.extend)for(var e in c.extend)b[0][e]=c.extend[e];g.paginate(b,d.options,function(a){var b=f.flatten(a.map(function(a){return a.type}));b=b.filter(function(a){return!a.match(/\/topic$/)});var c=f.topk(b,a.length),e=a.filter(function(a){return a["/common/topic/alias"].length>0}),g=a.filter(function(a){return a["/common/topic/image"].length>0}),h=a.filter(function(a){return a.key.length>0}),i={types:c,alias_percent:f.percentage(e.length,a.length),image_percent:f.percentage(g.length,a.length),wikipedia_percent:f.percentage(h.length,a.length),subset:a.length,"estimate-count":a[0]["estimate-count"]};d.callback(i)})})):d.callback([])},g.property_introspection=function(a,b,c){if(this.doc="common lookups for freebase property data",c=c||console.log,"function"==typeof b&&(c=b,b={}),b.nodeCallback&&(c=c.bind(void 0,null),b.nodeCallback=!1),!a)return c({});b=b||{};var d=f.settle_params(arguments,g.property_introspection);if(f.isarray(a)&&a.length>1)return f.doit_async(d);var e=[{id:a,mid:null,name:null,type:"/type/property",reverse_property:[{id:null,name:null,optional:!0}],expected_type:[{id:null,name:null,optional:!0,"/freebase/type_hints/mediator":null}],unique:null,schema:{id:null,name:null,"/freebase/type_profile/instance_count":null,"/freebase/type_hints/mediator":null},"/common/topic/description":null}];g.mqlread(e,b,function(d){var e={};if(!d||!d.result||!d.result[0])return c(e);d=d.result[0],e.name=d.name,e.id=d.id,e.type=d.schema,e.description=d["/common/topic/description"],e.unique=d.unique||!1,e.reverse_property=d.reverse_property,e.expected_type=d.expected_type;var f=[{name:null,type:"/base/fbontology/semantic_predicate",paths:{"a:properties":a,"b:properties":[{id:null}]}}];g.mqlread(f,b,function(a){return e.meta=a.result,c(e)})})},g.schema=function(a,b,c){if(this.doc="common lookups for types and properties",c=c||console.log,"function"==typeof b&&(c=b,b={}),b.nodeCallback&&(c=c.bind(void 0,null),b.nodeCallback=!1),!a)return c({});if(b=b||{},f.isarray(a)&&a.length>1){var d=f.settle_params(arguments,g.schema,{});return f.doit_async(d)}b.type="/type/type",g.search(a,b,function(d){if(d&&d[0]&&d[0].id){d=d[0];var e=[{id:d.id,mid:null,name:null,properties:[{id:null,name:null,optional:!0,"/type/property/reverse_property":[{id:null,name:null,optional:!0}]}],"/freebase/type_hints/mediator":null,"/freebase/type_hints/included_types":[{id:null,name:null,optional:!0}],"/freebase/type_profile/published":null,"/type/type/expected_by":[{id:null,name:null,optional:!0}],"/freebase/type_profile/instance_count":null,"/freebase/type_profile/property_count":null,domain:{id:null,name:null},"/freebase/type_profile/equivalent_topic":[{id:null,name:null,optional:!0}],type:"/type/type"}];g.mqlread(e,b,function(a){if(!a||!a.result||!a.result[0])return c({});a=a.result[0];var d={};d.domain=a.domain,d.id=a.id,d.name=a.name,d.included_types=a["/freebase/type_hints/included_types"],d.incoming_properties=a["/type/type/expected_by"],d.is_compound_value=a["/freebase/type_hints/mediator"]||!1,d.is_commons=a["/freebase/type_profile/published"]||!1,