Je suis nouveau à RDF, mais ce qui suit semble plutôt trivial; Je n'obtiens pas les résultats que j'attends. J'ai un fichier RDF/XML comme suit (il valide dans le validateur du W3C):Analyse de RDF (RDFXML) dans ruby avec rdf gem - ne fonctionne pas comme prévu
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ore="http://blah.com"
xmlns:dms="http://blah.com"
>
<ore:Aggregation rdf:about="http://blah.com/data/Manifest">
<ore:aggregates>
<ore:Aggregation rdf:about="http://blah.com/data/something">
<rdf:type rdf:resource="http://blah.com/data/Sequence"/>
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
</ore:Aggregation>
</ore:aggregates>
<ore:aggregates>
<ore:Aggregation rdf:about="http://blah.com/data/somethingElse">
<rdf:type rdf:resource="http://blah.com/data/Sequence"/>
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
</ore:Aggregation>
</ore:aggregates>
</ore:Aggregation>
</rdf:RDF>
je tente de l'analyser en utilisant la gemme rdf comme suit, mais ce n'est pas l'impression des déclarations/triplets:
RDF::RDFXML::Reader.open(image_collection_file) do |reader|
puts reader.to_yaml
puts reader.inspect
reader.each_statement do |statement|
statement.inspect! # nothing here
end
end
sortie de reader.to_yaml est:
--- !ruby/object:RDF::TriX::Reader
implementation: !ruby/object:Module {}
input: !ruby/object:File {}
library: :nokogiri
options:
:validate: false
:intern: true
:canonicalize: false
:prefixes: {}
xml: !ruby/object:Nokogiri::XML::Document
decorators:
errors: []
node_cache: []
sortie de reader.inspect est:
#<RDF::TriX::Reader:0x101832a50 @implementation=RDF::TriX::Reader::Nokogiri, @xml=#<Nokogiri::XML::Document:0x80c16cd8 name="document" children=[#<Nokogiri::XML::Element:0x80c14b7c name="RDF" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> children=[#<Nokogiri::XML::Text:0x80c14690 "\n ">, #<Nokogiri::XML::Element:0x80c14640 name="Aggregation" namespace=#<Nokogiri::XML::Namespace:0x80c14528 prefix="ore" href="http://blah.com"> attributes=[#<Nokogiri::XML::Attr:0x80c144c4 name="about" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> value="http://blah.com/data/Manifest">] children=[#<Nokogiri::XML::Text:0x80c13bdc "\n ">, #<Nokogiri::XML::Element:0x80c13b78 name="aggregates" namespace=#<Nokogiri::XML::Namespace:0x80c14528 prefix="ore" href="http://blah.com"> children=[#<Nokogiri::XML::Text:0x80c13628 "\n ">, #<Nokogiri::XML::Element:0x80c135c4 name="Aggregation" namespace=#<Nokogiri::XML::Namespace:0x80c14528 prefix="ore" href="http://blah.com"> attributes=[#<Nokogiri::XML::Attr:0x80c13470 name="about" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> value="http://blah.com/data/something">] children=[#<Nokogiri::XML::Text:0x80c12b88 "\n ">, #<Nokogiri::XML::Element:0x80c12b24 name="type" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> attributes=[#<Nokogiri::XML::Attr:0x80c129bc name="resource" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> value="http://blah.com/data/Sequence">]>, #<Nokogiri::XML::Text:0x80c12a5c "\n ">, #<Nokogiri::XML::Element:0x80c12160 name="type" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> attributes=[#<Nokogiri::XML::Attr:0x80c11ff8 name="resource" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> value="http://www.w3.org/1999/02/22-rdf-syntax-ns#List">]>, #<Nokogiri::XML::Text:0x80c12084 "\n ">]>, #<Nokogiri::XML::Text:0x80c1165c "\n ">]>, #<Nokogiri::XML::Text:0x80c114e0 "\n ">, #<Nokogiri::XML::Element:0x80c11490 name="aggregates" namespace=#<Nokogiri::XML::Namespace:0x80c14528 prefix="ore" href="http://blah.com"> children=[#<Nokogiri::XML::Text:0x80c10f2c "\n ">, #<Nokogiri::XML::Element:0x80c10edc name="Aggregation" namespace=#<Nokogiri::XML::Namespace:0x80c14528 prefix="ore" href="http://blah.com"> attributes=[#<Nokogiri::XML::Attr:0x80c10d74 name="about" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> value="http://blah.com/data/somethingElse">] children=[#<Nokogiri::XML::Text:0x80c1048c "\n ">, #<Nokogiri::XML::Element:0x80c1043c name="type" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> attributes=[#<Nokogiri::XML::Attr:0x80c102d4 name="resource" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> value="http://blah.com/data/Sequence">]>, #<Nokogiri::XML::Text:0x80c10374 "\n ">, #<Nokogiri::XML::Element:0x80c0fa64 name="type" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> attributes=[#<Nokogiri::XML::Attr:0x80c0f910 name="resource" namespace=#<Nokogiri::XML::Namespace:0x80c14af0 prefix="rdf" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> value="http://www.w3.org/1999/02/22-rdf-syntax-ns#List">]>, #<Nokogiri::XML::Text:0x80c0f99c "\n ">]>, #<Nokogiri::XML::Text:0x80c0ef74 "\n ">]>, #<Nokogiri::XML::Text:0x80c0edf8 "\n ">]>, #<Nokogiri::XML::Text:0x80c0ec7c "\n">]>]>, @options={:validate=>false, :intern=>true, :canonicalize=>false, :prefixes=>{}}, @library=:nokogiri, @input=#<File:data/test.xml>>
Est-ce le comportement attendu? Le statement.to_yaml est vide. Je veux juste voir les données dans le RDF (cet exemple est simplifié). Quelqu'un a-t-il des commentaires/idées/URL à partager?
Cheers, Vanessa
Vous pouvez aussi vous posez votre question sur semanticoverflow.com car vous êtes plus susceptible de la voir vu par des personnes travaillant régulièrement avec le Web Sémantique et des bibliothèques comme RDF.rb – RobV