我有三元组断言两个不同的人(B和C)每个都有一个患者角色。这些角色分别在三个医疗保健中遇到。有一个过程边界开始每个相遇,还有一个关于每个过程边界的时间测量数据。时间测量基准的xsd:date
值用谓词ns1:TURBO_0010094
声明。请参阅发布结束。
我想构建一个时间轴,在该时间轴中,每次卫生保健遇到都可以先于同一个人“属于”另一方。我有一个构造“遇到X遇到Y之前先遇到”的语句,但显然会产生以下内容(使用一些 ad-hoc 缩写):
我只想说
是否有可能在单个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" .