/** * Constructor * You can supply a base_uri * * @param string $baseURI * @access public */ function InfModel($baseURI = NULL) { //call the memmodel constructor method parent::MemModel($baseURI); //initialise vars $this->infRulesTriggerIndex['s'] = array(); $this->infRulesTriggerIndex['p'] = array(); $this->infRulesTriggerIndex['o'] = array(); $this->infRulesEntailIndex['s'] = array(); $this->infRulesEntailIndex['p'] = array(); $this->infRulesEntailIndex['o'] = array(); $this->infRules = array(); $this->statementRuleIndex = array(); //arraylist of predicate labels that shall add inference rules //to the model //The constants, wich statements will create rules can be configured in constants.php if (INF_RES_SUBCLASSOF) { $this->supportedInference[] = RDF_SCHEMA_URI . RDFS_SUBCLASSOF; } if (INF_RES_SUBPROPERTYOF) { $this->supportedInference[] = RDF_SCHEMA_URI . RDFS_SUBPROPERTYOF; } if (INF_RES_RANGE) { $this->supportedInference[] = RDF_SCHEMA_URI . RDFS_RANGE; } if (INF_RES_DOMAIN) { $this->supportedInference[] = RDF_SCHEMA_URI . RDFS_DOMAIN; } if (INF_RES_OWL_SAMEAS) { $this->supportedInference[] = OWL_URI . OWL_SAME_AS; } if (INF_RES_OWL_INVERSEOF) { $this->supportedInference[] = OWL_URI . OWL_INVERSE_OF; } //Rule: rdfs12 if (INF_RES_RULE_RDFS12) { $infRule = new InfRule(); $infRule->setTrigger(null, new Resource(RDF_NAMESPACE_URI . RDF_TYPE), new Resource(RDF_SCHEMA_URI . 'ContainerMembershipProperty')); $infRule->setEntailment('<s>', new Resource(RDF_SCHEMA_URI . RDFS_SUBPROPERTYOF), new Resource(RDF_SCHEMA_URI . 'member')); $this->_addInfRule($infRule, 'base'); } //Rule: rdfs6 if (INF_RES_RULE_RDFS6) { $infRule = new InfRule(); $infRule->setTrigger(null, new Resource(RDF_NAMESPACE_URI . RDF_TYPE), new Resource(RDF_NAMESPACE_URI . RDF_PROPERTY)); $infRule->setEntailment('<s>', new Resource(RDF_SCHEMA_URI . RDFS_SUBPROPERTYOF), '<s>'); $this->_addInfRule($infRule, 'base'); } //Rule: rdfs8 if (INF_RES_RULE_RDFS8) { $infRule = new InfRule(); $infRule->setTrigger(null, new Resource(RDF_NAMESPACE_URI . RDF_TYPE), new Resource(RDF_SCHEMA_URI . RDFS_CLASS)); $infRule->setEntailment('<s>', new Resource(RDF_SCHEMA_URI . RDFS_SUBCLASSOF), new Resource(RDF_SCHEMA_URI . RDFS_RESOURCE)); $this->_addInfRule($infRule, 'base'); } //Rule: rdfs10 if (INF_RES_RULE_RDFS10) { $infRule = new InfRule(); $infRule->setTrigger(null, new Resource(RDF_NAMESPACE_URI . RDF_TYPE), new Resource(RDF_SCHEMA_URI . RDFS_CLASS)); $infRule->setEntailment('<s>', new Resource(RDF_SCHEMA_URI . RDFS_SUBCLASSOF), '<s>'); $this->_addInfRule($infRule, 'base'); } //Rule: rdfs13 if (INF_RES_RULE_RDFS13) { $infRule = new InfRule(); $infRule->setTrigger(null, new Resource(RDF_NAMESPACE_URI . RDF_TYPE), new Resource(RDF_SCHEMA_URI . RDFS_DATATYPE)); $infRule->setEntailment('<s>', new Resource(RDF_SCHEMA_URI . RDFS_SUBCLASSOF), new Resource(RDF_SCHEMA_URI . RDFS_LITERAL)); $this->_addInfRule($infRule, 'base'); } }