Ontology OntoJogo concepts { Available , Character_Choice , Ending , Game [ name : string , description: string , age_rating: enum(3, 7, 12, 16 , 18 ), storyline: enum( 'realworld' , 'fiction' , 'null' ) ] , Game_Mode, Gaming_Platform , Genre , Information , Input , Player_Number , Player_Perspective , Progression, Story } individuals{ Digital_Offline, Digital_Online, Non_Digital, Costumization, Default, Selection, Multiple, Sandbox, Singular, Casual , Competitive, Cooperative, Console , Mobile , PC, Portable_Console , Action, Adventure, Arcade, Board, Cards, Dice , Educational , Fighting, Music, Paper_and_Pen, Platform, Puzzle , Racing, Role_Playing, Rhythm, Saloon, Shooter, Simulation, Sports, Strategy , Survival, Table, Hidden, Perfect , Controller, Keyboard, Mouse, Movement_Based , Touch , Voice_Based, Multiplayer , Single_Player , First_Person, Third_Person , Level_Based , Linear , Open, Tree, Character_Driven, Complementary, Plot_Driven, Chess, LightBot } relationships{ belongs_to_genre [domain: Game, codomain: Genre], belongs_to_platform [domain: Game, codomain: Gaming_Platform], has_information [domain: Game, codomain: Information], has_mode [domain: Game, codomain: Game_Mode], has_perspective [domain: Game, codomain: Player_Perspective], has_player_number [domain: Game, codomain: Player_Number], has_progression [domain: Game, codomain: Progression], has_story [domain: Game, codomain: Story], involves_character_choice [domain: Game, codomain: Character_Choice], is_available [domain: Game, codomain: Available], with_ending [domain: Game, codomain: Ending], with_input [domain: Game, codomain: Input] } triples { Multiplayer = iof => Player_Number; Single_Player = iof => Player_Number; Competitive = iof => Game_Mode; Cooperative = iof => Game_Mode; Casual = iof => Game_Mode; First_Person = iof => Player_Perspective; Third_Person = iof => Player_Perspective; Keyboard = iof => Input; Controller = iof => Input; Movement_Based = iof => Input; Voice_Based = iof => Input; Mouse = iof => Input; Touch = iof => Input; Linear = iof => Progression; Level_Based = iof => Progression; Open = iof => Progression; Tree = iof => Progression; Default = iof => Character_Choice; Costumization = iof => Character_Choice; Selection = iof => Character_Choice; Singular = iof => Ending; Multiple = iof => Ending; Sandbox = iof => Ending; Board = iof => Genre; Strategy = iof => Genre; Educational = iof => Genre; Puzzle = iof => Genre; Action = iof => Genre; Adventure = iof => Genre; Arcade = iof => Genre; Cards = iof => Genre; Dice = iof => Genre; Fighting = iof => Genre; Music = iof => Genre; Paper_and_Pen = iof => Genre; Platform = iof => Genre; Racing = iof => Genre; Role_Playing = iof => Genre; Rhythm = iof => Genre; Saloon = iof => Genre; Shooter = iof => Genre; Simulation = iof => Genre; Sports = iof => Genre; Survival = iof => Genre; Table = iof => Genre; Console = iof => Gaming_Platform; Mobile = iof => Gaming_Platform; PC = iof => Gaming_Platform; Portable_Console = iof => Gaming_Platform; Non_Digital = iof => Available; Digital_Offline = iof => Available; Digital_Online = iof => Available; Perfect = iof => Information; Hidden = iof => Information; Character_Driven = iof => Story; Complementary = iof => Story; Plot_Driven = iof => Story; Chess = iof => Game [ name= 'Chess', description= 'Chess is a two_player board game played on a checkered board, where the goal is to kill the king of the opponent.', age_rating=3, storyline='null']; Chess = is_available => Non_Digital; Chess =with_ending=> Singular; Chess =has_mode=> Competitive; Chess =belongs_to_genre=> Board ; Chess =belongs_to_genre=> Strategy ; Chess =has_information=> Perfect; Chess =has_player_number=> Multiplayer; LightBot = iof => Game [ name= ' LightBot: Code Hour' , description= 'Lightbot is a mobile game for learning software programming concepts.', age_rating=3 , storyline= 'null' ] ; LightBot =is_available => Digital_Offline ; LightBot =involves_character_choice=> Default ; LightBot =with_ending=> Singular ; LightBot =has_mode=> Casual ; LightBot =belongs_to_platform=> Mobile ; LightBot =belongs_to_genre=> Educational ; LightBot =belongs_to_genre=> Puzzle ; LightBot =with_input=> Touch ; LightBot =has_player_number=> Single_Player ; LightBot =has_perspective=> Third_Person ; LightBot =has_progression=> Level_Based ; LightBot =has_progression=> Linear } restrictions { G =belongs_to_platform=> P :- G =is_available=> A, (A==Digital_Offline; A==Digital_Online) . G =with_input=> I :- G = is_available => A , (A == Digital_Offline; A == Digital_Online) . G = is_available=> A :- ( A == Non_Digital, A \= Digital_Offline, A\=Digital_Online); ((A==Digital_Offline; A== Digital_Online), A\=Non_Digital). }.