OWL is the Web Ontology Language.

  1. Closed world assumption in OWL
  2. Inferring properties based on types in OWL
  3. OWL Functional Pygments Style

External references:

  1. Integrating Protege with SWRL/OWL rules into Java
  2. Pellet/OWL Tutorial
  3. Pellet/OWL Tutorial (2)

Data type cannot be the empty string

Works in Protege 4.0.

Declaration(Class(Page))
SubClassOf(Page Node)
SubClassOf(Page ObjectComplementOf(DataHasValue(name ""^^xsd:string)))

Declaration(DataProperty(name))
DataPropertyDomain(name Page)
DataPropertyRange(name xsd:string)

Declaration(Individual(ValidPage))
DataPropertyAssertion(name ValidPage "test")

Declaration(Individual(InvalidPage))
ClassAssertion(InvalidPage Page)
DataPropertyAssertion(name InvalidPage "")

Edge source cannot be Edge target

i.e., Edge.source != Edge.target. Works in Protege 4.0.

FunctionalObjectProperty(from)
ObjectPropertyDomain(from Wire)
ObjectPropertyRange(from Node)
DisjointObjectProperties(from to)

FunctionalObjectProperty(to)
ObjectPropertyDomain(to Wire)
ObjectPropertyRange(to Node)
DisjointObjectProperties(to from)

Declaration(Individual(InvalidSyncWire))
ClassAssertion(InvalidSyncWire SyncWire)
ObjectPropertyAssertion(to InvalidSyncWire NodeA)
ObjectPropertyAssertion(from InvalidSyncWire NodeA)

Declaration(Individual(NodeB))
ClassAssertion(NodeB Node)

Declaration(Individual(NodeA))
ClassAssertion(NodeA Node)