Este exemplo trivial é provável conduzir ao a maioria dos parsers de RDF em um laço infinito:
[1] <? encoding= " UTF-8 " do version= " 1.0 " do xml? > <rdf [de 2]: Xmlns de RDF: rdf= " http://www.w3.org/1999/02/22-rdf-syntax-ns # " [3] xmlns: rdfs: “http://www.w3.org/TR/1999/PR-rdf-schema-19990303 # " > [4] <rdfs: Rdf da classe: ID= " WebResource "/> <rdf [de 5]: HTTP do aboutEachPrefix= da descrição ": “bagID= " saco " > <rdf [de 6]: datilografar o resource= " #WebResource "/> [7] </rdf: Description> [8] </rdf: RDF>
a linha 4 gera o file>#WebResource dos <this do recurso, a seguir gera o arco entre ela e o RDFS: Classe, etiquetada com o RDF: tipo.
Então a linha 5 7 da descrição é analisada gramaticalmente; neste momento, há pelo menos um recurso que começa com o “HTTP: ” (RDFS: Classe). De modo que a descrição distribuída gere pelo menos um arco, que reified e será armazenado então em um saco.
Mas armazenar no saco gerará uma propriedade RDF da sociedade: _ 1, que começa com o “HTTP: ”. Assim uma descrição distribuída gerará um outro arco, um outro reification armazenado em um saco, e uma outra propriedade da sociedade. Isso pôde repetir para sempre.
É muito importante para os parsers de RDF evita os laços infinitos; uma solução simples é impedir que alguma da propriedade da sociedade combine um RDF: descrições do aboutEachPrefix. A solução mais limpa seria usar um outro schema para os recipientes.
Keywords: modelo do rdf, xml da estrutura da descrição do recurso, indicações do rdf, schema do rdf