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 насам Майкъл Колхейс (en:Michael Kohlhase) е президент на общността.
Пример [редактиране]
Добре познатата формула за решенията на квадратно уравнение:
е представена в 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 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. |
