我在我的項目中使用了rowlex。我有一個屬性分配給我的RDF文件中的個人,它具有一個值。例如,對於個人'學生',有一個屬性'isMemberOf',其值爲班級uri'class00021'。 然後我想添加第二個值到這個屬性。例如uri'proj000052'的'Project'值。將多個值分配給屬性
問題出現在這裏:添加第二個值後,第一個值從屬性'isMemberOf'拋出,甚至超出其個人(學生),並作爲新個人存儲。
我用於此操作的代碼是這樣的:
//Add a class to a student
public void Add_Class
(string uri_stu, string uri_class)
{
//Open RDF
RdfDocument rdfDoc = new RdfDocument(@"RDF_Repository\RDF_Student.rdf");
//Find the student
//Student student = new Student(uri_stu, rdfDoc);
Student student = (Student)rdfDoc.GetIndividual(uri_stu);
//Add a class
student.studyMemberOf = new ClassOfCourse(uri_class, rdfDoc);
rdfDoc.ExportToRdfXml(@"RDF_Repository\RDF_Student.rdf");
}
//Add a project to a student
public void Add_Project
(string uri_stu, string uri_proj)
{
//Open RDF
RdfDocument rdfDoc = new RdfDocument(@"RDF_Repository\RDF_Student.rdf");
//Find the student
Student student = (Student)rdfDoc.GetIndividual(uri_stu);
//Add a project
student.studyMemberOf = new Project(uri_proj, rdfDoc);
rdfDoc.ExportToRdfXml(@"RDF_Repository\RDF_Student.rdf");
}
所得RDF是這樣的:
<?xml version="1.0"?>
<rdf:RDF xmlns:Ontologyowl="http://www.owl-ontologies.com/Ontology1243411901.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Ontologyowl:Student rdf:about="stu000012">
<Ontologyowl:studyMemberOf>
<Ontologyowl:Project rdf:about="proj000052"/>
</Ontologyowl:studyMemberOf>
</Ontologyowl:Student>
<Ontologyowl:ClassOfCourse rdf:about="class000021"/>
</rdf:RDF>
...如果我們繼續增加,以前的屬性將是拋出。 那麼我該如何克服這個問題呢?
非常感謝您的回答。 – Ehsan 2009-07-06 12:57:00