Spaces:
Runtime error
Runtime error
| from collections import defaultdict | |
| relation_domain_range=[ | |
| { | |
| "relation": "manager_of", | |
| "domain": ["PERS"], | |
| "range": ["ORG", "FAC"] | |
| }, | |
| { | |
| "relation": "birth_date", | |
| "domain": ["PERS"], | |
| "range": ["DATE"] | |
| }, | |
| { | |
| "relation": "has_parent", | |
| "domain": ["PERS"], | |
| "range": ["PERS"] | |
| }, | |
| { | |
| "relation": "has_sibling", | |
| "domain": ["PERS"], | |
| "range": ["PERS"] | |
| }, | |
| { | |
| "relation": "has_spouse", | |
| "domain": ["PERS"], | |
| "range": ["PERS"] | |
| }, | |
| { | |
| "relation": "has_relative", | |
| "domain": ["PERS"], | |
| "range": ["PERS"] | |
| }, | |
| { | |
| "relation": "death_date", | |
| "domain": ["PERS"], | |
| "range": ["DATE"] | |
| }, | |
| { | |
| "relation": "birth_place", | |
| "domain": ["PERS"], | |
| "range": ["GPE", "LOC"] | |
| }, | |
| { | |
| "relation": "has_occupation", | |
| "domain": ["PERS"], | |
| "range": ["OCC"] | |
| }, | |
| { | |
| "relation": "has_conflict_with", | |
| "domain": ["ORG", "NORP", "GPE"], | |
| "range": ["ORG", "NORP", "GPE"] | |
| }, | |
| { | |
| "relation": "has_compititor", | |
| "domain": ["PERS", "ORG"], | |
| "range": ["PERS", "ORG"] | |
| }, | |
| { | |
| "relation": "has_partner_with", | |
| "domain": ["ORG"], | |
| "range": ["ORG"] | |
| }, | |
| { | |
| "relation": "president_of", | |
| "domain": ["PERS"], | |
| "range": ["ORG", "GPE"] | |
| }, | |
| { | |
| "relation": "leader_of", | |
| "domain": ["PERS"], | |
| "range": ["ORG"] | |
| }, | |
| { | |
| "relation": "geopolitical_division", | |
| "domain": ["GPE", "LOC"], | |
| "range": ["GPE", "LOC"] | |
| }, | |
| { | |
| "relation": "member_of", | |
| "domain": ["PERS"], | |
| "range": ["ORG", "NORP"] | |
| }, | |
| { | |
| "relation": "subsidary", | |
| "domain": ["ORG"], | |
| "range": ["ORG"] | |
| }, | |
| { | |
| "relation": "employee_of", | |
| "domain": ["PERS"], | |
| "range": ["ORG", "FAC"] | |
| }, | |
| { | |
| "relation": "student_at", | |
| "domain": ["PERS"], | |
| "range": ["ORG"] | |
| }, | |
| { | |
| "relation": "owner_of", | |
| "domain": ["PERS"], | |
| "range": ["ORG", "FAC"] | |
| }, | |
| { | |
| "relation": "inventor_of", | |
| "domain": ["PERS"], | |
| "range": ["PRODUCT"] | |
| }, | |
| { | |
| "relation": "manufacturer_of", | |
| "domain": ["ORG"], | |
| "range": ["PRODUCT"] | |
| }, | |
| { | |
| "relation": "builder_of", | |
| "domain": ["PERS", "NORP"], | |
| "range": ["FAC"] | |
| }, | |
| { | |
| "relation": "founder_of", | |
| "domain": ["PERS"], | |
| "range": ["ORG"] | |
| }, | |
| { | |
| "relation": "lives_in", | |
| "domain": ["PERS", "NORP"], | |
| "range": ["GPE", "LOC"] | |
| }, | |
| { | |
| "relation": "located_in", | |
| "domain": ["FAC", "ORG"], | |
| "range": ["GPE", "LOC"] | |
| }, | |
| { | |
| "relation": "headquartered_in", | |
| "domain": ["ORG"], | |
| "range": ["GPE", "LOC"] | |
| }, | |
| { | |
| "relation": "has_border_with", | |
| "domain": ["LOC", "GPE"], | |
| "range": ["LOC", "GPE"] | |
| }, | |
| { | |
| "relation": "nearby", | |
| "domain": ["GPE", "LOC", "ORG", "FAC"], | |
| "range": ["GPE", "LOC", "ORG", "FAC"] | |
| }, | |
| { | |
| "relation": "has_property", | |
| "domain": ["ORG"], | |
| "range": ["PRODUCT"] | |
| }, | |
| { | |
| "relation": "branch_count", | |
| "domain": ["ORG"], | |
| "range": ["CARDINAL"] | |
| }, | |
| { | |
| "relation": "has_revenue", | |
| "domain": ["ORG"], | |
| "range": ["MONEY"] | |
| }, | |
| { | |
| "relation": "employs", | |
| "domain": ["ORG"], | |
| "range": ["CARDINAL"] | |
| }, | |
| { | |
| "relation": "found_on", | |
| "domain": ["ORG"], | |
| "range": ["DATE", "TIME"] | |
| }, | |
| { | |
| "relation": "has_alternate_name", | |
| "domain": ["ORG", "FAC"], | |
| "range": ["ORG", "FAC"] | |
| }, | |
| { | |
| "relation": "has_area", | |
| "domain": ["GPE", "LOC"], | |
| "range": ["QUANTITY"] | |
| }, | |
| { | |
| "relation": "official_language", | |
| "domain": ["GPE", "LOC"], | |
| "range": ["LANGUAGE"] | |
| }, | |
| { | |
| "relation": "has_currency", | |
| "domain": ["GPE", "LOC"], | |
| "range": ["CURR"] | |
| }, | |
| { | |
| "relation": "has_population", | |
| "domain": ["GPE"], | |
| "range": ["CARDINAL"] | |
| }, | |
| { | |
| "relation": "capital_of", | |
| "domain": ["GPE"], | |
| "range": ["GPE"] | |
| } | |
| ] | |
| def build_relation_lookup(): | |
| relation_lookup = defaultdict(lambda: defaultdict(list)) | |
| for rel in relation_domain_range: | |
| for d in rel["domain"]: | |
| for r in rel["range"]: | |
| relation_lookup[d][r].append(rel["relation"]) | |
| return relation_lookup |