验证图形是否遵循 ontology 文件
Validate if graph is following ontology file
假设我有两个 RDF(海龟)文件,一个包含我的自定义 ontology (a.ttl
),另一个包含根据 ontology (b.ttl
).
是否可以使用 .NET RDF 检查 b.ttl
是否遵守 a.ttl
中定义的所有定义?
我可以使用 OntologyGraph
class 加载 a.ttl
,我能否以某种方式使用它来验证从 b.ttl
加载的图表是否符合规范?
这取决于你的定义是如何表达的。
如果它们用 SHACL 表示,那么是的 - dotNetRDF 支持 SHACL 验证(遗憾的是尚未写入文档,但请查看 this sample code)。
如果它们以 OWL 表示,则否 - dotNetRDF 没有 OWL 推理引擎,因此它无法确定您的数据是否与 ontology 一致(通常OWL实际上是为了断言新的事实,OWL“验证”是确定断言的事实是否与ontology一致的过程。您可能需要查看 one of the reasoners listed here 来进行此类处理。
一组简单的基于 RDF-Schema 的约束(例如子类、属性 域、属性 范围)可能很容易转换为 SHACL,但这将是一个额外的步骤添加到您的流程。
假设我有两个 RDF(海龟)文件,一个包含我的自定义 ontology (a.ttl
),另一个包含根据 ontology (b.ttl
).
是否可以使用 .NET RDF 检查 b.ttl
是否遵守 a.ttl
中定义的所有定义?
我可以使用 OntologyGraph
class 加载 a.ttl
,我能否以某种方式使用它来验证从 b.ttl
加载的图表是否符合规范?
这取决于你的定义是如何表达的。
如果它们用 SHACL 表示,那么是的 - dotNetRDF 支持 SHACL 验证(遗憾的是尚未写入文档,但请查看 this sample code)。
如果它们以 OWL 表示,则否 - dotNetRDF 没有 OWL 推理引擎,因此它无法确定您的数据是否与 ontology 一致(通常OWL实际上是为了断言新的事实,OWL“验证”是确定断言的事实是否与ontology一致的过程。您可能需要查看 one of the reasoners listed here 来进行此类处理。
一组简单的基于 RDF-Schema 的约束(例如子类、属性 域、属性 范围)可能很容易转换为 SHACL,但这将是一个额外的步骤添加到您的流程。