Is it possible to use "and", "or" "not" as relation/predicate in an ontology? In order to represent causality?
The ontologies that are used today are mostly based on Description Logics (DLs). The basic building blocks of DLs consists of concepts and relationships between concepts where a concept represents a set of individuals (elements) and a relationship states that an individual of one set is related to an individual of another set. 

A good book in this regards is An Introduction to Description Logics. There are different DLs with different expressivities and indeed many DLs exist that allow for negation and relations. A freely available tool for creating ontologies is Protege.

The &lt;s,p,o&gt; you refer to is related to RDF data and RDFS which do not support negation. Roughly RDFS (similar to relational DB schemas) can be seen as defining the schema and RDF as defining the data (similar to the data of a relational database). 

How to design what you require depends on the inferences you want to make from your ontology. Since you don't want to reason over the ontology, you can really model this however you want. Though I am wondering whether using an ontology is the most appropriate if you do not intent do any reasoning.

Option 1: Using concepts

Class: D
  EquivalentTo: A or B
  SubClassOf: C


This will result in any individual belonging to A or B to be inferred to belong to C as well. Concept D is introduced to provide a name for the concept A or B.

Option 2: Using Relations

Class: D
  EquivalentTo: A or B

ObjectProperty causes:
  Domain: D
  Range: C


This will result in the inference that whenever two individuals a and b are related via causes (written as causes(a, b)), it will infer that a belongs to D and b belongs to C.

On my blog I have a few posts that give some explanations wrt ontologies as well as some examples.