Удаление многозначных свойств из RDF с помощью Rowlex

StackOverflow https://stackoverflow.com/questions/1117848

  •  12-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь удалить свойства с несколькими значениями из RDF, и, похоже, в этом RDF мне следует создать код ниже для удаления 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(...);
        }

Но я сейчас не говорю о входных данных rdfDoc.RemoveProperty(..).Любая помощь по этому поводу, пожалуйста?

Это было полезно?

Решение

rdfDoc.RemoveProperty(subject, predicate, object) фактически требует указания полной тройки.Этот метод обернут вашим методом stdl.RemoveincludeResource(i).Однако ваш метод упаковки легче читается и является типобезопасным.Объект C# узла (stdl) является субъектом, метод (RemoveincludeResource) представляет предикат, а входной параметр (i) будет объектом.Эти элементы передаются внутреннему методу RdfDocument.RemoveProperty. Нет необходимости вызывать оба метода!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top