SWRL和当前日期时间



我正在尝试使用protege使用的swrl选项卡,我想知道是否有办法可以断言规则中的当前时间和日期。此外,我还需要知道是否可以减去2个数据属性(类型:dateTime)。

提前感谢

使用当前日期和时间的规则很可能意味着本体是非单调的——从中得出的推论会随着时间的推移而变化,而不会对本体进行任何更改。这可能会让本体的一些用户大吃一惊。

也就是说,我不知道有什么方法可以在Protege SWRL选项卡中进行数学运算或捕捉当前时间通过代码(例如通过OWL API)获取当前时间戳,并在Protege中显示。

一个示例规则可以这样构建:

OWLOntologyManager m = create();
OWLOntology o = m.createOntology(example_iri);
// Get hold of references to class A and class B.
OWLClass clsA = df.getOWLClass(IRI.create(example_iri + "#A"));
OWLClass clsB = df.getOWLClass(IRI.create(example_iri + "#B"));
SWRLVariable var = df.getSWRLVariable(IRI.create(example_iri + "#x"));
SWRLClassAtom body = df.getSWRLClassAtom(clsA, var);
SWRLClassAtom head = df.getSWRLClassAtom(clsB, var);
SWRLRule rule = df.getSWRLRule(Collections.singleton(body), Collections.singleton(head));
m.applyChange(new AddAxiom(o, rule));

OWL API编程的源代码、示例和支持可以在这里找到

相关内容

  • 没有找到相关文章

最新更新