-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathEntitiy.py
35 lines (28 loc) · 1.66 KB
/
Entitiy.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Entity:
local_id: str # local identifier of the entity, if possible geonameID or GND, otherwise random UUID
def __init__(self, text, label, start_char=0, end_char=0, wiki_id="", lang="en", iri='', document=''):
self.label = label # named entity label: GPE, LOC, PERSON
self.text = text # named entity text
self.start_char = start_char # start character of the named entity in the text
self.end_char = end_char # end character of the named entity in the text
self.language = lang # text language
self.wiki_id = wiki_id # URL of the wikidata record
self.iri = iri
self.document = document
class GeoEntity(Entity):
def __init__(self, text, label, start_char=0, end_char=0, wiki_id="", lang="en", iri='', document='',
geoname_id=""):
super().__init__(text, label, start_char, end_char, wiki_id, lang, iri, document)
self.geoNameID = geoname_id # GeoName ID of the location extracted from wikidata
self.local_id = self.geoNameID
class PersonEntity(Entity):
def __init__(self, text, label, start_char=0, end_char=0, wiki_id="", lang="en", iri='', document='', gnd="",
given_name="", family_name="", gender=""):
super().__init__(text, label, start_char, end_char, wiki_id, lang, iri, document)
self.gnd = gnd # GND number of the person extracted from wikidata
self.givenName = given_name # Given name of the person extracted from wikidata
self.familyName = family_name # Family name of the person extracted from wikidata
self.gender = gender
self.local_id = self.gnd
if __name__ == '__main__':
pass