a good rule is cichlids with cichlids, because they tend to be a little more than semi aggressive, and then it brakes down to size, i wouldn't keep a large semi aggressive fish with a tiny community fish. Semi-aggressive only means "i will eat fish that fit in my mouth" and community fish could care less
Sorry, but that is not quite true. Even generally peaceful fish labeled as community will eat fish that are small enough to fit in their mouth. Semi-aggressive can mean a variety of things. Some "semi-aggressive" fish are usually only aggressive towards their own kind or fish that look similar. Gourami's are a good example of fish that are usually aggressive towards their own kind.