CTM comparison

Since it is difficult to discuss the advantages and disadvantages of the pre-Kyoto and post-Kyoto proposals, here a comparison based on our CTM Use Cases

Note, this comparison is incomplete and has no official status.

Changes:

UCpre-Kyotopost-Kyoto
3.2.1.
john .
                    
john {}
                    
3.2.2.
john isa person .
                    
john { isa person ; }
                    
3.2.3. a)
john isa http://psi.example.org/music/guitarist .
                    
john { isa = http://psi.example.org/music/guitarist ; }

                    
3.2.3. b)
%prefix music http://psi.example.org/music/

john isa music:guitarist .
                    
%prefix music = http://psi.example.org/music/

john { isa music:guitarist ; }
                    
3.2.4.
john 
    isa singer 
    isa guitarist .
                    
john { 
    isa singer ; 
    isa guitarist;
    }
                    
3.2.5.
http://psi.example.org/beatles/john 
    isa singer 
    isa guitarist .
                    
= http://psi.example.org/beatles/john { 
    isa singer ; 
    isa guitarist;
    }
                    
3.3.1.
john - "John Lennon" .
                    
john  { - "John Lennon" ; }
                    
3.3.2.
%prefix beatles http://psi.beatles.example.org/

beatles:The_Beatles - "The Beatles".
                    
%prefix beatles = http://psi.beatles.example.org/

beatles:The_Beatles { - "The Beatles" ; }
                    
3.3.3.
= http://beatles.com/ 
    - "Official website of The Beatles" .
                    
~ http://beatles.com/ { 
    - "Official website of The Beatles"; 
}
                    
3.3.4.
john - fullname: "John Ono Lennon" .
                    
john { - fullname "John Ono Lennon"; }
                    
3.3.5.
john 
    - <http://psi.example.org/fullname>: "John Ono Lennon" .
                    
john { 
    - = http://psi.example.org/fullname "John Ono Lennon"; 
}
                    
3.3.6.
john - "John Ono Lennon" @fullname .
                    
john { - "John Ono Lennon" @fullname; }
                    
3.3.7.
%prefix ex http://blabla.org

john - "John Ono Lennon" @ex:fullname .
                    
%prefix ex = http://blabla.org

john { - "John Ono Lennon" @ex:fullname ; }
                    
3.3.8.
beatles 
    - "The Beatles"
    - "Fab Four" @nickname, short .
                    
beatles {
    - "The Beatles";
    - "Fab Four" @nickname short; 
    }
                    
3.3.9.
john - fullname: "John Ono Lennon" @yoko .
                    
john { - fullname "John Ono Lennon" @yoko; }
                    
3.3.10.
john - "John Lennon" ("lennon, john" @tm:sort) .
                    
john { - "John Lennon" ("lennon, john" @tm:sort); }
                    
3.3.11.
john - "John Lennon"  ("<b>John Lennon</b>"^^xs:anyType @markup).

                    
john { - "John Lennon"  ("<b>John Lennon</b>"^^xs:anyType @markup) ; }
                    
3.3.12.
john - "John Lennon" (http://link/to/an/image.jpg @image) .
                    
john { - "John Lennon" (<http://link/to/an/image.jpg> @image); }
                    
3.3.14.
# Creating the templates
def has-shoesize($person, $size)
    $person 
    shoesize: $size .   # Shoesize is modelled as occurrence
end

def is-member-of($member, $group)
    is-member-of(member: $member, group: $group)
end


http://psi.example.org/beatles/paul 
    isa person
    has-shoesize(45)
    is-member-of(the-beatles)
    homepage: http://www.paulmccartney.com/ .
                    
                    
!! Creating the templates
%define has-shoesize($person, $size) {
    $person {
        shoesize $size;     !! Shoesize is modelled as occurrence
    }
}

%define is-member-of($member, $group) {
    is-member-of(member $member, group $group)
}


= http://psi.example.org/beatles/paul {
    isa person;
    has-shoesize(45);
    is-member-of(the-beatles);
    homepage <http://www.paulmccartney.com/> ;
}