OpenMath
OpenMath представлява маркиращ език за описание на съдържанието на математически формули. Той може да се използва за предаване на семантична информация в съчетание с MathML, който е стандарт, основно фокусиращ се върху презентацията на формулите. За кодиране на OpenMath се използват XML и бинарен формат.
Съдържание
[редактиране | редактиране на кода]OpenMath може да се опише с помощта на две основни понятия:
- OpenMath обекти – абстрактен тип данни за описание на логическата структура на математическите формули; и
- Речници за OpenMath – колекция от наименования за математически понятия. Речниците се разработват така, че да са съвзестими с MathML.
История
[редактиране | редактиране на кода]OpenMath е разработен по време на серия от работни срещи и (предимно европейски) изследователски проекти, започнали през 1993 и продължаващи до днес. Стандартът OpenMath 1.0 е публикуван през февруари 2000 и ревизиран като OpenMath 1.1 през октомври 2002. Две години по-късно, през юни 2004, е оповествен стандартът OpenMath 2.0. OpenMath 1 определя основната архитектура на езика, докато OpenMath 2 се съсредоточава върху по-добра интеграция с XML формата и съвместимост между различни структури, както и допринася за либерализиране на речниците.
OpenMath общност
[редактиране | редактиране на кода]Усилията за развиване на OpenMath се управляват от така нарерчената OpenMath общност, която се намира в Хелзинки, Финландия. Общността включва автори на приложения, софтуерни специалисти, издатели. Членството е чрез покана от Комитета на управителите на общностите (Societies Executive Committee), който приветства лични номинации от хора, които прилагат OpenMath в изследванията или работата си. От 2007 насам Майкъл Колхейс е президент на общността.
Пример
[редактиране | редактиране на кода]Добре познатата формула за решенията на квадратно уравнение:
е представена в OpenMath формат по следния начин (използвана е репрезентация във форма на дърво, възлите на което са различни функционални елементи, например OMA
за приложение на функция или OMV
за променлива):
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMA cdbase="http://www.openmath.org/cd">
<OMS cd="relation1" name="eq"/>
<OMV name="x"/>
<OMA>
<OMS cd="arith1" name="divide"/>
<OMA>
<OMS cdbase="http://www.example.com/mathops" cd="multiops" name="plusminus"/>
<OMA>
<OMS cd="arith1" name="unary_minus"/>
<OMV name="b"/>
</OMA>
<OMA>
<OMS cd="arith1" name="root"/>
<OMA>
<OMS cd="arith1" name="minus"/>
<OMA>
<OMS cd="arith1" name="power"/>
<OMV name="b"/>
<OMI>2</OMI>
</OMA>
<OMA>
<OMS cd="arith1" name="times"/>
<OMI>4</OMI>
<OMV name="a"/>
<OMV name="c"/>
</OMA>
</OMA>
<OMI>2</OMI>
</OMA>
</OMA>
<OMA>
<OMS cd="arith1" name="times"/>
<OMI>2</OMI>
<OMV name="a"/>
</OMA>
</OMA>
</OMA>
</OMOBJ>
В дървовидното представяне на израза по-горе, елементи като например <OMS cd="arith1" name="times"/>
, представляват математически функции, приложени към своите изрази сестри, заедно с които представляват аргументи към OMA
. Значението на елемента OMS
се съдържа в атрибута cd
, което е препратка към съответната дефиниция на функцията в речника, който от своя страна е зададен като URI в полето cdbase в най-близкия елемент, доминиращ съответния OMS
елемент. В горния пример всички символи идват от речника за аритметични функции (arith1), с изключение на plusminus, който идва от нестандартен речник, поради което се налага указването на cdbase
.
Речници за OpenMath
[редактиране | редактиране на кода]Речниците за OpenMath за структурирани XML документи, които дефинират математическите символи, използвани от OMS елементите в структурата на OpenMath обекти. OpenMath 2 не дава стриктни указания за съставянето на речници, а единствено определя изискванията за еднозначно определяне на OMS елементите. OpenMath предлага проста форма за XML кодиране, която задоволява указаните изисквания, и колекция от речници за някои области от математиката.
За по-разширени речници и като цяло за нетипични математически речници, форматът OMDoc разширява OpenMath, като добавя две нива: „твърдения“, включвайки структури като дефиниции, теореми, доказателства и примери, както и средства за връзка между тях; и „теоретично ниво“, където теорията е колекция от контекстуално свързани твърдения. Теориите в OMDoc са създадени така, че да бъдат съвместими с речниците за OpenMath, като също така могат да се свързват помежду си с определени типове релации.
Вижте също
[редактиране | редактиране на кода]Външни препратки
[редактиране | редактиране на кода]- The OpenMath website – The definitive source of information on all things OpenMath.
- The OpenMath Standard – The definition of OpenMath Objects.
- OpenMath Content Dictionaries – The official repository of OpenMath Content Dictionaries.
- OpenMath Society
Тази страница частично или изцяло представлява превод на страницата OpenMath в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.
ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни. |