def exec_instance_inference(self, original_uri, uri_list=[], overwrite=False): """ uri (string): ontology uri uri_list (string[]): list of import uri overwrite (boolean): if True overwrite previously inferred data Returns: list of inferred statements about selected instance document """ if (original_uri is None) or (original_uri==''): return None cmd=[] output=StringWriter() # I know it this UGLY, but if it works... cmd.append('cwm') cmd.append('--rdf') cmd.append(self.__find_location(original_uri)) for i in uri_list: cmd.append(self.__find_location(i)) if self.isPresent(self.__inf_prefix+i): cmd.append(self.__find_location(self.__inf_prefix+i)) cmd.append('--n3') cmd.append(self.owl_classes) cmd.append(self.xsd_classes) cmd.append(self.rdfs_classes) cmd.append('--filter='+self.instance_rules) cmd.append('--rete') cmd.append('--ugly') cmd.append('--purge') cmd.append('--rdf') print "Executing inference on document %s"%original_uri swap.cwm.doCommand(cmd,output) cwm_out=output.getContent() if (cwm_out is None) or (cwm_out==[]): return None return self.parser.parse_string_as_stream(cwm_out,original_uri)
else: if verbosity()>5: progress("Begining output.") workingContext = workingContext.close() assert workingContext.canonical != None if option_outputStyle == "-ugly": _store.dumpChronological(workingContext, _outSink) elif option_outputStyle == "-bySubject": _store.dumpBySubject(workingContext, _outSink) elif option_outputStyle == "-no": pass elif option_outputStyle == "-debugString": print workingContext.debugString() else: # "-best" _store.dumpNested(workingContext, _outSink, flags=option_flags[option_format]) ############################################################ Main program if __name__ == '__main__': import os outString=StringWriter() doCommand(sys.argv,outString) out_string=outString.getContent() if not (out_string is None): print out_string