Jena 프레임 워크와 함께 Eclipse를 사용하여 웹 애플리케이션을 개발 중입니다. 내 응용 프로그램은 다음을 수행합니다.추론 규칙을 변경하는 방법
1) 이름, 전자 메일, 관심사 (C 언어, Java 등), 직업, 사용자 이름 및 암호 정보로 새 사용자를 등록합니다.
2)이 정보는 user.rdf라는 rdf 파일에 저장됩니다.
3) 새 사용자 이름과 암호로 새 사용자 계정이 만들어집니다. 새 사용자의 로그인은 사용자의 관심에 따라 데이터베이스의 모든 관련 서적을 엽니 다. 그/그녀가 C 언어에 관심이 다음 화면에 C++의 책이 그에게 권장되고 목록을 채울 수 있습니다 경우
:
4) 지금은 다음과 같은 새로운 사용자를 추천해야합니다.
사실과 규칙이 필요한 추론 엔진이 필요하다는 것을 알고 있습니다. 사실은 사용자의 관심을 저장하는 rdf 파일에 있습니다. 규칙 파일은 권장 사항이 수행 될 때 규칙을 기반으로 표시됩니다.
다음 내용이있는 user.rdf 파일이 있습니다.
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:kb="http://protege.stanford.edu/kb#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >
<rdf:Description rdf:about="http://protege.stanford.edu/kb#Suresh">
<rdfs:label>Suresh</rdfs:label>
<kb:Uname>suresh</kb:Uname>
<kb:Password>suresh</kb:Password>
<kb:Occupation>Agent</kb:Occupation>
<kb:Interest>Java</kb:Interest>
<kb:Fname>Suresh</kb:Fname>
<kb:Email>[email protected]</kb:Email>
<rdf:type rdf:resource="http://protege.stanford.edu/kb#USER"/>
</rdf:Description>
<rdf:Description rdf:about="http://protege.stanford.edu/kb#Raj">
<kb:Email>[email protected]</kb:Email>
<kb:Name>Raj</kb:Name>
<kb:Password>lkj</kb:Password>
<kb:Uname>raj</kb:Uname>
<kb:Interest>C Language</kb:Interest>
<kb:Occupation>Student</kb:Occupation>
</rdf:Description>
<rdf:Description rdf:about="http://protege.stanford.edu/kb#Anvika">
<rdfs:label>Anvika</rdfs:label>
<kb:Uname>anu</kb:Uname>
<kb:Password>anu</kb:Password>
<kb:Occupation>Student</kb:Occupation>
<kb:Interest>C Language</kb:Interest>
<kb:Fname>Anvika</kb:Fname>
<kb:Email>[email protected]</kb:Email>
<rdf:type rdf:resource="http://protege.stanford.edu/kb#USER"/>
</rdf:Description>
</rdf:RDF>
사용자 수레 쉬와 Anvika 실제로 Protege는에서 만든 다음 파일은 응용 프로그램을 통해 다른 사용자 정보로 업데이트됩니다.
test.rules 파일은 다음과 같습니다
@prefix kb: http://protege.stanford.edu/kb#
[likec++: (?s rdf:type kb:LikeC++)
<-
(?s rdf:type kb:USER)
(?s kb:Interest ?i)
regex(?i,'C Language')
]
인해
<rdf:type rdf:resource="http://protege.stanford.edu/kb#LikeC++"/>
추론을 갖는 라인에 지금
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:kb="http://protege.stanford.edu/kb#"
xmlns:j.0="http://protege.stanford.edu/kb#LikeC++"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >
<rdf:Description rdf:about="http://protege.stanford.edu/kb#Suresh">
<rdf:type rdf:resource="http://protege.stanford.edu/kb#USER"/>
<kb:Email>[email protected]</kb:Email>
<kb:Fname>Suresh</kb:Fname>
<kb:Interest>Java</kb:Interest>
<kb:Occupation>Agent</kb:Occupation>
<kb:Password>suresh</kb:Password>
<kb:Uname>suresh</kb:Uname>
<rdfs:label>Suresh</rdfs:label>
</rdf:Description>
<rdf:Description rdf:about="http://protege.stanford.edu/kb#Raj">
<kb:Occupation>Student</kb:Occupation>
<kb:Interest>C Language</kb:Interest>
<kb:Uname>raj</kb:Uname>
<kb:Password>lkj</kb:Password>
<kb:Name>Raj</kb:Name>
<kb:Email>[email protected]</kb:Email>
</rdf:Description>
<rdf:Description rdf:about="http://protege.stanford.edu/kb#Anvika">
<rdf:type rdf:resource="http://protege.stanford.edu/kb#USER"/>
<kb:Email>[email protected]</kb:Email>
<kb:Fname>Anvika</kb:Fname>
<kb:Interest>C Language</kb:Interest>
<kb:Occupation>Student</kb:Occupation>
<kb:Password>anu</kb:Password>
<kb:Uname>anu</kb:Uname>
<rdfs:label>Anvika</rdfs:label>
<rdf:type rdf:resource="http://protege.stanford.edu/kb#LikeC++"/>
</rdf:Description>
</rdf:RDF>
입니다 제공되는 추론하는 것은 Anvika 사용자를 제공합니다 LikeC++의 추천. 그러나 C 언어에도 관심이있는 사용자 Raj에게는 동일한 내용이 빠져 있습니다. 나는 라인 만이 사용자 Anvika가 유추했다고 생각했습니다. 그러나이 선은 Protege를 통해 자동으로 추가되었습니다. 내 프로그램은 그렇게하지 않습니다. 그렇다면 응용 프로그램을 통해 해당 행을 어떻게 추가합니까? 이것이 가능하지 않은 경우 정확한 결과를 추론하기 위해 규칙을 어떻게 변경합니까?
도와주세요. 나는 이것을 오랫동안 치다.
안부, Archana.
예 규칙을 편집했지만 현재 작동 중입니다.엄청 고마워. – Archana
다른 사용자를 도울 수 있도록 답변을 '수락'으로 표시하십시오. –
답변을 어떻게 받아들이는 것으로 표시합니까? – Archana