Q:

What's the Relationship Between Fetch and One Way Relationship in Core Data?

Why "Fetch" means one way relationship
What is the relation between fetch and one way?

A:

Well, I'm not sure I understand your question, but I'll try and answer in the context of a simple domain model.
Let's say you have a Person class and a Computer class, both extend NSManagedObject.  Person is linked to Computer via a one-way relationship, a NSSet named computers.
This would allow you to say in your code:
Person *person = // ... (loaded from database)
NSSet *computers = person.computers;
for (Computer *computer : computers) {
   // do something fun
}

However, since it's a one-way relationship, you would not be able to do this:
Computer *computer = // loaded from DB
Person *person = computer.person;  // This line won't work

Therefore, since it won't work -- there's no backwards relationship --  the only way to get the related Person class would be to build a Fetch Request to query the database and find the Person instances that have the Computer as a member.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSPredicate *predicate = // define your NSPredicate to find the Person object here
[fetchRequest setPredicate:predicate];
NSError *error = nil;
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];

Generally speaking, that's annoying.   So, it's generally a good idea to define your relationships bi-directionally (e.g. with inverse) if possible, that would enable you to just do:
Person *person = computer.person;

