Previous topic  Top  Next topic  Print this Topic
 

Namespaces

 
Used to distinguish same terms with different semantic
E.g. if two different domains speak about „Jaguar“ (in this case the domain cars and animals) you must be able to use the term „Jaguar“ for both but still be able to distinguish one from the other

Sample:

<http://www.carsoftheworld.com#Jaguar>[].

<http://www.animalsoftheworld#Jaguar>[].

 

In ObjectLogic files you may define a default prefix and any number of named prefixes

:- default prefix = "http://www.carsoftheworld.com#".

:- prefix bio = "http://www.animalsoftheworld#".

 

//no leading prefix means it is in the default prefix

Jaguar : Car.

 

//otherwise you put the prefix name with a ‘#’ in

//front

bio#Jaguar : bio#animal.

 

It is possible to query for namespace and local

:- default prefix = "http://www.carsoftheworld.com#".

:- prefix bio = "http://www.animalsoftheworld.com#".

 

Jaguar:Car.

bio#Jaguar:bio#animal.

 

?- ?Z:bio#animal
 AND ?Z[_localName->?L]

 AND ?Z[_namespace->?X].