Domanda

voglio accedere i bambini con skos: Concept. getChildren ( "skos: Concept") e getChildren ( "Concept") sia darmi una lista vuota che cosa devo usare al posto

?.

Il mio esempio dei dati:

<owl:AnnotationProperty rdf:about="&dc;identifier"/>
<owl:ObjectProperty rdf:about="&skos;narrower"/>

<skos:Concept rdf:about="#concept:0_acetylpantolactone:4253501">
    <skos:prefLabel xml:lang=""
        >0-acetylpantolactone</skos:prefLabel>
    <skos:hiddenLabel xml:lang=""
        >2(3H)-Furanone, 3-(acetyloxy)dihydro-4,4-dimethyl-, (R)-</skos:hiddenLabel>
    <dc:identifier rdf:resource="urn:CHID:028227363"/>
    <dc:identifier rdf:resource="urn:MESH:C014305"/>
</skos:Concept>

<skos:Concept rdf:about="#concept:1012S:4202655">
    <skos:prefLabel xml:lang="">1012S</skos:prefLabel>
    <skos:hiddenLabel xml:lang="" >C19-H16-Cl2-N6-O</skos:hiddenLabel>
    <skos:hiddenLabel xml:lang="">Compound 1012S</skos:hiddenLabel>
    <dc:identifier rdf:resource="urn:CAS:95211_91_9"/>
    <dc:identifier rdf:resource="urn:CHID:095211919"/>
</skos:Concept>
È stato utile?

Soluzione

Secondo il Javadoc per getChildren (String): "Ciò restituisce un elenco di tutti gli elementi figlio annidati direttamente (un livello profondo) all'interno di questo elemento con il nome dato locale e che appartengono a nessun namespace". Credo che il problema è il vostro elementi hanno uno spazio dei nomi, e si dovrebbe essere utilizzando il getChildren (String, Namespace):

Namespace ns = Namespace.getNamespace("skos", [String uri]);
List l = elem.getChildren("Concept", ns);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top