A system configured to calculate similarities between drugs and configured to use the similarities to extrapolate side effects of a specified drug, the system comprising: a similarity-computation apparatus configured to use open data to compute similarities between drugs, the apparatus comprising: a data integration module configured to obtain data related to a set of drugs from a plurality of open data sources and to integrate the data to generate RDF triples; an RDF module configured to store an RDF graph of the RDF triples; and a similarity calculation module configured to retrieve a list of all the drugs present in the RDF graph and to calculate the similarity of each drug with every other drug in the RDF graph; wherein the similarity calculation module is configured to find a set of predicates and objects/subjects of RDF triples in which, for each drug, the drug is a subject or an object respectively and to generate a feature vector from the predicates and objects/subjects representing the features of the drug, wherein the similarity calculation module is further configured to calculate the similarity of each drug with every other drug in the RDF graph by comparison of the feature vectors of the two drugs; wherein the similarity calculation module is configured to calculate the similarity between two drugs by taking into account the number of intersecting features of the feature vectors, in which the predicate and the subject or object is the same for both drugs; and wherein the similarity calculation module is configured to store the calculated similarities as drug-drug distances for the set of drugs in a similarity database to which the similarity-computation apparatus is connected; and a side effect determining apparatus configured to extrapolate side effects of a specified drug from open data related to the set of drugs, with: a connection to the similarity database; a user interface configured to allow a user to specify a drug from the set of drugs; a neighbours ranking module configured to use the drug similarities to obtain nearest neighbours of the specified drug in terms of the similarities; and a side effects propagation module configured to collect known side effects from the nearest neighbours and to combine and rank the side effects according to their co-occurrence among the neighbours. a similarity-computation apparatus configured to use open data to compute similarities between drugs, the apparatus comprising: a data integration module configured to obtain data related to a set of drugs from a plurality of open data sources and to integrate the data to generate RDF triples; an RDF module configured to store an RDF graph of the RDF triples; and a similarity calculation module configured to retrieve a list of all the drugs present in the RDF graph and to calculate the similarity of each drug with every other drug in the RDF graph; wherein a data integration module configured to obtain data related to a set of drugs from a plurality of open data sources and to integrate the data to generate RDF triples; an RDF module configured to store an RDF graph of the RDF triples; and a similarity calculation module configured to retrieve a list of all the drugs present in the RDF graph and to calculate the similarity of each drug with every other drug in the RDF graph; wherein the similarity calculation module is configured to find a set of predicates and objects/subjects of RDF triples in which, for each drug, the drug is a subject or an object respectively and to generate a feature vector from the predicates and objects/subjects representing the features of the drug, wherein the similarity calculation module is further configured to calculate the similarity of each drug with every other drug in the RDF graph by comparison of the feature vectors of the two drugs; wherein the similarity calculation module is configured to calculate the similarity between two drugs by taking into account the number of intersecting features of the feature vectors, in which the predicate and the subject or object is the same for both drugs; and wherein the similarity calculation module is configured to store the calculated similarities as drug-drug distances for the set of drugs in a similarity database to which the similarity-computation apparatus is connected; and a side effect determining apparatus configured to extrapolate side effects of a specified drug from open data related to the set of drugs, with: a connection to the similarity database; a user interface configured to allow a user to specify a drug from the set of drugs; a neighbours ranking module configured to use the drug similarities to obtain nearest neighbours of the specified drug in terms of the similarities; and a side effects propagation module configured to collect known side effects from the nearest neighbours and to combine and rank the side effects according to their co-occurrence among the neighbours. a connection to the similarity database; a user interface configured to allow a user to specify a drug from the set of drugs; a neighbours ranking module configured to use the drug similarities to obtain nearest neighbours of the specified drug in terms of the similarities; and a side effects propagation module configured to collect known side effects from the nearest neighbours and to combine and rank the side effects according to their co-occurrence among the neighbours.