Research Article

OWL Reasoning Framework over Big Biological Knowledge Network

Algorithm 3

Efficient OWL reasoning algorithm based on MapReduce.
Map(key, value)
key:linenumber(irrelevant)
value:instance triple
= ·getPID( ·predicate);
get the PID of the triple
If     then
   return;
end if
if    then
   emit(null, triple);
   return;
end if
if    then
    =( )+“_”+ ·getSubject();
else
    = +“_”+ ·getObject();
end if
emit( , );
Reduce(key, value)
key:join key
value:triple
= empty;
= empty;
=PCS·length;
for each   do
    = ·getPID( ·predicate);
   if    then
     ·add( ·subject);
   else
     ·add( ·object);
   end if
end for
=ComputeOPC();
for each   do
   for each   do
    emit(null, triple( , , ));
   end for
end for