Rdf 如何在本体中嵌入MathML并引用其中的部分内容

Rdf 如何在本体中嵌入MathML并引用其中的部分内容,rdf,ontology,owl,mathml,Rdf,Ontology,Owl,Mathml,我对MathML相当陌生,所以如果这是一个愚蠢的问题,我很抱歉。我想将MathML3.0嵌入到本体(RDF/OWL等)中。但我希望等式中的变量引用本体中的实体 例如,对于方程(a+b),其中a由exampleontology\a表示,而b由exampleontology\b表示,我会做如下操作: 加上 a b 我不确定嵌入这些引用的最合适方式是什么。MathML和OWL传统上都是使用各自独立的特定标记序列化为XML的(例如:)。所以这是不可能的,你必须找到一个工作 您可以做的是创建一个本体,

我对MathML相当陌生,所以如果这是一个愚蠢的问题,我很抱歉。我想将MathML3.0嵌入到本体(RDF/OWL等)中。但我希望等式中的变量引用本体中的实体

例如,对于方程(a+b),其中aexampleontology\a表示,而bexampleontology\b表示,我会做如下操作:

加上

a

b


我不确定嵌入这些引用的最合适方式是什么。

MathML和OWL传统上都是使用各自独立的特定标记序列化为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>

]>
中央情报局/情报局

传统上,MathML和OWL都使用各自独立的特定标记序列化为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>

]>
中央情报局/情报局
csymbol的内容作为内容字典中符号的名称

您可以但不必使用OpenMath内容字典语法来描述系统,也可以直接将本体作为OWL进行管理

例如,有些旧文件在rdf/owl和openmath世界视图之间启动一些映射

位于的openmath列表可能是与对openmath/MathML和RDF/OWL感兴趣的人联系的最佳场所

csymbol的内容作为内容字典中符号的名称

您可以但不必使用OpenMath内容字典语法来描述系统,也可以直接将本体作为OWL进行管理

例如,有些旧文件在rdf/owl和openmath世界视图之间启动一些映射

位于的openmath列表可能是与对openmath/MathML和RDF/OWL感兴趣的人联系的最佳场所。有关在RDF中编码数学表达式的相关问题可能有助于实现预期目标

它为数学对象以及数学表达式与RDF资源和属性之间的交叉引用引入了基于OpenMath的词汇表(另请参见)。由于OpenMath还与Strict Content MathML完全兼容,因此很容易在这两种表示形式之间进行转换。

有关在RDF中编码数学表达式的相关问题可能有助于实现预期目标


它为数学对象以及数学表达式与RDF资源和属性之间的交叉引用引入了基于OpenMath的词汇表(另请参见)。由于OpenMath还与严格的内容MathML完全兼容,因此很容易在两种表示形式之间进行转换。

最简单的方法是为MathML文本定义新的数据类型。比如说。(最好由W3C定义)

在Turtle格式中,这将如下所示:

@prefix math:<http://example.org/ont/math#>

:APlusB a math:Addition
   math:serialization """<apply> <csymbol cd="arith1">plus</csymbol>
                         <ci id='exampleontology#a'>a</ci>
        <ci id='exampleontology#b'>b</ci>

        </apply> """^^<http://www.w3c.org/datatypes/mathMLLiteral> .
@前缀数学:
:数学:加法

math:serialization“”“standard,其中几何体以WKT或GML编码。Geosparql为每个几何体引入了两种不同的数据类型:最简单的方法是为MathML文本定义一种新的数据类型。比方说。(理想情况下,它应该由W3C定义)

在Turtle格式中,这将如下所示:

@prefix math:<http://example.org/ont/math#>

:APlusB a math:Addition
   math:serialization """<apply> <csymbol cd="arith1">plus</csymbol>
                         <ci id='exampleontology#a'>a</ci>
        <ci id='exampleontology#b'>b</ci>

        </apply> """^^<http://www.w3c.org/datatypes/mathMLLiteral> .
@前缀数学:
:数学:加法

数学:序列化“”标准,其中几何图形以WKT或GML编码。Geosparql为每种类型引入了两种不同的数据类型:谢谢您的回答。为了澄清,如果我使用了“exampleontology:a”或另一个有效的XML ID,这可以吗?还是仍然首选内容字典方法?id属性(在html和大多数词汇表中)在文档中应该是唯一的,并标识该元素,它是内部链接的锚,而不是外部引用。谢谢您的回答。为了澄清,如果我使用了“exampleontology:a”或另一个有效的XML ID,这可以吗?还是仍然首选内容字典方法?id属性(在html和大多数词汇表中)在文档中应该是唯一的,并标识该元素,它是内部链接的锚,而不是外部引用。