From b599eb61baca5cd584be52b4721baa4f4be6a0dc Mon Sep 17 00:00:00 2001 From: Greg Stupp Date: Fri, 14 Jul 2017 10:37:56 -0700 Subject: [PATCH] change wdi_property_store.wd_properties core_id to bool --- wikidataintegrator/wdi_core.py | 20 ++-- wikidataintegrator/wdi_property_store.py | 140 +++++++++++------------ 2 files changed, 82 insertions(+), 78 deletions(-) diff --git a/wikidataintegrator/wdi_core.py b/wikidataintegrator/wdi_core.py index df14aad..536facb 100755 --- a/wikidataintegrator/wdi_core.py +++ b/wikidataintegrator/wdi_core.py @@ -337,7 +337,9 @@ def __select_wd_item(self): if wd_property in wdi_property_store.wd_properties: # check if the property is a core_id and should be unique for every WD item - if wdi_property_store.wd_properties[wd_property]['core_id'] == 'True': + assert all(isinstance(v['core_id'], bool) for k, v in wdi_property_store.wd_properties.items()), \ + "wd_properties 'core_id' must be a bool" + if wdi_property_store.wd_properties[wd_property]['core_id'] is True: tmp_qids = [] if not self.use_sparql: @@ -634,11 +636,11 @@ def __check_integrity(self): :return: boolean True if test passed """ # generate a set containing all property number of the item currently loaded - core_props_list = set([ - x.get_prop_nr() - for x in self.statements if x.get_prop_nr() in wdi_property_store.wd_properties and - wdi_property_store.wd_properties[x.get_prop_nr()]['core_id'] == 'True' - ]) + assert all(isinstance(v['core_id'], bool) for k,v in wdi_property_store.wd_properties.items()), \ + "wd_properties 'core_id' must be a bool" + core_props_list = set([x.get_prop_nr() for x in self.statements if + x.get_prop_nr() in wdi_property_store.wd_properties and + wdi_property_store.wd_properties[x.get_prop_nr()]['core_id'] is True]) # compare the claim values of the currently loaded QIDs to the data provided in self.data count_existing_ids = 0 @@ -1597,8 +1599,10 @@ def refs_equal(olditem, newitem): oldrefs = olditem.references newrefs = newitem.references - ref_equal = lambda oldref, newref: True if (len(oldref) == len(newref)) and all(x in oldref for x in newref) else False - if len(oldrefs) == len(newrefs) and all(any(ref_equal(oldref, newref) for oldref in oldrefs) for newref in newrefs): + ref_equal = lambda oldref, newref: True if (len(oldref) == len(newref)) and all( + x in oldref for x in newref) else False + if len(oldrefs) == len(newrefs) and all( + any(ref_equal(oldref, newref) for oldref in oldrefs) for newref in newrefs): return True else: return False diff --git a/wikidataintegrator/wdi_property_store.py b/wikidataintegrator/wdi_property_store.py index ba4be45..d935630 100755 --- a/wikidataintegrator/wdi_property_store.py +++ b/wikidataintegrator/wdi_property_store.py @@ -65,420 +65,420 @@ 'datatype': 'string', 'name': 'Drugbank ID', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P279': { 'datatype': 'item', 'name': 'subclass of', 'domain': ['generic'], - 'core_id': 'False' + 'core_id': False }, 'P31': { 'datatype': 'item', 'name': 'instance of', 'domain': ['generic', 'genomes', 'drugs'], - 'core_id': 'False' + 'core_id': False }, 'P636': { 'datatype': 'item', 'name': 'route of administration', 'domain': ['drugs'], - 'core_id': 'False' + 'core_id': False }, 'P267': { 'datatype': 'string', 'name': 'ATC code', 'domain': ['drugs'], - 'core_id': 'False' + 'core_id': False }, 'P231': { 'datatype': 'string', 'name': 'CAS registry number', 'domain': ['drugs'], - 'core_id': 'False' + 'core_id': False }, 'P486': { 'datatype': 'string', 'name': 'MeSH ID', 'domain': ['drugs', 'diseases'], - 'core_id': 'True' + 'core_id': True }, 'P672': { 'datatype': 'string', 'name': 'MeSH Code', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P662': { 'datatype': 'string', 'name': 'PubChem ID (CID)', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P661': { 'datatype': 'string', 'name': 'ChemSpider ID', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P652': { 'datatype': 'string', 'name': 'UNII', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P665': { 'datatype': 'string', 'name': 'KEGG ID', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P683': { 'datatype': 'string', 'name': 'ChEBI ID', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P274': { 'datatype': 'string', 'name': 'chemical formula', 'domain': ['drugs'], - 'core_id': 'False' + 'core_id': False }, 'P592': { 'datatype': 'string', 'name': 'ChEMBL ID', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P233': { 'datatype': 'string', 'name': 'SMILES', 'domain': ['drugs'], - 'core_id': 'False' + 'core_id': False }, 'P2017': { 'datatype': 'string', 'name': 'Isomeric SMILES', 'domain': ['drugs'], - 'core_id': 'False' + 'core_id': False }, 'P234': { 'datatype': 'string', 'name': 'InChI', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P235': { 'datatype': 'string', 'name': 'InChIKey', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P1805': { 'datatype': 'string', 'name': 'Word Health Organisation International Nonproprietary Name', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P657': { 'datatype': 'string', 'name': 'RTECS Number', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P595': { 'datatype': 'string', 'name': 'IUPHAR ID', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P2115': { 'datatype': 'string', 'name': 'NDF-RT NUI', 'domain': ['drugs'], - 'core_id': 'True' + 'core_id': True }, 'P699': { 'datatype': 'string', 'name': 'Disease Ontology ID', 'domain': ['diseases'], - 'core_id': 'True' + 'core_id': True }, 'P1550': { 'datatype': 'string', 'name': 'Orphanet ID', 'domain': ['diseases'], - 'core_id': 'True' + 'core_id': True }, 'P494': { 'datatype': 'string', 'name': 'ICD-10', 'domain': ['diseases'], - 'core_id': 'False' + 'core_id': False }, 'P493': { 'datatype': 'string', 'name': 'ICD-9', 'domain': ['diseases'], - 'core_id': 'False' + 'core_id': False }, 'P492': { 'datatype': 'string', 'name': 'OMIM', 'domain': ['diseases'], - 'core_id': 'True' + 'core_id': True }, 'P1395': { 'datatype': 'string', 'name': 'National Cancer Thesaurus ID', 'domain': ['diseases'], - 'core_id': 'True' + 'core_id': True }, 'P1748': { 'datatype': 'string', 'name': 'NCI Thesaurus ID', 'domain': ['diseases'], - 'core_id': 'True' + 'core_id': True }, 'P351': { 'datatype': 'string', 'name': 'Entrez Gene ID', 'domain': ['genes'], - 'core_id': 'True' + 'core_id': True }, 'P2393': { 'datatype': 'string', 'name': 'NCBI Locus tag', 'domain': ['genes'], - 'core_id': 'True' + 'core_id': True }, 'P3406': { 'datatype': 'string', 'name': 'Saccharomyces Genome Database ID', 'domain': ['genes'], - 'core_id': 'False' + 'core_id': False }, 'P703': { 'datatype': 'item', 'name': 'found in taxon', 'domain': ['genes', 'chromosome'], - 'core_id': 'False' + 'core_id': False }, 'P594': { 'datatype': 'string', 'name': 'Ensembl Gene ID', 'domain': ['genes'], - 'core_id': 'False' + 'core_id': False }, 'P704': { 'datatype': 'string', 'name': 'Ensembl Transcript ID', 'domain': ['genes'], - 'core_id': 'False' + 'core_id': False }, 'P353': { 'datatype': 'string', 'name': 'Human Gene symbol', 'domain': ['genes'], - 'core_id': 'True' + 'core_id': True }, 'P354': { 'datatype': 'string', 'name': 'HGNC symbol', 'domain': ['genes'], - 'core_id': 'True' + 'core_id': True }, 'P593': { 'datatype': 'string', 'name': 'homologene id', 'domain': ['genes'], - 'core_id': 'False' + 'core_id': False }, 'P639': { 'datatype': 'string', 'name': 'RefSeq RNA ID', 'domain': ['genes'], - 'core_id': 'True' + 'core_id': True }, 'P1057': { 'datatype': 'item', 'name': 'chromosome', 'domain': ['genes'], - 'core_id': 'False' + 'core_id': False }, 'P684': { 'datatype': 'item', 'name': 'ortholog', 'domain': ['genes'], - 'core_id': 'False' + 'core_id': False }, 'P638': { 'datatype': 'string', 'name': 'PDB ID', 'domain': ['proteins'], - 'core_id': 'False' + 'core_id': False }, 'P637': { 'datatype': 'string', 'name': 'Refseq Protein ID', 'domain': ['proteins'], - 'core_id': 'False' + 'core_id': False }, 'P352': { 'datatype': 'string', 'name': 'Uniprot ID', 'domain': ['proteins'], - 'core_id': 'True' + 'core_id': True }, 'P591': { 'datatype': 'string', 'name': 'EC Number', 'domain': ['proteins'], - 'core_id': 'False' + 'core_id': False }, 'P705': { 'datatype': 'string', 'name': 'Ensembl Protein ID', 'domain': ['proteins'], - 'core_id': 'False' + 'core_id': False }, 'P702': { 'datatype': 'item', 'name': 'Encoded By', 'domain': ['proteins'], - 'core_id': 'False' + 'core_id': False }, 'P18': { 'datatype': 'url', 'name': 'Protein Structure Image', 'domain': ['proteins'], - 'core_id': 'True' + 'core_id': True }, 'P671': { 'datatype': 'url', 'name': 'MGI', 'domain': ['genes'], - 'core_id': 'True' + 'core_id': True }, 'P644': { 'datatype': 'string', 'name': 'Genomic start position', 'domain': ['genes'], - 'core_id': 'False' + 'core_id': False }, 'P645': { 'datatype': 'string', 'name': 'Genomic end position', 'domain': ['genes'], - 'core_id': 'False' + 'core_id': False }, 'P688': { 'datatype': 'item', 'name': 'encodes', 'domain': ['genes', 'proteins'], - 'core_id': 'False' + 'core_id': False }, 'P225': { 'datatype': 'string', 'name': 'taxon name', 'domain': ['genomes'], - 'core_id': 'False' + 'core_id': False }, 'P685': { 'datatype': 'string', 'name': 'NCBI Taxonomy ID', 'domain': ['genomes'], - 'core_id': 'True' + 'core_id': True }, 'P171': { 'datatype': 'item', 'name': 'parent taxon', 'domain': ['genomes'], - 'core_id': 'False' + 'core_id': False }, 'P1065': { 'datatype': 'url', 'name': 'Archive url', 'domain': ['genomes'], - 'core_id': 'True' + 'core_id': True }, 'P856': { 'datatype': 'url', 'name': 'offical website', 'domain': ['genomes'], - 'core_id': 'False' + 'core_id': False }, 'P680': { 'datatype': 'item', 'name': 'molecular function', 'domain': ['proteins'], - 'core_id': 'False' + 'core_id': False }, 'P681': { 'datatype': 'item', 'name': 'cell component', 'domain': ['proteins'], - 'core_id': 'False' + 'core_id': False }, 'P682': { 'datatype': 'item', 'name': 'biological process', 'domain': ['proteins'], - 'core_id': 'False' + 'core_id': False }, 'P1554': { 'datatype': 'item', 'name': 'uberon id', 'domain': ['anatomical_structure', 'obo'], - 'core_id': 'False' + 'core_id': False }, 'P1709': { 'datatype': 'item', 'name': 'equivalent class', 'domain': ['genes', 'proteins', 'diseases', 'drugs', 'anatomical_structure'], - 'core_id': 'False' + 'core_id': False }, 'P686': { 'datatype': 'item', 'name': 'Gene Ontology ID', 'domain': ['obo'], - 'core_id': 'True' + 'core_id': True }, 'P2926': { 'datatype': 'string', 'name': 'InterPro ID', 'domain': ['interpro'], - 'core_id': 'True' + 'core_id': True }, 'P2870': { 'datatype': 'string', 'name': 'miRBase pre-miRNA ID', 'domain': ['microRNAs'], - 'core_id': 'True' + 'core_id': True }, 'P2871': { 'datatype': 'string', 'name': 'miRBase mature miRNA ID', 'domain': ['microRNAs'], - 'core_id': 'True' + 'core_id': True }, 'P2646': { 'datatype': 'string', 'name': 'mirTarBase ID', 'domain': ['microRNAs'], - 'core_id': 'True' + 'core_id': True }, 'P2249': { 'datatype': 'string', 'name': 'Refseq Genome ID', 'domain': ['chromosome'], - 'core_id': 'True' + 'core_id': True }, 'P698': { 'datatype': 'string', 'name': 'PubMed ID', 'domain': ['scientific_article'], - 'core_id': 'True' + 'core_id': True } }