Closed julesjacobsen closed 7 years ago
One question on naming. Should .loadDataFromMap(data)
really be loadIndividuals
? We still have no way of importing labels and presumably this requires different OWLAPI calls.
individualAssociations would be more precise
We need the label loading to get human-friendly results returned. Some clients will have their own way of doing a lookup, others will rely on the service
addAxiom(df.getOWLAnnotationAssertionAxiom(df.getRDFSLabel(),
ind.getIRI(), df.getOWLLiteral(label))
OK so these methods need to change their signatures too. Here 'data' means 'individualAssociations'. Does this make sense for loadDataFromOntology
be changed to loadIndividualAssociationsFromOntology
given these are actually just being merged? Should there just be a single set of loadOntology or loadInstancedOntology?
public Loader loadDataFromOntology(String path) {
sourceDataBuilder.dataOntology(path);
return this;
}
public Loader loadDataFromOntologies(String... paths) {
sourceDataBuilder.dataOntologies(paths);
return this;
}
public Loader loadDataFromOntologies(Collection<String> paths) {
sourceDataBuilder.dataOntologies(paths);
return this;
}
public Loader loadDataFromTsv(String path) {
sourceDataBuilder.dataTsv(path);
return this;
}
public Loader loadDataFromTsv(String... paths) {
sourceDataBuilder.dataTsv(paths);
return this;
}
public Loader loadDataFromTsv(Collection<String> paths) {
sourceDataBuilder.dataTsv(paths);
return this;
}
public Loader loadDataFromMap(Map<String, ? extends Collection<String>> data) {
sourceDataBuilder.data(data);
return this;
}
@cmungall / @jnguyenx can you comment on this further or merge this please. We can add the labels in another PR.
I think it is good. Thanks. Can't test this right now.
OK, cheers for looking. @drseb I think this should make it possible to do what you need. If not, open another ticket.
Thanks. I will test ASAP
Fix for @drseb in issue #57 enabling individuals data to be loaded into the knowledgebase from a
Map
rather than off disk.