private boolean keepEntity(WikidataEntity entity) { if (entity.getType() == WikidataEntity.Type.PROPERTY) { return true; } else if (universalIds.contains(entity.getId())) { return true; } else if (keepAllLabeledEntities && !entity.getLabels().isEmpty()) { return true; } else { return false; } }
private boolean keepEntity(WikidataEntity entity) { if (entity.getType() == WikidataEntity.Type.PROPERTY) { return true; } else if (universalIds.contains(entity.getId())) { return true; } else if (keepAllLabeledEntities && !entity.getLabels().isEmpty()) { return true; } else { return false; } }
@Override public Set<Integer> conceptsWithValue(String propertyName, WikidataValue value) throws DaoException { Set<Integer> concepts = new HashSet<Integer>(); for (WikidataStatement st : getByValue(propertyName, value)) { if (st.getItem().getType() == WikidataEntity.Type.ITEM) { concepts.add(st.getItem().getId()); } } return concepts; }
@Override public Set<Integer> conceptsWithValue(String propertyName, WikidataValue value) throws DaoException { Set<Integer> concepts = new HashSet<Integer>(); for (WikidataStatement st : getByValue(propertyName, value)) { if (st.getItem().getType() == WikidataEntity.Type.ITEM) { concepts.add(st.getItem().getId()); } } return concepts; }
@Override public void save(WikidataEntity entity) throws DaoException { for (Map.Entry<Language, String> entry : entity.getLabels().entrySet()) { labelLoader.load(entity.getType().code, entity.getId(), entry.getKey().getId(), entry.getValue()); } for (Map.Entry<Language, String> entry : entity.getDescriptions().entrySet()) { descLoader.load(entity.getType().code, entity.getId(), entry.getKey().getId(), entry.getValue()); } for (Map.Entry<Language, List<String>> entry : entity.getAliases().entrySet()) { for (String alias : entry.getValue()) { aliasLoader.load(entity.getType().code, entity.getId(), entry.getKey().getId(), alias); } } for (WikidataStatement stmt : entity.getStatements()) { save(stmt); } if (entity.getType() == WikidataEntity.Type.PROPERTY) { synchronized (properties) { properties.put(entity.getId(), entity); } } }
@Override public void save(WikidataEntity entity) throws DaoException { for (Map.Entry<Language, String> entry : entity.getLabels().entrySet()) { labelLoader.load(entity.getType().code, entity.getId(), entry.getKey().getId(), entry.getValue()); } for (Map.Entry<Language, String> entry : entity.getDescriptions().entrySet()) { descLoader.load(entity.getType().code, entity.getId(), entry.getKey().getId(), entry.getValue()); } for (Map.Entry<Language, List<String>> entry : entity.getAliases().entrySet()) { for (String alias : entry.getValue()) { aliasLoader.load(entity.getType().code, entity.getId(), entry.getKey().getId(), alias); } } for (WikidataStatement stmt : entity.getStatements()) { save(stmt); } if (entity.getType() == WikidataEntity.Type.PROPERTY) { synchronized (properties) { properties.put(entity.getId(), entity); } } }
@Override public LocalWikidataStatement getLocalStatement(Language language, WikidataStatement statement) throws DaoException { language = getRealLang(language ); String item = getLabel(language, statement.getItem().getType(), statement.getItem().getId()); String prop = getLabel(language, statement.getProperty().getType(), statement.getProperty().getId()); String value = null; WikidataValue wdv = statement.getValue(); if (wdv.getType() == WikidataValue.Type.ITEM) { value = getLabel(language, WikidataEntity.Type.ITEM, wdv.getItemValue()); } else if (wdv.getValue() == null) { value = "unknown"; } else { value = wdv.getValue().toString(); } String full = item + " " + prop + " " + value; return new LocalWikidataStatement(language, statement, full, item, prop, value); }
@Override public LocalWikidataStatement getLocalStatement(Language language, WikidataStatement statement) throws DaoException { language = getRealLang(language ); String item = getLabel(language, statement.getItem().getType(), statement.getItem().getId()); String prop = getLabel(language, statement.getProperty().getType(), statement.getProperty().getId()); String value = null; WikidataValue wdv = statement.getValue(); if (wdv.getType() == WikidataValue.Type.ITEM) { value = getLabel(language, WikidataEntity.Type.ITEM, wdv.getItemValue()); } else if (wdv.getValue() == null) { value = "unknown"; } else { value = wdv.getValue().toString(); } String full = item + " " + prop + " " + value; return new LocalWikidataStatement(language, statement, full, item, prop, value); }
@Override public void save(WikidataStatement item) throws DaoException { insert( item.getId(), item.getItem().getType().code, item.getItem().getId(), item.getProperty().getId(), item.getValue().getTypeName().toLowerCase(), encodeValue(item.getValue()), item.getRank().ordinal() ); }
@Override public void save(WikidataStatement item) throws DaoException { insert( item.getId(), item.getItem().getType().code, item.getItem().getId(), item.getProperty().getId(), item.getValue().getTypeName().toLowerCase(), encodeValue(item.getValue()), item.getRank().ordinal() ); }