如何在 RDF 类的所有实例上全选?

穆罕默德·侯赛因·塔勒布

我正在尝试对我朋友的数据集进行全选查询。我对他的 RDF 数据集的设计有些担忧,因为每个客户端的 URI 都不同。在这种情况下,如何选择所有查询?这是我第一次使用 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>0123456789</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">

我们想要获取有关 Taleb 和 Djamel 的所有数据。除此之外,当有两个以上的客户端时,我如何编写类似的查询?

马克·米勒

很高兴您分享了您的数据。我做了一些编辑,因为它不是发布的完整 RDF:

  • ex: 前缀未定义
  • 它没有包裹在开始和结束<rdf:RDF>标签中

此外

  • 许多人会发现您的数据以 TURTLE 格式更容易阅读,而不是您发布的 RDF/XML 格式
  • 您还应该考虑rdfs:label为所有实体提供人类可读的s,例如<http://www.semanticweb.org/home/ontologies/2016/10/ex#Djamel>
  • 我觉得有点奇怪, 的hasValue对象DjamelFirstNameNom,不是Djamel这是标签/值混淆的情况吗?

这是一个SO 答案,列出了您可以尝试的一些培训材料

这是您的数据片段,采用 Turtle 格式,并带有标签:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RDF架构-如何创建实例?

来自分类Dev

如何构造有效的rdf / xml?

来自分类Dev

如何创建具有依赖关系的RDF?

来自分类Dev

如何在RDF中声明对称关系?

来自分类Dev

如何改进RDF文档?

来自分类Dev

如何检索RDF属性

来自分类Dev

如何读取Freebase RDF数据?好像有点破

来自分类Dev

如何加快删除确定类型的所有RDF主题的速度?

来自分类Dev

RDB 和 RDF 映射 - 如何?

来自分类Dev

如何在ruby类中获取所有实例变量?

来自分类Dev

如何在通用Lisp中获取类的所有实例?

来自分类Dev

如何在RDF中对开放时间进行建模

来自分类Dev

如何在rdf:Seq中定义元素的类型?

来自分类Dev

如何在ShEx中测试RDF语言标签?

来自分类Dev

如何在芝麻中读取非标准RDF格式

来自分类Dev

如何在耶拿添加 <owl:Ontology rdf:about="..."/> ?

来自分类Dev

如何在JHipster API上检索实体的所有实例

来自分类Dev

如何在属性的所有实例上使用where子句

来自分类Dev

如何在JHipster API上检索实体的所有实例

来自分类Dev

如何根据属性值而不是类编写RDF域和范围限制

来自分类Dev

如何同时引用所有类实例?

来自分类Dev

如何使用Jena从RDF中选择具有特定属性的主题?

来自分类Dev

如何合并具有相同属性的RDF主题,对其值求和?

来自分类Dev

如何从SPARQL结果中排除具有特定rdf:type的资源?

来自分类Dev

在芝麻中,如何得出在主题位置具有RDF文字的RDFS / OWL实现结果?

来自分类Dev

subClassOf和RDF rdfs:Class的实例

来自分类Dev

subClassOf和RDF rdfs:Class的实例

来自分类Dev

如何在Node.js中使用rdflib.js或rdf-parser-rdfxml解析RDF / XML

来自分类Dev

如何使用RDFS和OWL定义RDF?

Related 相关文章

热门标签

归档