0

我有一个本体,基于这个本体我想创建一个知识图(与本体分开)。我想在我的知识图中表示一个“涡轮机”(基于我拥有的本体)。考虑我的本体中的以下类[任何以'has'开头的都是对象属性]:

'涡轮''有质量'一些'轮毂高度'

'轮毂高度' '有数量'一些'长度值'

'长度值' '有部分'一些'长度单位'

“长度单位”本身有许多子类(英寸、米、英尺……)

我的问题是我应该如何表示轮毂高度为 100 米的涡轮机 x?

更新

我用 RDF 做了以下事情,但我不确定我是否做得正确。基本上,我首先为我的实例定义了一些 URI,然后为它们分配了一些类型。

Turbine_X = URIRef("http://my-domain/thing/Turbine_X")
Turbine_X_Hub_Height = URIRef("http://my-domain/thing/Hub_Height_Turbine_X")
Turbine_X_Length = URIRef("http://my-domain/thing/Turbine_X_Length")
Turbine_X_Length_Unit = URIRef("http://my-domain/thing/Turbine_X_Length_Unit")

Turbine_X, RDF.type, 'turbine'
Turbine_X, 'has quality', Turbine_X_Hub_Height
Turbine_X_Hub_Height, RDF.type, 'hub height'
Turbine_X_Hub_Height, 'has quantity', Turbine_X_Length
Turbine_X_Length, RDF.type, 'length value'
Turbine_X_Length, 'has unit', Turbine_X_Length_Unit
Turbine_X_Length_Unit, RDF.type, 'meter'
Turbine_X_Length_Unit, 'has number', Literal(100, datatype=XSD.integer

我想我需要一个有效的 OWL,而不仅仅是一个 RDF 文档。所以问题是我应该在这里关心 OWL 还是 RDF 图就足够了。最后我需要在我的知识图上运行一些 SPARQL 查询。

4

1 回答 1

1

在 RDF OWL 中,已经对具有测量单位的事物的数值进行了多次、多次、多次建模!你不想做的是发明另一种方法来做到这一点。

对于空间对象,涡轮机就是其中之一,我将遵循著名的 GeosPARQL 标准的最新版本中的模式,特别是,请参阅这些示例hasSize和子属性:https ://opengeospatial.github.io/ogc -geosparql/geosparql11/spec.html#C.1.1.1.2

您可能应该使用 ahasHeight但确保您都遵循此处的模式并重用来自诸如QUDT 之类的源的度量单位。那里有成千上万,所以它肯定会有你需​​要的东西。QUDT 在质量、数量、类型等方面也有更深入的本体,所以如果你真的想更深入地定义测量的属性 - Turbined 高度-你也可以使用 QUDT 来做到这一点,但可能你只需要hasHeight

于 2022-01-08T13:28:44.743 回答