text: The foundation for RDF graphs are triples consisting of a subject, predicate, and object. This results in 
  what is called an undirected or network graph because objects can be subjects and vice versa. Whenever 
  you define a property in OWL you are defining a predicate. An individual can be a subject or an object 
  (or both). E.g., in our ontology Customer1 purchasedPizza AmericanaHotPizza1. In this example 
  Customer1 is the subject, purchasedPizza is the predicate and AmericanaHotPizza1 is the object. 
  
  However, classes and properties themselves are also represented as triples. So for example, when you 
  create the class Pizza what Protégé does for you is to add the triple: Pizza rdf:type owl:Class to 
  the ontology. I.e., the Pizza entity is of type (is an instance of) owl:Class. Similarly when you add 
  NamedPizza as a subclass of Pizza, Protégé adds the triple: NamedPizza rdfs:**s**ubClassOf 
  Pizza. 
  
  Hopefully, now you can make some sense of this initial query. The query is looking for all the entities 
  that are the subjects of triples where the predicate is rdfs:**s**ubClassOf and the object is any other 
  entity. The*?*before a name indicates that the name is a wildcard that can match anything that fits with the 
  rest of the pattern. This is part of the power of SPARQL, one can match a Subject, an Object, a Predicate 
  or even all three. Making all 3 parts of the pattern wildcards would return every triple in the graph (in this 
  case our entire Pizza ontology) being searched. You may notice that in some cases the object is simply the 
  name of a class while in others it is a class expression with an orange circle in front of it. This is because 
  when defining classes using DL axioms Protégé creates anonymous classes that correspond to various DL 
  axioms. 