2017-06-16 25 views
0

我在嘗試做一個全選查詢給我的朋友的數據集。我對RDF數據集的設計有些擔心,因爲每個客戶端的URI都不同。在那種情況下,如何選擇所有查詢?這是我第一次使用RDF,所以也許我的猜測是錯誤的。如何在RDF類的所有實例上選擇全部?

這裏的數據:

<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> 

綜上所述,我們有

<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"> 

我們想獲得塔勒布和賈邁勒的所有數據。除此之外,如果有兩個以上的客戶,我怎麼能寫出類似的查詢呢?

回答

3

分享您的數據真是太好了。我做了一些修改,因爲它張貼在未完成RDF:

  • 恩:前綴沒有定義
  • 它不是包裹在打開和關閉<rdf:RDF>標籤

此外

  • 很多人會發現你的數據更容易在龜格式閱讀,而不是你貼
  • 的RDF/XML格式你也應該考慮給人類可讀rdfs:label s到所有的實體像<http://www.semanticweb.org/home/ontologies/2016/10/ex#Djamel>
  • 我覺得有點怪的DjamelFirstNamehasValue對象Nom,不Djamel。這是標籤/價值混淆的情況嗎?

這是SO answer listing some training materials你可以試試。

而且這裏是你的數據的一個片段,在龜格式,並以標籤:

@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 . 

最後兩個你的問題的線路提供了一絲朝回答:如果你想找到兩個實例信息RDF同班同學(ex:Client),你應該請求該班的所有成員。

<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"> 

這就是查詢的?s a ex:Client一部分來自。

您的數據模型對我來說看起來通常是合理的,但您必須處理它嵌套的事實。例如,ex:Djamel與代表他(?)名稱的字符串文字沒有直接關係。

我寫下了一個嵌套層次的查詢。如果您的數據實際上使用更深的嵌套,則需要修改查詢。

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

+-----------------+-------------------------------------------------+-----------------------------+-------------------------------------------------+-----------------------------------------------+ 
|  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

感謝,您的大力觀察:我會尋找到如何使用Java耶拿使用龜格式,也是我對不起的數據不完整,因爲有超過50個客戶端實例,所以我盡我所能得到這些2,也hasValue只是一個混亂我的壞。 我想問的是,P1和P2的意思是屬性,P2是嵌套在P1上的,O1和O2的意思是Object(或Value)? –

+0

並且知道這是我第一次使用這項技術,你會重新審視mes 2這本書的開頭,另一本掌握語義和sparql。這是如此interesseting –

+1

我已經做了一些編輯我的回答(已經可見)和你的問題(這可能需要一段時間後發佈。)我添加了一個書籍和教程建議的鏈接。我從查詢中刪除了分號(';')快捷鍵,一些初學者感到困惑。我添加了'可選的'關鍵字...,它可以在像ex:Djamel這樣的實體上找到任何文字註釋,*如果有*的話。 –

相關問題