mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 04:50:36 +03:00
Update help pages
This commit is contained in:
parent
2f830a920b
commit
6957d3d2fa
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
|
@ -134,6 +134,7 @@
|
||||||
"конституент",
|
"конституент",
|
||||||
"Конституента",
|
"Конституента",
|
||||||
"конституентами",
|
"конституентами",
|
||||||
|
"конституенте",
|
||||||
"конституенту",
|
"конституенту",
|
||||||
"конституенты",
|
"конституенты",
|
||||||
"неинтерпретируемый",
|
"неинтерпретируемый",
|
||||||
|
|
|
@ -7,11 +7,11 @@ function HelpCstAttributes() {
|
||||||
return (
|
return (
|
||||||
<div className='dense'>
|
<div className='dense'>
|
||||||
<h1>Аттрибуты конституенты</h1>
|
<h1>Аттрибуты конституенты</h1>
|
||||||
<p><b>Термин</b> может быть задан для любой конституенты. Он используется для отсылок текстах в других Терминах и Текстовых определениях</p>
|
<p><b>Термин</b> может быть присвоен любой конституенте. Он используется в других Терминах и в Текстовых определениях</p>
|
||||||
<p><b>Формальное определение</b> строится с помощью формального аппарата <TextURL text='родоструктурной экспликации' href={`/manuals?topic=${HelpTopic.RSLANG}`} /></p>
|
<p><b>Формальное определение</b> строится с помощью формального аппарата <TextURL text='родоструктурной экспликации' href={`/manuals?topic=${HelpTopic.RSLANG}`} /></p>
|
||||||
<p><b>Типизация</b> вычисляется автоматически на основе Формального определения и отражает структуру элементов множества, задаваемого определением</p>
|
<p><b>Типизация</b> вычисляется автоматически на основе Формального определения и отражает структуру элементов множества, задаваемого этим определением</p>
|
||||||
<p><b>Текстовое определение</b> указывается для конституент, у которых есть Формальное определение или Область определения. Оно является текстовой интерпретацией формального определения и может содержать только слова-связки, термины теории множеств и отсылки на Термины ранее введенных конституент</p>
|
<p><b>Текстовое определение</b> предоставляется для конституент, имеющих Формальное определение или Область определения. Это текстовая интерпретация формального определения и строится из связующих слов, терминов теории множеств и отсылок на термины ранее введенных конституент</p>
|
||||||
<p><b>Конвенция</b> - договоренность о соотнесении неопределяемого понятия с сущностями в предметной области</p>
|
<p><b>Конвенция</b> - это соглашение о соотнесении неопределенного понятия с сущностями в предметной области</p>
|
||||||
<p><b>Комментарий</b> может быть добавлен к любому производному понятию для хранения дополнительной информации</p>
|
<p><b>Комментарий</b> может быть добавлен к любому производному понятию для хранения дополнительной информации</p>
|
||||||
|
|
||||||
<h2>Неопределяемые понятия</h2>
|
<h2>Неопределяемые понятия</h2>
|
||||||
|
|
|
@ -7,7 +7,7 @@ function HelpExteor() {
|
||||||
<div>
|
<div>
|
||||||
<h1>Экстеор</h1>
|
<h1>Экстеор</h1>
|
||||||
<p>Экстеор 4.9 — редактор текстов систем понятий эксплицированных в родах структур</p>
|
<p>Экстеор 4.9 — редактор текстов систем понятий эксплицированных в родах структур</p>
|
||||||
<p>Портал превосходит Экстеор в части редактирования экспликаций, но функции синтеза и вычисления интерпретации пока доступны только в Экстеоре. Также следует использовать Экстеор для выгрузки экспликаций в Word для последующей печати</p>
|
<p>Портал превосходит Экстеор в части редактирования экспликаций, но вычисление интерпретации доступно только в Экстеоре. Также следует использовать Экстеор для выгрузки экспликаций в Word для последующей печати</p>
|
||||||
<p>Экстеор доступен на операционной системы Windows 10+</p>
|
<p>Экстеор доступен на операционной системы Windows 10+</p>
|
||||||
<p>Скачать установщик: <TextURL href={external_urls.exteor64} text='64bit'/> | <TextURL href={external_urls.exteor32} text='32bit'/></p>
|
<p>Скачать установщик: <TextURL href={external_urls.exteor64} text='64bit'/> | <TextURL href={external_urls.exteor32} text='32bit'/></p>
|
||||||
<h2>Основные функции</h2>
|
<h2>Основные функции</h2>
|
||||||
|
|
|
@ -14,7 +14,8 @@ import {
|
||||||
ExpressionStatus,
|
ExpressionStatus,
|
||||||
IConstituenta,
|
IConstituenta,
|
||||||
IRSForm,
|
IRSForm,
|
||||||
IRSFormData
|
IRSFormData,
|
||||||
|
IRSFormStats
|
||||||
} from './rsform';
|
} from './rsform';
|
||||||
import { ParsingStatus, ValueClass } from './rslang';
|
import { ParsingStatus, ValueClass } from './rslang';
|
||||||
import { extractGlobals } from './rslangAPI';
|
import { extractGlobals } from './rslangAPI';
|
||||||
|
@ -29,58 +30,8 @@ import { extractGlobals } from './rslangAPI';
|
||||||
export function loadRSFormData(input: IRSFormData): IRSForm {
|
export function loadRSFormData(input: IRSFormData): IRSForm {
|
||||||
const result = input as IRSForm;
|
const result = input as IRSForm;
|
||||||
result.graph = new Graph();
|
result.graph = new Graph();
|
||||||
if (!result.items) {
|
result.stats = calculateStats(result.items);
|
||||||
result.stats = {
|
|
||||||
count_all: 0,
|
|
||||||
count_errors: 0,
|
|
||||||
count_property: 0,
|
|
||||||
count_incalculable: 0,
|
|
||||||
|
|
||||||
count_text_term: 0,
|
|
||||||
count_definition: 0,
|
|
||||||
count_convention: 0,
|
|
||||||
|
|
||||||
count_base: 0,
|
|
||||||
count_constant: 0,
|
|
||||||
count_structured: 0,
|
|
||||||
count_axiom: 0,
|
|
||||||
count_term: 0,
|
|
||||||
count_function: 0,
|
|
||||||
count_predicate: 0,
|
|
||||||
count_theorem: 0
|
|
||||||
};
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
result.stats = {
|
|
||||||
count_all: result.items.length || 0,
|
|
||||||
count_errors: result.items.reduce(
|
|
||||||
(sum, cst) => sum + (cst.parse?.status === ParsingStatus.INCORRECT ? 1 : 0) || 0,
|
|
||||||
0
|
|
||||||
),
|
|
||||||
count_property: result.items.reduce(
|
|
||||||
(sum, cst) => sum + (cst.parse?.valueClass === ValueClass.PROPERTY ? 1 : 0) || 0,
|
|
||||||
0
|
|
||||||
),
|
|
||||||
count_incalculable: result.items.reduce(
|
|
||||||
(sum, cst) =>
|
|
||||||
sum + (cst.parse?.status === ParsingStatus.VERIFIED && cst.parse?.valueClass === ValueClass.INVALID ? 1 : 0) ||
|
|
||||||
0,
|
|
||||||
0
|
|
||||||
),
|
|
||||||
|
|
||||||
count_text_term: result.items.reduce((sum, cst) => sum + (cst.term_raw ? 1 : 0) || 0, 0),
|
|
||||||
count_definition: result.items.reduce((sum, cst) => sum + (cst.definition_raw ? 1 : 0) || 0, 0),
|
|
||||||
count_convention: result.items.reduce((sum, cst) => sum + (cst.convention ? 1 : 0) || 0, 0),
|
|
||||||
|
|
||||||
count_base: result.items.reduce((sum, cst) => sum + (cst.cst_type === CstType.BASE ? 1 : 0), 0),
|
|
||||||
count_constant: result.items?.reduce((sum, cst) => sum + (cst.cst_type === CstType.CONSTANT ? 1 : 0), 0),
|
|
||||||
count_structured: result.items?.reduce((sum, cst) => sum + (cst.cst_type === CstType.STRUCTURED ? 1 : 0), 0),
|
|
||||||
count_axiom: result.items?.reduce((sum, cst) => sum + (cst.cst_type === CstType.AXIOM ? 1 : 0), 0),
|
|
||||||
count_term: result.items.reduce((sum, cst) => sum + (cst.cst_type === CstType.TERM ? 1 : 0), 0),
|
|
||||||
count_function: result.items.reduce((sum, cst) => sum + (cst.cst_type === CstType.FUNCTION ? 1 : 0), 0),
|
|
||||||
count_predicate: result.items.reduce((sum, cst) => sum + (cst.cst_type === CstType.PREDICATE ? 1 : 0), 0),
|
|
||||||
count_theorem: result.items.reduce((sum, cst) => sum + (cst.cst_type === CstType.THEOREM ? 1 : 0), 0)
|
|
||||||
};
|
|
||||||
result.items.forEach(cst => {
|
result.items.forEach(cst => {
|
||||||
cst.status = inferStatus(cst.parse.status, cst.parse.valueClass);
|
cst.status = inferStatus(cst.parse.status, cst.parse.valueClass);
|
||||||
cst.is_template = inferTemplate(cst.definition_formal);
|
cst.is_template = inferTemplate(cst.definition_formal);
|
||||||
|
@ -97,6 +48,32 @@ export function loadRSFormData(input: IRSFormData): IRSForm {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function calculateStats(items: IConstituenta[]): IRSFormStats {
|
||||||
|
return {
|
||||||
|
count_all: items.length,
|
||||||
|
count_errors: items.reduce((sum, cst) => sum + (cst.parse?.status === ParsingStatus.INCORRECT ? 1 : 0), 0),
|
||||||
|
count_property: items.reduce((sum, cst) => sum + (cst.parse?.valueClass === ValueClass.PROPERTY ? 1 : 0), 0),
|
||||||
|
count_incalculable: items.reduce(
|
||||||
|
(sum, cst) =>
|
||||||
|
sum + (cst.parse.status === ParsingStatus.VERIFIED && cst.parse.valueClass === ValueClass.INVALID ? 1 : 0),
|
||||||
|
0
|
||||||
|
),
|
||||||
|
|
||||||
|
count_text_term: items.reduce((sum, cst) => sum + (cst.term_raw ? 1 : 0), 0),
|
||||||
|
count_definition: items.reduce((sum, cst) => sum + (cst.definition_raw ? 1 : 0), 0),
|
||||||
|
count_convention: items.reduce((sum, cst) => sum + (cst.convention ? 1 : 0), 0),
|
||||||
|
|
||||||
|
count_base: items.reduce((sum, cst) => sum + (cst.cst_type === CstType.BASE ? 1 : 0), 0),
|
||||||
|
count_constant: items.reduce((sum, cst) => sum + (cst.cst_type === CstType.CONSTANT ? 1 : 0), 0),
|
||||||
|
count_structured: items.reduce((sum, cst) => sum + (cst.cst_type === CstType.STRUCTURED ? 1 : 0), 0),
|
||||||
|
count_axiom: items.reduce((sum, cst) => sum + (cst.cst_type === CstType.AXIOM ? 1 : 0), 0),
|
||||||
|
count_term: items.reduce((sum, cst) => sum + (cst.cst_type === CstType.TERM ? 1 : 0), 0),
|
||||||
|
count_function: items.reduce((sum, cst) => sum + (cst.cst_type === CstType.FUNCTION ? 1 : 0), 0),
|
||||||
|
count_predicate: items.reduce((sum, cst) => sum + (cst.cst_type === CstType.PREDICATE ? 1 : 0), 0),
|
||||||
|
count_theorem: items.reduce((sum, cst) => sum + (cst.cst_type === CstType.THEOREM ? 1 : 0), 0)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if a given target {@link IConstituenta} matches the specified query using the provided matching mode.
|
* Checks if a given target {@link IConstituenta} matches the specified query using the provided matching mode.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue
Block a user