0

私はMathMLにかなり慣れていないので、これがばかげた質問であれば申し訳ありません。MathML 3.0 をオントロジー (RDF/OWL など) に組み込みたいと考えています。しかし、方程式の変数がオントロジーのエンティティを参照するようにしたいと思います。

たとえば、 a が exampleontology#a で表され、 b が exampleontology#b で表される方程式 ( a + b )場合ようします。

<適用> <csymbol cd="arith1">プラス</csymbol>

<ci id='exampleontology#a'>a</ci>

<ci id='exampleontology#b'>b</ci>

</適用>

これらの参照を埋め込む最も適切な方法が何であるかはわかりません。

4

4 に答える 4

2

RDF での数式のエンコードに関する関連する質問へのセマンティック Web.com のこの回答は、望ましい目標に役立つ可能性があります。

これは、数式と RDF リソースおよびプロパティの間の相互参照と同様に、数学オブジェクト用の OpenMath ベースのボキャブラリを導入します ( RDF 用の OpenMath コンテンツ ディクショナリも参照してください)。OpenMath は Strict Content MathML とも完全に互換性があるため、両方の表現を簡単に変換できます。

于 2013-03-25T19:23:01.250 に答える
1

MathML と OWL は伝統的にどちらも、独自の独立した特定のタグ (例: <owl:Class rdf:about="exampleontology#A"/>) を使用して XML にシリアライズされます。したがって、そのようなことは不可能です。回避策を見つける必要があります。

できることは、オントロジーを作成してから、OWL 注釈プロパティ (例: mathml) を介していくつかの MathML コードをリンクすることです。その後、注釈プロパティの値にアクセスすることで、後で MathML コードを取得できます。

たとえば、次のコード ブロックを .owl ファイルとして保存し、Protege 4 で開くと、パターンを理解できるはずです。

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY demo "http://www.example.org/demo.owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<rdf:RDF xmlns="http://www.example.org/demo.owl#"
 xml:base="http://www.example.org/demo.owl"
 xmlns:demo="http://www.example.org/demo.owl#"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:owl="http://www.w3.org/2002/07/owl#"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Ontology rdf:about="http://www.example.org/demo.owl"/>

<owl:AnnotationProperty rdf:about="&demo;mathml"/>

<owl:Class rdf:about="&demo;a">
    <mathml rdf:datatype="&xsd;string">&lt;ci&gt;a&lt;/ci&gt;</mathml>
</owl:Class>
</rdf:RDF>
于 2013-03-06T09:16:44.507 に答える
0
<apply> <csymbol cd="arith1">plus</csymbol>
<ci id='exampleontology#a'>a</ci>
<ci id='exampleontology#b'>b</ci>
</apply>

#は XML ID の有効な文字ではありません。ここで最も自然な方法は、オントロジーを OpenMath コンテンツ ディクショナリと同一視することだと思います。

<apply> <csymbol cd="arith1">plus</csymbol>
<csymbol cd='exampleontology'>a</csymbol>
<csymbol cd='exampleontology>b</csymbol>
</apply>

csymbol のコンテンツは、コンテンツ ディクショナリ内のシンボルの名前として取得されます。

OpenMath Content Dictionary 構文を使用してシステムを記述したり、オントロジーを OWL として直接管理したりすることはできますが、その必要はありません。

たとえば、rdf/owl と openmath の世界観の間のマッピングを開始する古いファイルがいくつかあります。

http://www.openmath.org/ontology/README

http://www.openmath.org/lists/index.htmlの openmath リストは、OpenMath/MathML および RDF/OWL に関心のある人々と連絡をとるのにおそらく最適な場所です。

于 2013-03-10T21:03:55.717 に答える