Я сейчас возился с Йеной, пытаясь создать правила, чтобы добавить к моему универсальному аргументу. Я создал следующее простое правило:Jena Custom Rules with Built-ins
[rule1: (?x ?rdf:type ?y),(?y rdfs:subClassOf ?z)-> (?x rdfs:type ?z)]
Это прекрасно работает и срабатывает правильно, давая мне все, что я ожидаю. После этого я хотел назначить временную метку ?x
, чтобы я знал, когда пришел вывод, я хотел использовать встроенную команду Now
следующим образом.
[rule1: (?x ?rdf:type ?y),(?y rdfs:subClassOf ?z),now(?x)-> (?x rdfs:type ?z)]
К сожалению, это не работает, он и не выдаст ошибку, она просто не кажется, чтобы связать любое значение времени для ?x
, а также, кажется, чтобы предотвратить правило от увольнения правильно, так как в первом случае. Онтология, которую я использую, приведена ниже. Есть идеи?
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#">
<owl:Class rdf:about="livingthing"></owl:Class>
<owl:Class rdf:about="Human">
<rdfs:subClassOf rdf:resource="livingthing"/>
</owl:Class>
<rdf:Description rdf:about="john">
<rdf:type rdf:resource="Human"/>
</rdf:Description>
</rdf:RDF>
Спасибо, имеет смысл. Мне кажется, что я считаю, что отношения с n-ary я ищу. – Colin