@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sdml: <http://sdml.io/sdml-owl.ttl#> .

example:
    sdml:hasSourceLocation [
        sdml:startLine 1 ;
        sdml:endLine 14 ;
        sdml:startColumn 1 ;
        sdml:endColumn 1 ;
        sdml:startByte 0 ;
        sdml:endByte 149 ;
    ] ;
    rdf:type
        owl:Ontology ,
        sdml:Module ;
    sdml:srcLabel "example" .

example:Car
    sdml:hasSourceLocation [
        sdml:startLine 3 ;
        sdml:endLine 5 ;
        sdml:startColumn 3 ;
        sdml:endColumn 6 ;
        sdml:startByte 21 ;
        sdml:endByte 64 ;
    ] ;
    rdf:type
        owl:Class ,
        sdml:Structure ;
    sdml:hasMember
        example:Car__engine ;
    sdml:srcLabel "Car" ;
    rdfs:isDefinedBy example: .

example:engine
    rdf:type
        rdf:Property ,
        sdml:Member ;
    rdfs:domain example:Car ;
    rdfs:range example:Engine ;
    sdml:srcLabel "engine" ;
    rdfs:isDefinedBy example: .

example:Engine
    sdml:hasSourceLocation [
        sdml:startLine 7 ;
        sdml:endLine 11 ;
        sdml:startColumn 3 ;
        sdml:endColumn 6 ;
        sdml:startByte 68 ;
        sdml:endByte 143 ;
    ] ;
    rdf:type
        owl:Class ,
        sdml:Union ;
    sdml:hasTypeVariant
        example:Engine__FourCylinder ,
        example:Engine__SixCylinder ,
        example:Engine__SixCylinderTurbo ;
    sdml:srcLabel "Engine" ;
    rdfs:isDefinedBy example: .

example:Engine__FourCylinder
    sdml:hasSourceLocation [
        sdml:startLine 8 ;
        sdml:endLine 8 ;
        sdml:startColumn 5 ;
        sdml:endColumn 17 ;
        sdml:startByte 88 ;
        sdml:endByte 100 ;
    ] ;
    rdf:type
        owl:Class ,
        sdml:TypeVariant ;
    rdfs:subClassOf example:Engine ;
    owl:equivalentClass example:FourCylinder ;
    sdml:srcLabel "Engine__FourCylinder" ;
    rdfs:isDefinedBy example: .

example:Engine__SixCylinder
    sdml:hasSourceLocation [
        sdml:startLine 9 ;
        sdml:endLine 9 ;
        sdml:startColumn 5 ;
        sdml:endColumn 16 ;
        sdml:startByte 105 ;
        sdml:endByte 116 ;
    ] ;
    rdf:type
        owl:Class ,
        sdml:TypeVariant ;
    rdfs:subClassOf example:Engine ;
    owl:equivalentClass example:SixCylinder ;
    sdml:srcLabel "Engine__SixCylinder" ;
    rdfs:isDefinedBy example: .

example:Engine__SixCylinderTurbo
    sdml:hasSourceLocation [
        sdml:startLine 10 ;
        sdml:endLine 10 ;
        sdml:startColumn 5 ;
        sdml:endColumn 21 ;
        sdml:startByte 121 ;
        sdml:endByte 137 ;
    ] ;
    rdf:type
        owl:Class ,
        sdml:TypeVariant ;
    rdfs:subClassOf example:Engine ;
    owl:equivalentClass example:SixCylinderTurbo ;
    sdml:srcLabel "Engine__SixCylinderTurbo" ;
    rdfs:isDefinedBy example: .

