%%information
This demo is in an early stage, please add more explanations
/%

In this demo, we create a simple ontology about movies and its characters and add the movies "KickAss" and "KickAss2" as an example.

!Classes
%%Class 
Character
SuperHero

Movie
SuperHeroMovie
%

!Relations
%%relation 
SuperHero rdfs:subClassOf Character
SuperHeroMovie rdfs:subClassOf Movie
%

!Individuals/Instances
%%Individual
KickAss The Movie
KickAss2 The Movie
@type SuperHeroMovie
%

%%Individual
KickAss
Hit-Girl
Night Bitch
Motherfucker
Mother Russia
Black Death
Bad Ass Warrior
Red Mist
@type SuperHero
%

!Properties
%%ObjectProperty
characterIn
@domain: Character
@range: Movie
%

%%ObjectProperty
superHeroCharacterIn
@domain: SuperHero
@range: Movie
%

%%ObjectProperty
hasSuperHeroCharacter
@range: SuperHero
@domain: Movie
%

!Relations between properties

%%relation hasSuperHeroCharacter owl:inverseOf superHeroCharacterIn

%%relation superHeroCharacterIn rdfs:subPropertyOf characterIn

!Defining Individual relations


%%turtle
"KickAss2 The Movie" hasSuperHeroCharacter:: KickAss, 
	Hit-Girl, 
	Night Bitch, 
	Mother Russia,
	Motherfucker, 
	Black Death, 
	Bad Ass Warrior 
%

%%turtle
"KickAss The Movie" hasSuperHeroCharacter:: KickAss, 
	Hit-Girl, 
	Red Mist
%

!Querys to our ontology

Show all known characters and the movies they play in.


%%sparql
SELECT ?Character ?Movie 
WHERE {
  ?Character rdf:type lns:Character .
  ?Character lns:characterIn ?Movie
}
ORDER BY ?Movie ?Character
@zebramode: true
@package: ontology
%




Show the characters that play in both movies

%%sparql
SELECT ?Character WHERE {
	?Character lns:characterIn <lns:KickAss+The+Movie> . 
	?Character lns:characterIn <lns:KickAss2+The+Movie>}
@master: Demo - Ontology
%




!Ontology definition

%%Ontology 
  @uses: ontology
%

%%Package ontology

%%renderKDOM

%