# $Id: Constants.pod,v 1.1 2001/01/21 20:58:39 aigan Exp $ -*-perl-*- =head1 NAME RDF::Service::Constants =head1 PUBLIC COSTANTS =head2 Namespaces NS_RDF => "http://www.w3.org/1999/02/22-rdf-syntax-ns#"; NS_RDFS => "http://www.w3.org/2000-2001/01/rdf-schema#"; NS_LS => "http://uxn.nu/rdf/2000-2001/09/19/local-schema"; NS_LD => "http://uxn.nu/rdf/2000-2001/09/19/local-data"; =head1 PRIVATE CONSTANTS =head2 Resource These are the object variables for L. Aka slots. =over =item * IDS The Interface Domain Signature =for HTML See IDS page =item * URISTR Scalar. Unique and always defined. =item * ID Integer. Unique and always defined. =item * TYPE $self->[TYPE] = { $type_id =>{ $model_id => 1, ... }, ... }; $type_id is ID of the class node $model_id is ID of the model containing the type statement undef idicates uninitialized value =item * TYPE_ALL value undef: Not all types initialized value 1 : All types initialized. At least one not saved value 2 : All types initialized and saved Temporary or dynamix types doesn't need to be saved and thus is taken to be saved even if they aren't. =item * REV_TYPE Same as TYPE, but in the opposit direction; The classes stores all resources that has it as a type. Resource and Literal are special cases, and does not use this slot. =item * REV_TYPE_ALL Same as TYPE_ALL, but for REV_TYPE =item * JUMPTABLE A reference to a jumptable, shared by other nodes with the same JTK $self->[JUMPTABLE] = { function =>[ [coderef, interface_node], ... ], ... }; =item * NS A reference to the resource whose URI is used as a namespace This will be inferenced from the model Not imlemented =item * NAME A scalar string. The complement to NS Not implemented =item * LABEL A scalar string Is defined if spcified by the MODEL for this node Other labels can exist in other nodes, or as explicit statings The implicit literal and the stating can be given URIs Not implemented =item * PRIVATE Private space in the node to be used by individual interfaces $self->[PRIVATE] = { interface_id => private_data_ref, ... }; =item * MODEL The model node for the node. See L. =item * ALIASFOR Is this resource alias for another resource? (May have to have a separate model slot for this) Not implemented =item * REV_PRED Reference to all statements that use this node as a predicate $self->[REV_PRED] = [ $arc_node, ... ]; =item * REV_PRED_ALL Same as TYPE_ALL, but for REV_PRED =item * REV_SUBJ Same as REV_PRED, but for subjects $self->[REV_SUBJ] = { prop_id => [ $arc_node, ... ], ... }; =item * REV_SUBJ_ALL Same as TYPE_ALL, but for REV_SUBJ =item * REV_OBJ Same as REV_PRED, but for objects $self->[REV_OBJ] = { prop_id => [ $arc_node, ... ], ... }; =item * REV_OBJ_ALL Same as TYPE_ALL, but for REV_OBJ =item * JTK Jump Table Key. Is combned from the IDS, URI-prefix ID and the list of types: IDS . '/' . URI_prefix_id . '/' . join('-', type_id_orderd_list) Example: C<5-8-12/9/1-4-11> C<5-8-12> is the L C<9> is the URI-prefix, as given by L C<1-4-11> is the types of the node, given by L. This slot is only used for debugging =item * MULTI Is this an reified statement explicitely stored as several statements? Not implemented =item * SOLID value 1 indicate that the node with all implicit statements is saved (in a interface) or doesn't have to be saved. =item * RUNLEVEL value 0 is used for the bootstrap process to allow partial initialization value 1 is the normal runlevel =back =head2 Resource li Extra slots for L, used by container entries =over =item * MEMBER Not implemented =back =head2 Resource Statement Extra slots for L, used by arcs =over =item * PRED Points at the statement predicate =item * SUBJ Points at the statement subject =item * OBJ Points at the statement object =back =head2 Resource Literal Extra slots for L, used by literals =over =item * VALUE A scalar reference =item * LANG Node reference This holds the language stating from the same model Language statings from other models is represented by arc nodes =back =head2 Resource Container Extra slots for L, used by containers =over =item * REV_MODEL Used by model nodes Points back at all nodes that has this node as model $self->[REV_MODEL] = { node_id => node, ... }; =item * CONTENT See L. Not implemented =item * READONLY Used by model nodes Not implemented =back =head2 Resource Interface Extra slots for L, used interfaces =over =item * PREFIX Not implemented =item * MODULE_NAME The name of the interface Sort of not implemented =item * MODULE_REG This is the source material for the construction of jumptables Returned by the interfaces register() functions $self->[MODULE_REG] = { domain => { type => { function => [ coderef, ... ], ... }, ... }, ... }; =back =head2 Resource Service Extra slots for L, used by sessions =over =item * INTERFACES A list of interfaces connected to the session $self->[INTERFACES] = [ interface_nose, ... ]; =back =head2 Context Slots for L objects =over =item * CONTEXT Points to node holding preferences Not implemented =item * NODE Points at the node =item * WMODEL The working model for the context New nodes created by context methods is placed in this model =item * MEMORY Same as PRIVATE, but for contexts =item * HISTORY This is a stack of dispatcher calls. Recursive calls adds to the stack. Used to catch cyclic recursive calls. It creates keys consisting of the function call, object and all args. =back =head1 AUTHOR Jonas Liljegren Ejonas@paranormal.seE http://jonas.liljegren.org/myself/en/ =head1 COPYRIGHT Copyright (C) 2000-2001 Jonas Liljegren. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 SUPPORT Comments and bug reports should go to rdf@uxn.nu. =head1 CREDITS Stefan Andersson =head1 SEE ALSO =for HTML Wraf L