source: pmb4.2/trunk/fuentes/pmb/classes/onto/common/onto_common_class.class.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 3.2 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2011 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: onto_common_class.class.php,v 1.8 2014-04-22 09:10:22 arenou Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9require_once $class_path.'/onto/common/onto_common_root.class.php';
10require_once $class_path.'/onto/onto_ontology.class.php';
11require_once $class_path.'/onto/common/onto_common_property.class.php';
12require_once $class_path.'/onto/onto_restriction.class.php';
13
14
15/**
16 * class onto_common_class
17 *
18 */
19class onto_common_class extends onto_common_root {
20
21        /** Aggregations: */
22
23        /** Compositions: */
24
25         /*** Attributes: ***/
26
27        /**
28         *
29         * @access protected
30         */
31        protected $properties;
32
33        /**
34         * Tableau associatif des restrictions associées à chaque propriété de la classe.
35         * L'étiquette du tableau est l'URI de la propriété concernée
36         * @access private
37         */
38        private $onto_restrictions;
39
40        /**
41         *
42         *
43         * @param onto_ontology ontology
44
45         * @return void
46         * @access public
47         */
48       
49        public $pmb_name; 
50       
51        public function __construct($uri,$ontology) {
52                parent::__construct($uri,$ontology);
53                $this->get_properties();
54                $this->get_restrictions();
55        } // end of member function __construct
56
57        /**
58         * Retourne la liste des URI de propriétés liées à la classe
59         *
60         * @return array()
61         * @access public
62         */
63        public function get_properties( ) {
64                $properties = $this->ontology->get_class_properties($this->uri);
65                foreach($properties as $property_uri){
66                        $this->set_property($this->get_property($property_uri));
67                }
68                return $properties;
69        } // end of member function get_properties
70
71        /**
72         * Retourne une instance de la propriété
73         *
74         * @param string uri_property uri de la propriété
75
76         * @return onto_common_property
77         * @access public
78         */
79        public function get_property( $uri_property ) {
80                return $this->ontology->get_property($this->uri,$uri_property);
81        } // end of member function get_property
82
83        /**
84         *
85         *
86         * @param onto_common_property property objet représentant une propriété
87
88         * @return void
89         * @access public
90         */
91        public function set_property( $property ) {
92                $this->properties[$property->uri] = $property;
93        } // end of member function set_property
94       
95        public function set_pmb_name($pmb_name){
96                $this->pmb_name = $pmb_name;
97        }
98       
99        protected function fetch_label(){
100                $this->label = $this->ontology->get_class_label($this->uri);
101        }
102       
103        protected function get_restrictions(){
104                foreach($this->properties as $property){
105                        $this->onto_restrictions[$property->uri] = $this->ontology->get_restriction($this->uri,$property->uri);
106                }       
107        }
108       
109        public function get_property_range($uri_property) {
110                $range = array();
111                if (isset($this->properties[$uri_property])) {
112                        $range = $this->properties[$uri_property]->range;
113                }
114               
115                return $range;
116        }
117       
118        public function get_property_pmb_datatype($uri_property) {
119                $pmb_datatype = $this->properties[$uri_property]->pmb_datatype;
120                return $pmb_datatype;
121        }
122       
123       
124        /**
125         *
126         *
127         * @param string  uri_property URI d'une propriété
128       
129         * @return onto_restriction
130         * @access public
131         */
132        public function get_restriction($uri_property){
133                return $this->onto_restrictions[$uri_property];
134        }
135       
136} // end of onto_common_class
Note: See TracBrowser for help on using the repository browser.