function bootstrapCollection( $collection, $languageId, $collectionType ) { $expression = findOrCreateExpression( $collection, $languageId ); $definedMeaningId = addDefinedMeaning( $expression->id ); $expression->assureIsBoundToDefinedMeaning( $definedMeaningId, true ); addDefinedMeaningDefinition( $definedMeaningId, $languageId, $collection ); return addCollection( $definedMeaningId, $collectionType ); }
function bootstrapDefinedMeaning( $spelling, $languageId, $definition ) { $expression = findOrCreateExpression( $spelling, $languageId ); $definedMeaningId = createNewDefinedMeaning( $expression->id, $languageId, $definition ); return $definedMeaningId; }
public function add( IdStack $idPath, $record ) { if ( $this->filterLanguageId == 0 ) { $expressionLanguageId = $record->expression->language; } else { $expressionLanguageId = $this->filterLanguageId; } $expressionMeanings = $record->expressionMeanings->expressionExactMeanings; if ( $expressionLanguageId != 0 && $expressionMeanings->getRecordCount() > 0 ) { $expressionMeaning = $expressionMeanings->getRecord( 0 ); $definition = $expressionMeaning->definedMeaning->definition; $translatedContent = $definition->translatedText; if ( $this->filterLanguageId == 0 ) { if ( $translatedContent->getRecordCount() > 0 ) { $definitionRecord = $translatedContent->getRecord( 0 ); $text = $definitionRecord->text; $languageId = $definitionRecord->language; if ( $languageId != 0 && $text != "" ) { $expression = findOrCreateExpression( $this->spelling, $expressionLanguageId ); createNewDefinedMeaning( $expression->id, $languageId, $text ); } } } elseif ( $translatedContent != "" ) { $expression = findOrCreateExpression( $this->spelling, $expressionLanguageId ); createNewDefinedMeaning( $expression->id, $this->filterLanguageId, $translatedContent ); } } }
public function getOrCreateMember( $internalMemberId, $spelling = "" ) { if ( isset( $this->collectionContents[$internalMemberId] ) ) return $this->collectionContents[$internalMemberId]; else { if ( $spelling == "" ) $spelling = $internalMemberId; $expression = findOrCreateExpression( $spelling, $this->languageId ); $definedMeaningId = createNewDefinedMeaning( $expression->id, $this->languageId, $spelling ); addDefinedMeaningToCollection( $definedMeaningId, $this->collectionId, $internalMemberId ); $this->collectionContents[$internalMemberId] = $definedMeaningId; return $definedMeaningId; } }
function importSNTypes( $collectionId, $query, $languageId ) { global $db; $queryResult = mysql_query( $query, $db ); while ( $semanticNetworkType = mysql_fetch_object( $queryResult ) ) { $expressionText = $semanticNetworkType->semtypeab; $expressionText = strtolower( str_replace( "_", " ", $expressionText ) ); $definedMeaningId = getDefinedMeaningFromCollection( $collectionId, $semanticNetworkType->semtypeab ); $expression = findOrCreateExpression( $expressionText, $languageId ); if ( !$definedMeaningId ) { $definedMeaningId = createNewDefinedMeaning( $expression->id, $languageId, $semanticNetworkType->definition ); addDefinedMeaningToCollection( $definedMeaningId, $collectionId, $semanticNetworkType->semtypeab ); } } mysql_free_result( $queryResult ); }
/** Attempts to save defining expression if it does not exist "here" * (This works right now because we override the datasetcontext in * SaveDM.php . dc should be handled more solidly) */ protected function dupDefiningExpression() { $record = $this->getRecord(); $expression = $record->expression; $spelling = $expression->definedMeaningDefiningExpression; $language = $expression->language; return findOrCreateExpression( $spelling, $language ); }