基于日期字面量的立即构造

时间:2019-03-20 21:31:46

标签: sparql owl

我有三元组断言两个不同的人(B和C)每个都有一个患者角色。这些角色分别在三个医疗保健中遇到。有一个过程边界开始每个相遇,还有一个关于每个过程边界的时间测量数据。时间测量基准的xsd:date值用谓词ns1:TURBO_0010094声明。请参阅发布结束。

我想构建一个时间轴,在该时间轴中,每次卫生保健遇到都可以先于同一个人“属于”另一方。我有一个构造“遇到X遇到Y之前先遇到”的语句,但显然会产生以下内容(使用一些 ad-hoc 缩写):

  • HCE_B1在HCE_B2之前
  • HCE_B1在HCE_B3之前
  • HCE_B2在HCE_B3之前

我只想说

  • HCE_B1在HCE_B2之前
  • HCE_B2在HCE_B3之前

是否有可能在单个construct语句中完成此操作?这是我到目前为止的内容:

PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX ns1: <http://transformunify.org/ontologies/>
construct {
    ?hce1 obo:BFO_0000063 ?hce2
}
WHERE {
    ?person rdf:type obo:NCBITaxon_9606 .
    ?patrole rdf:type obo:OMRSE_00000011 ;
             obo:RO_0000052 ?person .
    ?hce1 rdf:type obo:OGMS_0000097 ;
          obo:BFO_0000055 ?patrole .
    ?hce2 rdf:type obo:OGMS_0000097 ;
          obo:BFO_0000055 ?patrole .
    ?procbound1 rdf:type obo:BFO_0000035 ;
                obo:RO_0002223 ?hce1 .
    ?procbound2 rdf:type obo:BFO_0000035 ;
                obo:RO_0002223 ?hce2 .
    ?tmd1 rdf:type obo:IAO_0000416 ;
          obo:IAO_0000136 ?procbound1 ;
          ns1:TURBO_0010094 ?dateval1 .
    ?tmd2 rdf:type obo:IAO_0000416 ;
          obo:IAO_0000136 ?procbound2 ;
          ns1:TURBO_0010094 ?dateval2 .
    filter(?dateval2 > ?dateval1)
}

数据:

prefix obo: <http://purl.obolibrary.org/obo/> 
prefix ns1: <http://transformunify.org/ontologies/> 
prefix ns2: <http://example.org/temporality_support/>
prefix xsd: <http://www.w3.org/2001/XMLSchema#> 


obo:HTN_00000010
  a obo:NCBITaxon_9606 ;
  rdfs:label "Basil" .

obo:HTN_00000011
  a obo:NCBITaxon_9606 ;
  rdfs:label "Clara" .

obo:HTN_00000019
  a obo:OGMS_0000097 ;
  obo:BFO_0000055 obo:HTN_00000029 ;
  rdfs:label "Basil's first health care encounter" .

obo:HTN_00000029
  a obo:OMRSE_00000011 ;
  obo:RO_0000052 obo:HTN_00000010 ;
  rdfs:label "Basil's patient role" .

obo:HTN_00000020
  a obo:OGMS_0000097 ;
  obo:BFO_0000055 obo:HTN_00000029 ;
  rdfs:label "Basil's second health care encounter" .

ns2:9be7ae98-44f6-4d95-9938-4a91e1ade556
  a obo:OGMS_0000097 ;
  obo:BFO_0000055 obo:HTN_00000029 ;
  rdfs:label "Basil's third health care encounter" .

ns2:c75d9821-fa00-449c-9d0b-791c1bbbc07e
  a obo:BFO_0000035 ;
  obo:RO_0002223 ns2:9be7ae98-44f6-4d95-9938-4a91e1ade556 ;
  rdfs:label "B HCE 3 start" .

ns2:ed7bbf74-60c3-4fd7-b46f-d3fa1771e219
  a obo:IAO_0000416 ;
  obo:IAO_0000136 ns2:c75d9821-fa00-449c-9d0b-791c1bbbc07e ;
  ns1:TURBO_0010094 "2019-01-22"^^xsd:date ;
  rdfs:label "B HCE 3 start date" .

obo:HTN_00000023
  a obo:OGMS_0000097 ;
  obo:BFO_0000055 obo:HTN_00000030 ;
  rdfs:label "Clara's first health care encounter" .

obo:HTN_00000030
  a obo:OMRSE_00000011 ;
  obo:RO_0000052 obo:HTN_00000011 ;
  rdfs:label "Clara's patient role" .

ns2:5121d5e2-41ed-48e1-9253-0aa1830c3f00
  a obo:OGMS_0000097 ;
  obo:BFO_0000055 obo:HTN_00000029 ;
  rdfs:label "Clara's third health care encounter" .

ns2:bc09fab9-76fb-4072-af37-f52b49ba9c64
  a obo:BFO_0000035 ;
  obo:RO_0002223 ns2:5121d5e2-41ed-48e1-9253-0aa1830c3f00 ;
  rdfs:label "C HCE 3 start" .

ns2:881afd3a-cf77-4365-b54f-6c7c99fd1e4b
  a obo:IAO_0000416 ;
  obo:IAO_0000136 ns2:bc09fab9-76fb-4072-af37-f52b49ba9c64 ;
  ns1:TURBO_0010094 "2019-01-23"^^xsd:date ;
  rdfs:label "C HCE 3 start date" .

obo:HTN_00000025
  a obo:OGMS_0000097 ;
  obo:BFO_0000055 obo:HTN_00000030 ;
  rdfs:label "Clara's second health care encounter" .

ns2:IAO_0000416_2
  a obo:IAO_0000416 ;
  obo:IAO_0000136 ns2:BFO_0000035_2 ;
  ns1:TURBO_0010094 "2019-01-15"^^xsd:date ;
  rdfs:label "B HCE 2 start date" .

ns2:BFO_0000035_2
  a obo:BFO_0000035 ;
  obo:RO_0002223 obo:HTN_00000020 ;
  rdfs:label "B HCE 2 start" .

ns2:IAO_0000416_3
  a obo:IAO_0000416 ;
  obo:IAO_0000136 ns2:BFO_0000035_3 ;
  ns1:TURBO_0010094 "2019-01-09"^^xsd:date ;
  rdfs:label "C HCE 1 start date" .

ns2:BFO_0000035_3
  a obo:BFO_0000035 ;
  obo:RO_0002223 obo:HTN_00000023 ;
  rdfs:label "C HCE 1 start" .

ns2:IAO_0000416_4
  a obo:IAO_0000416 ;
  obo:IAO_0000136 ns2:BFO_0000035_4 ;
  ns1:TURBO_0010094 "2019-01-16"^^xsd:date ;
  rdfs:label "C HCE 2 start date" .

ns2:BFO_0000035_4
  a obo:BFO_0000035 ;
  obo:RO_0002223 obo:HTN_00000025 ;
  rdfs:label "C HCE 2 start" .

ns2:IAO_0000416_7
  a obo:IAO_0000416 ;
  obo:IAO_0000136 ns2:BFO_0000035_7 ;
  ns1:TURBO_0010094 "2019-01-08"^^xsd:date ;
  rdfs:label "B HCE 1 start date" .

ns2:BFO_0000035_7
  a obo:BFO_0000035 ;
  obo:RO_0002223 obo:HTN_00000019 ;
  rdfs:label "B HCE 1 start" .

0 个答案:

没有答案