Multiple objects vs. intersectionOf when defining subclasses

Hello,

When creating an ontology, I needed to assign multiple subclass relationships to one class. I came across two ways for how it can be represented and I would like to ask what the difference between the two is. I couldn't find the difference mentioned anywhere and I tried reasoning on some simple examples and got the same results. The first option is to assert all the subclass statements individually, the other option is to use intersectionOf. Examples:

1)
:Approver rdfs:subClassOf [
    a owl:Restriction ;
    owl:allValuesFrom :Request ;
    owl:onProperty :context
  ], [
    a owl:Restriction ;
    owl:allValuesFrom  schema:Person ;
   owl:onProperty :roleOf
  ] .

2)
:Approver rdfs:subClassOf [
    a owl:Class ;
    owl:intersectionOf ( [ a owl:Restriction ;
                          owl:allValuesFrom :Request ;
                           owl:onProperty :context ]
                         [ a owl:Restriction ;
                           owl:allValuesFrom schema:Person ;
                           owl:onProperty :roleOf ]
                       )
  ] .

Thank you in advance,
Jana
Notice:  This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (2000 Galloping Hill Road, Kenilworth,
New Jersey, USA 07033), and/or its affiliates Direct contact information
for affiliates is available at 
http://www.merck.com/contact/contacts.html) that may be confidential,
proprietary copyrighted and/or legally privileged. It is intended solely
for the use of the individual or entity named on this message. If you are
not the intended recipient, and have received this message in error,
please notify us immediately by reply e-mail and then delete it from 
your system.

Received on Wednesday, 3 July 2019 07:42:43 UTC