Retrait des propriétés à valeurs multiples à partir de RDF par Rowlex
Question
Je suis en train de supprimer des propriétés avec des valeurs multiples, de RDF et il semble sur ce RDF, je devrais faire ci-dessous le code pour enlever includeResource:
<Ontologyowl:StudyList rdf:about="stdl827181">
<Ontologyowl:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Basic learning materials</Ontologyowl:title>
<Ontologyowl:includeResource>
<Ontologyowl:LearningResource rdf:about="res298830"/>
</Ontologyowl:includeResource>
<Ontologyowl:includeResource>
<Ontologyowl:LearningResource rdf:about="res323717"/>
</Ontologyowl:includeResource>
</Ontologyowl:StudyList>
StudyList_ stdl = (StudyList_)rdfDoc.GetIndividual(stdlId, StudyList.Uri, false);
LearningResource[] lrnRes = stdl.includeResources;
foreach (LearningResource i in lrnRes)
{
stdl.RemoveincludeResource(i);
rdfDoc.RemoveProperty(...);
}
Mais je ne maintenant sur les entrées rdfDoc.RemoveProperty (..). Toute aide à ce sujet s'il vous plaît?
La solution
rdfDoc.RemoveProperty (sujet, prédicat, objet) vous oblige en fait de préciser la pleine triple. Cette méthode est enveloppée par votre méthode stdl.RemoveincludeResource (i). Cependant, votre méthode d'emballage est plus facile à lire et est typé. L'hôte C objet # (de STDL) fait l'objet, le procédé (RemoveincludeResource) représente le prédicat, et le paramètre d'entrée (i) sera l'objet. Ces éléments sont transmis à la méthode RdfDocument.RemoveProperty interne. Il n'y a pas besoin d'appeler les deux méthodes!