簡體   English   中英

使用Jena規則更新本體三元組中的值

[英]Updating values in ontology triples with Jena rules

我有個問題。 我有一條耶拿規則,例如:

[rule1:

(?if rdf:type p:InferredConfiguration)
(?if p:userName ?userEmail)
(?subProfile rdf:type u:PersonSubProfile)
(?subProfile u:hasUsername ?email)
equal(?userEmail, ?email)

(?subProfile u:hasName "")
(?subProfile u:hasLastname "")
(?subProfile u:hasPhone "")
(?subProfile u:hasEducation "Low")
->
(?subProfile u:hasPhone "00000")

print('**************** Phone defined - Rule 1 ***************')
]

問題在於上面的規則不會更新“ hasPhone”屬性的值,但是會增加一個值。 如何更新值或刪除舊值並添加新值?

謝謝。

我找到了解決方案

[rule1:

(?if rdf:type p:InferredConfiguration)
(?if p:userName ?userEmail)
(?subProfile rdf:type u:PersonSubProfile)
(?subProfile u:hasUsername ?email)
equal(?userEmail, ?email)

(?subProfile u:hasName "")
(?subProfile u:hasLastname "")
(?subProfile u:hasPhone ?var)
equal (?var, "")
(?subProfile u:hasEducation "Low")
  ->
drop(7)
(?subProfile u:hasPhone "00000")

print('**************** Phone defined - Rule 1 ***************')
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM