1. A method performed on a computer for data searching, comprising: collecting data utilizing a computer network; parsing the data by language type; expanding the data using off-line ontological semantics; categorizing the data and expanded data by anticipated queries; a processor scoring the data and the expanded data based on anticipated queries; receiving a query; parsing the query for question type and expanding the query using ontological semantics and; comparing the parsed and expanded user query with the anticipated queries; and providing the matching data and the expanded data based in part on the comparison by adding a weight for each word and dividing by a total number of words, wherein the scoring is calculated such that Sx = ∑ i = 1 , M ⁢ ⁢ R i ⁢ W i ∑ i = 1 , M ⁢ ⁢ W i ≤ 1.0 wherein M is a number of significant words in the data, R is 1 for each word found in the data, and 0 otherwise, W is the weight for each word and S x is a presence score; storing the data and the expanded data based on anticipated queries; receiving a query; parsing the query for question type and expanding the query using ontological semantics; the processor comparing the parsed and expanded user query with the anticipated queries; and providing the matching data and the expanded data based in part on the comparison.