2017-03-14 5 views
0

質問があります。 私はこのようなイエナのルールがあります。Jenaルールでオントロジートリプルの値を更新する

[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」プロパティの値を更新していないということですが、それは1つのより多くの価値を追加します。 値を更新したり、古い値を削除して新しい値を追加するにはどうしたらいいですか?

ありがとうございます。

答えて

0

は、私は解決策

[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 ***************') 
] 
を見つけました
関連する問題