In a secons step we add icons to define classes, instances etc.

The script semAuth.xsl exports this map snippet into the following code snippet:

|
turtle: ex#Author rdfs:subClassOf ex#Person . ex#Stanislav_Lem : ex#Author . turtle: ex#Stanislav_Lem rdf:type ex#Author . ex#Stanislav_Lem [ ex#isAuthorOf -> ex#The_Cyberiad ] . turtle: ex#Isaac_Asimov rdf:type ex#Person . ex#Isaac_Asimov [ ex#isAuthorOf -> ex#I_Robot ] . ex#'Tobias Findeisen' : ex#Person . turtle: ex#'Tobias Findeisen' rdf:type ex#Person . |
ex#Book :: ex#Document . turtle: ex#Book rdfs:subClassOf ex#Document . ex#Story :: ex#Document . turtle: ex#Story rdfs:subClassOf ex#Document . turtle: ex#The_Cyberiad rdf:type ex#Story . ex#I_Robot : ex#Story . turtle: ex#I_Robot rdf:type ex#Story . |



doesn't produce OBL code. This is ok, because we haven't defined a code generation rule for a (i) (->) (C) chain.
ex#machine :: ex#artefact . turtle: ex#machine rdfs:subClassOf ex#artefact . ex#vehicle :: ex#machine . turtle: ex#vehicle rdfs:subClassOf ex#machine . ex#robot :: ex#machine . turtle: ex#robot rdfs:subClassOf ex#machine . ex#'human robot' :: ex#robot . turtle: ex#'human robot' rdfs:subClassOf ex#robot . |
Well known problem: As discussed in
Representing Classes As Property Values on the Semantic Web,
naive modellers typically choose an OWL Full modelling pattern when they solve our example the first time.