cyberandy commited on
Commit
9d9274e
1 Parent(s): 4ac935a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -3
app.py CHANGED
@@ -71,12 +71,14 @@ def get_wikidata_id(entity_string):
71
 
72
  def get_entity_data(entity_link):
73
  try:
74
- response = requests.get(f'https://api.wordlift.io/id/{entity_link}')
 
 
75
  return response.json()
76
  except Exception as e:
77
  print(f"Exception when fetching data for entity: {entity_link}. Exception: {e}")
78
  return None
79
-
80
  # Create the form
81
  with st.form(key='my_form'):
82
  text_input = st.text_area(label='Enter a sentence')
@@ -127,6 +129,10 @@ if text_input:
127
 
128
  # Replace each entity in the text with its annotated version
129
  for entity_string, entity_info in entities_map.items():
 
 
 
 
130
  entity_data = entities_data.get(entity_string, None)
131
  entity_type = None
132
  if entity_data is not None:
@@ -152,7 +158,8 @@ if text_input:
152
 
153
  # Add the entity to JSON-LD data
154
  entity_json_ld = combined_entity_info_dictionary[entity_string][1]
155
- json_ld_data["mentions"].append(entity_json_ld)
 
156
 
157
  # Split the modified text_input into a list
158
  text_list = text_input.split("{")
 
71
 
72
  def get_entity_data(entity_link):
73
  try:
74
+ # Ensure that the URL format is correct
75
+ formatted_link = entity_link.replace("https://", "").replace("http://", "")
76
+ response = requests.get(f'https://api.wordlift.io/id/{formatted_link}')
77
  return response.json()
78
  except Exception as e:
79
  print(f"Exception when fetching data for entity: {entity_link}. Exception: {e}")
80
  return None
81
+
82
  # Create the form
83
  with st.form(key='my_form'):
84
  text_input = st.text_area(label='Enter a sentence')
 
129
 
130
  # Replace each entity in the text with its annotated version
131
  for entity_string, entity_info in entities_map.items():
132
+ # Check if the entity has a valid Wikidata link
133
+ if entity_info["link"] is None or entity_info["link"] == "None":
134
+ continue # skip this entity
135
+
136
  entity_data = entities_data.get(entity_string, None)
137
  entity_type = None
138
  if entity_data is not None:
 
158
 
159
  # Add the entity to JSON-LD data
160
  entity_json_ld = combined_entity_info_dictionary[entity_string][1]
161
+ if entity_json_ld and entity_json_ld.get("link") != "None":
162
+ json_ld_data["mentions"].append(entity_json_ld)
163
 
164
  # Split the modified text_input into a list
165
  text_list = text_input.split("{")