2017-06-16 4 views
0

Ich versuche, eine zu tun, wählen Sie alle Abfrage auf Datensatz meines Freundes. Ich habe Bedenken hinsichtlich der Gestaltung seines RDF-Datensatzes, da der URI für jeden Kunden anders ist. In diesem Fall, wie ist eine Auswahl aller Abfragen möglich? Das ist das erste Mal, dass ich mit RDF arbeite, vielleicht ist meine Vermutung falsch.Wie wählt man alle Instanzen einer RDF-Klasse aus?

Hier die Daten:

<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:owl="http://www.w3.org/2002/07/owl#" 
    xmlns:ontoex="http://www.semanticweb.org/home/ontologies/2016/10/ex#" 
    xmlns:ex="http://example.com/" 
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> 
    <ontoex:DataRecipient rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#unrelated"> 
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> 
    </ontoex:DataRecipient> 
    <ex:Client rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,"> 
    <ex:hasBdDate> 
     <ex:BdDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,BdDate"> 
     <ex:hasValue>31/12/2011</ex:hasValue> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     </ex:BdDate> 
    </ex:hasBdDate> 
    <ex:hasAge> 
     <ex:Age rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,Age"> 
     <ex:hasValue>4</ex:hasValue> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     </ex:Age> 
    </ex:hasAge> 
    <ex:hasAdress> 
     <ex:Adress rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,Adress"> 
     <ex:hasValue>ergdrg</ex:hasValue> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     </ex:Adress> 
    </ex:hasAdress> 
    <ex:hasIdentityCard> 
     <ex:IdentityCard rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,IdentityCard"> 
     <ex:hasNumber> 
      <ex:IdentityCardNumber rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,IdentityCardNumber"> 
      <ex:hasValue>10521</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:IdentityCardNumber> 
     </ex:hasNumber> 
     <ex:hasExpirationDate> 
      <ex:IdentityCardExpirationDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,IdentityCardExpirationDate"> 
      <ex:hasValue>14/12/2018</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:IdentityCardExpirationDate> 
     </ex:hasExpirationDate> 
     <ex:hasDeliveryDate> 
      <ex:IdentityCardDeliveryDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,IdentityCardDeliveryDate"> 
      <ex:hasValue>12/12/2014</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:IdentityCardDeliveryDate> 
     </ex:hasDeliveryDate> 
     </ex:IdentityCard> 
    </ex:hasIdentityCard> 
    <ex:hasPassPort> 
     <ex:PassPort rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,PassPort"> 
     <ex:hasNumber> 
      <ex:PassPortNumber rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,PassPortNumber"> 
      <ex:hasValue></ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:PassPortNumber> 
     </ex:hasNumber> 
     <ex:hasExpirationDate> 
      <ex:PassPortExpirationDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,PassPortExpirationDate"> 
      <ex:hasValue></ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:PassPortExpirationDate> 
     </ex:hasExpirationDate> 
     <ex:hasDeliveryDate> 
      <ex:PassPortDeliveryDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#ergergghbjk,PassPortDeliveryDate"> 
      <ex:hasValue></ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:PassPortDeliveryDate> 
     </ex:hasDeliveryDate> 
     </ex:PassPort> 
    </ex:hasPassPort> 
    <ex:hasService> 
     <ontoex:LandTransportationService rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#BuyBusTicket"> 
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> 
     </ontoex:LandTransportationService> 
    </ex:hasService> 
    </ex:Client> 
    <ex:Client rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#Taleb"> 
    <ex:hasPassPort> 
     <ex:PassPort rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebPassPort"> 
     <ex:hasDeliveryDate> 
      <ex:PassPortDeliveryDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebPassPortDeliveryDate"> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasValue></ex:hasValue> 
      </ex:PassPortDeliveryDate> 
     </ex:hasDeliveryDate> 
     <ex:hasExpirationDate> 
      <ex:PassPortExpirationDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebPassPortExpirationDate"> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasValue></ex:hasValue> 
      </ex:PassPortExpirationDate> 
     </ex:hasExpirationDate> 
     <ex:hasNumber> 
      <ex:PassPortNumber rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebPassPortNumber"> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasValue></ex:hasValue> 
      </ex:PassPortNumber> 
     </ex:hasNumber> 
     </ex:PassPort> 
    </ex:hasPassPort> 
    <ex:hasIdentityCard> 
     <ex:IdentityCard rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebIdentityCard"> 
     <ex:hasDeliveryDate> 
      <ex:IdentityCardDeliveryDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebIdentityCardDeliveryDate"> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasValue>20/12/2013</ex:hasValue> 
      </ex:IdentityCardDeliveryDate> 
     </ex:hasDeliveryDate> 
     <ex:hasExpirationDate> 
      <ex:IdentityCardExpirationDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebIdentityCardExpirationDate"> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasValue>18/12/2020</ex:hasValue> 
      </ex:IdentityCardExpirationDate> 
     </ex:hasExpirationDate> 
     <ex:hasNumber> 
      <ex:IdentityCardNumber rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebIdentityCardNumber"> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasValue>561</ex:hasValue> 
      </ex:IdentityCardNumber> 
     </ex:hasNumber> 
     </ex:IdentityCard> 
    </ex:hasIdentityCard> 
    <ex:hasAdress> 
     <ex:Adress rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebAdress"> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasValue>binjk,l</ex:hasValue> 
     </ex:Adress> 
    </ex:hasAdress> 
    <ex:hasAge> 
     <ex:Age rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebAge"> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasValue>2</ex:hasValue> 
     </ex:Age> 
    </ex:hasAge> 
    <ex:hasBdDate> 
     <ex:BdDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#TalebBdDate"> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasValue>20/12/2013</ex:hasValue> 
     </ex:BdDate> 
    </ex:hasBdDate> 
    </ex:Client> 
    <ontoex:DataPurpose rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#contact"> 
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> 
    </ontoex:DataPurpose> 
    <ex:Client rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#Djamel"> 
    <ex:hasFirstName> 
     <ex:FirstName rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelFirstName"> 
     <ex:hasValue>Nom</ex:hasValue> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     </ex:FirstName> 
    </ex:hasFirstName> 
    <ex:hasLastName> 
     <ex:LastName rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelLastName"> 
     <ex:hasValue>Prenom</ex:hasValue> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     </ex:LastName> 
    </ex:hasLastName> 
    <ex:hasIdentityCard> 
     <ex:IdentityCard rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelIdentityCard"> 
     <ex:hasNumber> 
      <ex:IdentityCardNumber rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelIdentityCardNumber"> 
      <ex:hasValue>95175364</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:IdentityCardNumber> 
     </ex:hasNumber> 
     <ex:hasExpirationDate> 
      <ex:IdentityCardExpirationDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelIdentityCardExpirationDate"> 
      <ex:hasValue>11/06/2021</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:IdentityCardExpirationDate> 
     </ex:hasExpirationDate> 
     <ex:hasDeliveryDate> 
      <ex:IdentityCardDeliveryDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelIdentityCardDeliveryDate"> 
      <ex:hasValue>10/06/2016</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:IdentityCardDeliveryDate> 
     </ex:hasDeliveryDate> 
     </ex:IdentityCard> 
    </ex:hasIdentityCard> 
    <ex:hasDriverLicense> 
     <ex:DriverLicense rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelDriverLicense"> 
     <ex:hasNumber> 
      <ex:DriverLicenseNumber rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelDriverLicenseNumber"> 
      <ex:hasValue></ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:DriverLicenseNumber> 
     </ex:hasNumber> 
     <ex:hasExpirationDate> 
      <ex:DriverLicenseExpirationDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelDriverLicenseExpirationDate"> 
      <ex:hasValue>19/06/2024</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:DriverLicenseExpirationDate> 
     </ex:hasExpirationDate> 
     <ex:hasDeliveryDate> 
      <ex:DriverLicenseDeliveryDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelDriverLicenseDeliveryDate"> 
      <ex:hasValue>13/06/2014</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:DriverLicenseDeliveryDate> 
     </ex:hasDeliveryDate> 
     </ex:DriverLicense> 
    </ex:hasDriverLicense> 
    <ex:hasPassPort> 
     <ex:PassPort rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelPassPort"> 
     <ex:hasNumber> 
      <ex:PassPortNumber rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelPassPortNumber"> 
      <ex:hasValue>987654321</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:PassPortNumber> 
     </ex:hasNumber> 
     <ex:hasExpirationDate> 
      <ex:PassPortExpirationDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelPassPortExpirationDate"> 
      <ex:hasValue>11/06/2026</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:PassPortExpirationDate> 
     </ex:hasExpirationDate> 
     <ex:hasDeliveryDate> 
      <ex:PassPortDeliveryDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelPassPortDeliveryDate"> 
      <ex:hasValue>25/06/2016</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:PassPortDeliveryDate> 
     </ex:hasDeliveryDate> 
     </ex:PassPort> 
    </ex:hasPassPort> 
    <ex:hasAdress> 
     <ex:Adress rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelAdress"> 
     <ex:hasValue>Mon Adresse</ex:hasValue> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     </ex:Adress> 
    </ex:hasAdress> 
    <ex:hasCreditCard> 
     <ex:CreditCard rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelCreditCard"> 
     <ex:hasNumber> 
      <rdf:Description rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelCreditCardNumber"> 
      <ex:hasValue>123456789</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </rdf:Description> 
     </ex:hasNumber> 
     <ex:hasCCType> 
      <ex:CCType rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelCCType"> 
      <ex:hasValue>Visa</ex:hasValue> 
      <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
      <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
      <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
      </ex:CCType> 
     </ex:hasCCType> 
     </ex:CreditCard> 
    </ex:hasCreditCard> 
    <ex:hasBdDate> 
     <ex:BdDate rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelBdDate"> 
     <ex:hasValue>19/06/1991</ex:hasValue> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     </ex:BdDate> 
    </ex:hasBdDate> 
    <ex:hasAge> 
     <ex:Age rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#DjamelAge"> 
     <ex:hasValue>25</ex:hasValue> 
     <ex:hasRetention rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#no-retention"/> 
     <ex:hasRecipient rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#ours"/> 
     <ex:hasPurpose rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#current"/> 
     </ex:Age> 
    </ex:hasAge> 
    <ex:hasService rdf:resource="http://www.semanticweb.org/home/ontologies/2016/10/ex#RentVehicle"/> 
    </ex:Client> 
</rdf:RDF> 

Zusammengefasst haben wir

<ex:Client rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#Taleb"> 
<ex:Client rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#Djamel"> 

Wir wollen alle Daten über Taleb und Djamel bekommen. Darüber hinaus, wie kann ich eine ähnliche Abfrage schreiben, wenn mehr als zwei Clients vorhanden sind?

Antwort

3

Es ist großartig, dass Sie Ihre Daten freigegeben haben. Ich habe einige Änderungen, weil es nicht RDF vervollständigen, wie geschrieben:

  • die Ex: Präfix wurde nicht definiert
  • es nicht in der Öffnung eingewickelt war und Schließen <rdf:RDF> Tags

Zusätzlich

  • viele Menschen würden Ihre Daten leichter lesen in TURTLE-Format, in Bezug auf das RDF/XML-Format im Gegensatz Sie
  • geschrieben
  • Sie sollten auch wie <http://www.semanticweb.org/home/ontologies/2016/10/ex#Djamel>
  • , um alle Ihre Einheiten geben den Menschen lesbaren rdfs:label s halte ich finde es ein wenig seltsam, dass die hasValue Objekt von DjamelFirstName ist Nom, nicht Djamel. Ist das ein Fall von Label/Wert Verwirrung?

Hier ist ein SO answer listing some training materials Sie könnten versuchen.

Und hier ist ein Fragment der Daten, der in Turtle-Format und mit Etiketten:

@prefix ex: <http://www.semanticweb.org/home/ontologies/2016/10/ex#> . 
@prefix owl: <http://www.w3.org/2002/07/owl#> . 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 

ex:DjamelFirstName a ex:FirstName ; 
     rdfs:label  "Djamel's first name" ; 
     ex:hasPurpose ex:current ; 
     ex:hasRecipient ex:ours ; 
     ex:hasRetention ex:no-retention ; 
     ex:hasValue  "Nom" . 

ex:Djamel a     ex:Client ; 
     rdfs:label   "Client 'Djamel'" ; 
     ex:hasAdress   ex:DjamelAdress ; 
     ex:hasAge   ex:DjamelAge ; 
     ex:hasBdDate   ex:DjamelBdDate ; 
     ex:hasCreditCard  ex:DjamelCreditCard ; 
     ex:hasDriverLicense ex:DjamelDriverLicense ; 
     ex:hasFirstName  ex:DjamelFirstName ; 
     ex:hasIdentityCard ex:DjamelIdentityCard ; 
     ex:hasLastName  ex:DjamelLastName ; 
     ex:hasPassPort  ex:DjamelPassPort ; 
     ex:hasService  ex:RentVehicle . 

Die letzten beiden Zeilen Ihrer Frage einen Hinweis auf die Antwort geben: Wenn Sie Informationen über zwei Instanzen finden wollen von der RDF gleichen Klasse (ex:Client), sollten Sie nach allen Mitgliedern dieser Klasse fragen.

<ex:Client rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#Taleb"> 
<ex:Client rdf:about="http://www.semanticweb.org/home/ontologies/2016/10/ex#Djamel"> 

Das ist, wo die ?s a ex:Client Teil der Abfrage herkommt.

Ihr Datenmodell sieht für mich im Allgemeinen vernünftig aus, aber Sie müssen sich damit auseinandersetzen, dass es verschachtelt ist. Beispielsweise hat ex:Djamel keine direkte Beziehung mit einem Zeichenfolgenliteral, das seinen (?) Namen darstellt.

Ich habe eine Abfrage geschrieben, die eine Ebene der Verschachtelung hinuntergeht. Wenn Ihre Daten tatsächlich eine tiefere Verschachtelung verwenden, müssen Sie die Abfrage ändern.

PREFIX ex: <http://www.semanticweb.org/home/ontologies/2016/10/ex#> 
SELECT * 
WHERE 
    { ?s a ex:Client . 
    ?s ?p1 ?o1 . 
    OPTIONAL 
     { ?o1 ?p2 ?o2 } . 
    } 

gibt

+-----------------+-------------------------------------------------+-----------------------------+-------------------------------------------------+-----------------------------------------------+ 
|  s  |      p1      |    o1    |      p2      |      o2      | 
+-----------------+-------------------------------------------------+-----------------------------+-------------------------------------------------+-----------------------------------------------+ 
| ex:Djamel  | ex:hasFirstName         | ex:DjamelFirstName   | ex:hasPurpose         | ex:current         | 
| ex:Djamel  | ex:hasFirstName         | ex:DjamelFirstName   | ex:hasRecipient         | ex:ours          | 
| ex:Djamel  | ex:hasFirstName         | ex:DjamelFirstName   | ex:hasRetention         | ex:no-retention        | 
| ex:Djamel  | ex:hasFirstName         | ex:DjamelFirstName   | ex:hasValue          | Nom           | 
| ex:Djamel  | ex:hasFirstName         | ex:DjamelFirstName   | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:FirstName         | 
| ex:Djamel  | ex:hasIdentityCard        | ex:DjamelIdentityCard  | ex:hasDeliveryDate        | ex:DjamelIdentityCardDeliveryDate    | 
| ex:Djamel  | ex:hasIdentityCard        | ex:DjamelIdentityCard  | ex:hasExpirationDate       | ex:DjamelIdentityCardExpirationDate   | 
| ex:Djamel  | ex:hasIdentityCard        | ex:DjamelIdentityCard  | ex:hasNumber         | ex:DjamelIdentityCardNumber     | 
| ex:Djamel  | ex:hasIdentityCard        | ex:DjamelIdentityCard  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:IdentityCard        | 
| ex:Djamel  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Client     | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Class | 
| ex:Djamel  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Client     | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Resource | 
| ex:Djamel  | ex:hasAdress         | ex:DjamelAdress    | ex:hasPurpose         | ex:current         | 
| ex:Djamel  | ex:hasAdress         | ex:DjamelAdress    | ex:hasRecipient         | ex:ours          | 
| ex:Djamel  | ex:hasAdress         | ex:DjamelAdress    | ex:hasRetention         | ex:no-retention        | 
| ex:Djamel  | ex:hasAdress         | ex:DjamelAdress    | ex:hasValue          | Mon Adresse         | 
| ex:Djamel  | ex:hasAdress         | ex:DjamelAdress    | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Adress          | 
| ex:Djamel  | ex:hasBdDate         | ex:DjamelBdDate    | ex:hasPurpose         | ex:current         | 
| ex:Djamel  | ex:hasBdDate         | ex:DjamelBdDate    | ex:hasRecipient         | ex:ours          | 
| ex:Djamel  | ex:hasBdDate         | ex:DjamelBdDate    | ex:hasRetention         | ex:no-retention        | 
| ex:Djamel  | ex:hasBdDate         | ex:DjamelBdDate    | ex:hasValue          | 19/06/1991         | 
| ex:Djamel  | ex:hasBdDate         | ex:DjamelBdDate    | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:BdDate          | 
| ex:Djamel  | ex:hasCreditCard        | ex:DjamelCreditCard   | ex:hasCCType         | ex:DjamelCCType        | 
| ex:Djamel  | ex:hasCreditCard        | ex:DjamelCreditCard   | ex:hasNumber         | ex:DjamelCreditCardNumber      | 
| ex:Djamel  | ex:hasCreditCard        | ex:DjamelCreditCard   | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:CreditCard         | 
| ex:Djamel  | ex:hasPassPort         | ex:DjamelPassPort   | ex:hasDeliveryDate        | ex:DjamelPassPortDeliveryDate     | 
| ex:Djamel  | ex:hasPassPort         | ex:DjamelPassPort   | ex:hasExpirationDate       | ex:DjamelPassPortExpirationDate    | 
| ex:Djamel  | ex:hasPassPort         | ex:DjamelPassPort   | ex:hasNumber         | ex:DjamelPassPortNumber      | 
| ex:Djamel  | ex:hasPassPort         | ex:DjamelPassPort   | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:PassPort         | 
| ex:Djamel  | ex:hasDriverLicense        | ex:DjamelDriverLicense  | ex:hasDeliveryDate        | ex:DjamelDriverLicenseDeliveryDate   | 
| ex:Djamel  | ex:hasDriverLicense        | ex:DjamelDriverLicense  | ex:hasExpirationDate       | ex:DjamelDriverLicenseExpirationDate   | 
| ex:Djamel  | ex:hasDriverLicense        | ex:DjamelDriverLicense  | ex:hasNumber         | ex:DjamelDriverLicenseNumber     | 
| ex:Djamel  | ex:hasDriverLicense        | ex:DjamelDriverLicense  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:DriverLicense        | 
| ex:Djamel  | ex:hasLastName         | ex:DjamelLastName   | ex:hasPurpose         | ex:current         | 
| ex:Djamel  | ex:hasLastName         | ex:DjamelLastName   | ex:hasRecipient         | ex:ours          | 
| ex:Djamel  | ex:hasLastName         | ex:DjamelLastName   | ex:hasRetention         | ex:no-retention        | 
| ex:Djamel  | ex:hasLastName         | ex:DjamelLastName   | ex:hasValue          | Prenom          | 
| ex:Djamel  | ex:hasLastName         | ex:DjamelLastName   | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:LastName         | 
| ex:Djamel  | ex:hasService         | ex:RentVehicle    | NA            | NA           | 
| ex:Djamel  | ex:hasAge          | ex:DjamelAge    | ex:hasPurpose         | ex:current         | 
| ex:Djamel  | ex:hasAge          | ex:DjamelAge    | ex:hasRecipient         | ex:ours          | 
| ex:Djamel  | ex:hasAge          | ex:DjamelAge    | ex:hasRetention         | ex:no-retention        | 
| ex:Djamel  | ex:hasAge          | ex:DjamelAge    | ex:hasValue          | 25           | 
| ex:Djamel  | ex:hasAge          | ex:DjamelAge    | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Age          | 
| ex:ergergghbjk_ | ex:hasAdress         | ex:ergergghbjk_Adress  | ex:hasPurpose         | ex:current         | 
| ex:ergergghbjk_ | ex:hasAdress         | ex:ergergghbjk_Adress  | ex:hasRecipient         | ex:ours          | 
| ex:ergergghbjk_ | ex:hasAdress         | ex:ergergghbjk_Adress  | ex:hasRetention         | ex:no-retention        | 
| ex:ergergghbjk_ | ex:hasAdress         | ex:ergergghbjk_Adress  | ex:hasValue          | ergdrg          | 
| ex:ergergghbjk_ | ex:hasAdress         | ex:ergergghbjk_Adress  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Adress          | 
| ex:ergergghbjk_ | ex:hasAge          | ex:ergergghbjk_Age   | ex:hasPurpose         | ex:current         | 
| ex:ergergghbjk_ | ex:hasAge          | ex:ergergghbjk_Age   | ex:hasRecipient         | ex:ours          | 
| ex:ergergghbjk_ | ex:hasAge          | ex:ergergghbjk_Age   | ex:hasRetention         | ex:no-retention        | 
| ex:ergergghbjk_ | ex:hasAge          | ex:ergergghbjk_Age   | ex:hasValue          | 4            | 
| ex:ergergghbjk_ | ex:hasAge          | ex:ergergghbjk_Age   | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Age          | 
| ex:ergergghbjk_ | ex:hasBdDate         | ex:ergergghbjk_BdDate  | ex:hasPurpose         | ex:current         | 
| ex:ergergghbjk_ | ex:hasBdDate         | ex:ergergghbjk_BdDate  | ex:hasRecipient         | ex:ours          | 
| ex:ergergghbjk_ | ex:hasBdDate         | ex:ergergghbjk_BdDate  | ex:hasRetention         | ex:no-retention        | 
| ex:ergergghbjk_ | ex:hasBdDate         | ex:ergergghbjk_BdDate  | ex:hasValue          | 31/12/2011         | 
| ex:ergergghbjk_ | ex:hasBdDate         | ex:ergergghbjk_BdDate  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:BdDate          | 
| ex:ergergghbjk_ | ex:hasIdentityCard        | ex:ergergghbjk_IdentityCard | ex:hasDeliveryDate        | ex:ergergghbjk_IdentityCardDeliveryDate  | 
| ex:ergergghbjk_ | ex:hasIdentityCard        | ex:ergergghbjk_IdentityCard | ex:hasExpirationDate       | ex:ergergghbjk_IdentityCardExpirationDate  | 
| ex:ergergghbjk_ | ex:hasIdentityCard        | ex:ergergghbjk_IdentityCard | ex:hasNumber         | ex:ergergghbjk_IdentityCardNumber    | 
| ex:ergergghbjk_ | ex:hasIdentityCard        | ex:ergergghbjk_IdentityCard | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:IdentityCard        | 
| ex:ergergghbjk_ | ex:hasPassPort         | ex:ergergghbjk_PassPort  | ex:hasDeliveryDate        | ex:ergergghbjk_PassPortDeliveryDate   | 
| ex:ergergghbjk_ | ex:hasPassPort         | ex:ergergghbjk_PassPort  | ex:hasExpirationDate       | ex:ergergghbjk_PassPortExpirationDate   | 
| ex:ergergghbjk_ | ex:hasPassPort         | ex:ergergghbjk_PassPort  | ex:hasNumber         | ex:ergergghbjk_PassPortNumber     | 
| ex:ergergghbjk_ | ex:hasPassPort         | ex:ergergghbjk_PassPort  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:PassPort         | 
| ex:ergergghbjk_ | ex:hasService         | ex:BuyBusTicket    | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2002/07/owl#NamedIndividual | 
| ex:ergergghbjk_ | ex:hasService         | ex:BuyBusTicket    | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:LandTransportationService     | 
| ex:ergergghbjk_ | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Client     | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Class | 
| ex:ergergghbjk_ | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Client     | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Resource | 
| ex:Taleb  | ex:hasAdress         | ex:TalebAdress    | ex:hasPurpose         | ex:current         | 
| ex:Taleb  | ex:hasAdress         | ex:TalebAdress    | ex:hasRecipient         | ex:ours          | 
| ex:Taleb  | ex:hasAdress         | ex:TalebAdress    | ex:hasRetention         | ex:no-retention        | 
| ex:Taleb  | ex:hasAdress         | ex:TalebAdress    | ex:hasValue          | binjk,l          | 
| ex:Taleb  | ex:hasAdress         | ex:TalebAdress    | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Adress          | 
| ex:Taleb  | ex:hasAge          | ex:TalebAge     | ex:hasPurpose         | ex:current         | 
| ex:Taleb  | ex:hasAge          | ex:TalebAge     | ex:hasRecipient         | ex:ours          | 
| ex:Taleb  | ex:hasAge          | ex:TalebAge     | ex:hasRetention         | ex:no-retention        | 
| ex:Taleb  | ex:hasAge          | ex:TalebAge     | ex:hasValue          | 2            | 
| ex:Taleb  | ex:hasAge          | ex:TalebAge     | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Age          | 
| ex:Taleb  | ex:hasBdDate         | ex:TalebBdDate    | ex:hasPurpose         | ex:current         | 
| ex:Taleb  | ex:hasBdDate         | ex:TalebBdDate    | ex:hasRecipient         | ex:ours          | 
| ex:Taleb  | ex:hasBdDate         | ex:TalebBdDate    | ex:hasRetention         | ex:no-retention        | 
| ex:Taleb  | ex:hasBdDate         | ex:TalebBdDate    | ex:hasValue          | 20/12/2013         | 
| ex:Taleb  | ex:hasBdDate         | ex:TalebBdDate    | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:BdDate          | 
| ex:Taleb  | ex:hasIdentityCard        | ex:TalebIdentityCard  | ex:hasDeliveryDate        | ex:TalebIdentityCardDeliveryDate    | 
| ex:Taleb  | ex:hasIdentityCard        | ex:TalebIdentityCard  | ex:hasExpirationDate       | ex:TalebIdentityCardExpirationDate   | 
| ex:Taleb  | ex:hasIdentityCard        | ex:TalebIdentityCard  | ex:hasNumber         | ex:TalebIdentityCardNumber     | 
| ex:Taleb  | ex:hasIdentityCard        | ex:TalebIdentityCard  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:IdentityCard        | 
| ex:Taleb  | ex:hasPassPort         | ex:TalebPassPort   | ex:hasDeliveryDate        | ex:TalebPassPortDeliveryDate     | 
| ex:Taleb  | ex:hasPassPort         | ex:TalebPassPort   | ex:hasExpirationDate       | ex:TalebPassPortExpirationDate    | 
| ex:Taleb  | ex:hasPassPort         | ex:TalebPassPort   | ex:hasNumber         | ex:TalebPassPortNumber      | 
| ex:Taleb  | ex:hasPassPort         | ex:TalebPassPort   | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:PassPort         | 
| ex:Taleb  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Client     | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Class | 
| ex:Taleb  | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | ex:Client     | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Resource | 
+-----------------+-------------------------------------------------+-----------------------------+-------------------------------------------------+-----------------------------------------------+ 
+0

Dank für Ihre große Beobachtung: Ich suchen werde, wie eine Schildkröte Format verwenden Java-jena verwenden, auch bin ich leider die Daten nicht voll war, weil es mehr als 50 Auftraggeber war Beispiel, also habe ich mein Bestes getan, diese 2 zu bekommen, auch der hasValue war nur eine Verwirrung, meine schlechte. Alles was ich fragen möchte P1 und P2 bedeutet Eigenschaften und P2 ist verschachtelt auf P1, bedeuten O1 und O2 Objekt (oder Wert) ??? –

+0

Und wissen, dass dies das erste Mal ist, dass ich diese Technologie benutze, würden Sie mir 2 Bücher empfehlen, in denen Sie sich zum Starten und zum Semantik- und Sparql-Lernen versuchen. Dies ist so interessant –

+1

Ich habe einige Änderungen an meiner Antwort (die bereits sichtbar sind) und Ihre Frage (die eine Weile dauern kann, um zu veröffentlichen.) Ich habe einen Link mit Buch & Tutorial-Vorschläge hinzugefügt. Ich habe das Semikolon (';') aus der Abfrage entfernt, was für manche Anfänger verwirrend ist. Ich fügte das 'optionale' Schlüsselwort ... hinzu, das wörtliche Anmerkungen auf einer Entität wie ex finden würde: Djamel, * wenn es irgendein * gab. –

Verwandte Themen