This plug-in provides the possibility to define a URI scheme which will be applied, when new resources are created. This means e.g., all new project resources will be created as http://aksw.org/Projects/NewResource
.
The naming is applied by these rules:
- start the URI with the model base URI (should end with a slash
/
) - add the class specific or default naming scheme to this URI.
The default naming scheme is type/label
.
type
and label
are placeholders which are replaces with the following values:
type
will be replaced by the title of the class. The title is generated by the TitleHelper so a lot of properties are comprise in order to generate the title. The generated title is modified according to different URI restrictions.
To provide a specfic URI component title for a class, you can annotate it with sysont:creationLabel
e.g. the following annotation in your knowledge base would create new foaf:Person
resources as BASE/Persons/NewResource
:
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix sysont: <http://ns.ontowiki.net/SysOnt/> .
foaf:Person sysont:creationLabel "Persons" .
Note: This statement has to be added to the knowledge base where your resources are created, no the config knowledge base.
label
is replaced in the same way by using the TitleHelper to generate a title based on the given data of the new resource.
In order to change the default naming scheme from type/label
to something more sophisticated, you can annotate class specific naming schemes by using the sysont:instanceNamingScheme
property.
Lets have a look at the following class annotation:
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix sysont: <http://ns.ontowiki.net/SysOnt/> .
foaf:Person sysont:instanceNamingScheme "instances/person/label" .
This annotation changes the naming scheme in a way that new foaf:Person
resources will be created as BASE/instances/person/NewResource
.