title: What is the difference between DatatypeProperty, ObjectProperty, & FunctionalProperty, and when should I use them?
body: <p>When writing an ontology, there are several very commonly used types, including:</p>
  
  <ul>
  <li>DatatypeProperty</li>
  <li>ObjectProperty</li>
  <li>FunctionalProperty</li>
  <li>InverseFunctionalProperty</li>
  </ul>
  
  <p>The first three kinda look like they'd be used in a particular set of ways, but I find my idea of them being challenged by how I've seen them used in FOAF.</p>
  
  <p>When should each of them be used or not be used?</p>