Sparql 询问是否存在所有指定值?
我在GraphDB中有这些三元组:Sparql 询问是否存在所有指定值?,sparql,Sparql,我在GraphDB中有这些三元组: prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> <http://example.com/greeting> a <http://example.com/word> ; rdfs:label "hello" . 健全性检查:此问题的答案为false PREFIX : <http://example.com/> PREFIX rdfs
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
<http://example.com/greeting>
a <http://example.com/word> ;
rdfs:label "hello" .
健全性检查:此问题的答案为false
PREFIX : <http://example.com/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
ASK
WHERE
{ VALUES (?l) { ("goodbye") }
?s a :thing ;
rdfs:label ?l
}
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX turbo: <http://example.org/ontologies/>
ASK
WHERE
{ { GRAPH turbo:expanded_encounters
{ VALUES ( ?previousUriTextVal ?DiagSymbVal ) {
( "http://example.org/ontologies/5f62d61cee174283a4f875ccb8bb91a1" "J44.9" )
( "http://example.org/ontologies/820dd597229244ab853ed845dd740f1f" "602.9" )
( "http://example.org/ontologies/81fcbb5c5bd141c9bde7f23321648ff7" "I50.9" )
}
FILTER NOT EXISTS { ?NewEnc rdf:type obo:OGMS_0000097 ;
turbo:previousUriText ?previousUriTextVal ;
obo:OBI_0000299 ?DiagCrid .
?DiagCrid rdf:type turbo:DiagCrid ;
obo:BFO_0000051 ?DiagSymb .
?DiagSymb rdf:type turbo:EncounterDiagCodeSymbol ;
turbo:thingLiteralValue ?DiagSymbVal
}
}
}
}
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX turbo: <http://example.org/ontologies/>
ASK
WHERE
{ GRAPH turbo:expanded_encounters
{ FILTER ( ?count = 3 )
{ SELECT (COUNT(DISTINCT ?NewEnc) AS ?count)
WHERE
{ VALUES ( ?previousUriTextVal ?DiagSymbVal ) {
( "http://example.org/ontologies/5f62d61cee174283a4f875ccb8bb91a1" "J44.9" )
( "http://example.org/ontologies/820dd597229244ab853ed845dd740f1f" "602.9" )
( "http://example.org/ontologies/81fcbb5c5bd141c9bde7f23321648ff7" "I50.9" )
}
?NewEnc rdf:type obo:OGMS_0000097 ;
turbo:previousUriText ?previousUriTextVal ;
obo:OBI_0000299 ?DiagCrid .
?DiagCrid rdf:type turbo:DiagCrid ;
obo:BFO_0000051 ?DiagSymb .
?DiagSymb rdf:type turbo:EncounterDiagCodeSymbol ;
turbo:thingLiteralValue ?DiagSymbVal
}
}
}
}
前缀:
前缀rdfs:
问
哪里
{VALUES(?l){(“再见”)}
这是一件事;
标签
}
我的团队正在开发工具,将有关医院记录的表格数据转换为RDF三元组,然后执行各种清理和聚合
- 我已经开始了这个“答案”,写了一个带有样本数据的工作流程说明李>
- 下面是@Joshua Taylor和@AKSW的建议的工作实现
表格数据首先转换为“快捷方式三元组”,这将实例化最少数量的类,并将所有文本值链接到这些类,即使这些文本值实际上是“更多关于”其他内容
这样的表格数据:
+-------+------------+----------+----------+
| EncID | EncDate | DiagCode | CodeType |
+-------+------------+----------+----------+
| 102 | 12/05/2015 | J44.9 | ICD-10 |
| 103 | 11/25/2015 | 602.9 | ICD-9 |
| 102 | 12/05/2015 | I50.9 | ICD-10 |
+-------+------------+----------+----------+
@prefix turbo: <http://purl.obolibrary.org/obo/> .
@prefix obo: <http://example.org/ontologies/> .
<http://example.org/ontologies/b9dc5b08-cf1b-465e-8773-4b19bfbcf803>
a <http://purl.obolibrary.org/obo/OGMS_0000097> ;
turbo:OBI_0000299 <http://example.org/ontologies/8a04f52f-22d2-4aab-bacf-d96e1c7fe900> ;
obo:previousUriText "http://example.org/ontologies/5f62d61cee174283a4f875ccb8bb91a1" .
obo:8a04f52f-22d2-4aab-bacf-d96e1c7fe900
a obo:DiagCrid ;
turbo:BFO_0000051 obo:6738d8c0-8bb8-4078-8430-5e9294e5af15 .
obo:6738d8c0-8bb8-4078-8430-5e9294e5af15
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "J44.9" .
obo:d3a8a700-2eb9-420d-a863-d47462fa393c
a turbo:OGMS_0000097 ;
turbo:OBI_0000299 obo:c12acc26-6dbe-486d-9ae9-9f34c9561aea ;
obo:previousUriText "http://example.org/ontologies/81fcbb5c5bd141c9bde7f23321648ff7" .
obo:c12acc26-6dbe-486d-9ae9-9f34c9561aea
a obo:DiagCrid ;
turbo:BFO_0000051 obo:3b784151-b369-4594-9ce3-285f5fe60850 .
obo:3b784151-b369-4594-9ce3-285f5fe60850
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "I50.9" .
obo:af0e949a-99e4-48cd-885b-7cb1aa3dd265
a turbo:OGMS_0000097 ;
turbo:OBI_0000299 obo:c2da52ec-7331-4011-b8f8-6fbf8b419708 ;
obo:previousUriText "http://example.org/ontologies/820dd597229244ab853ed845dd740f1f" .
obo:c2da52ec-7331-4011-b8f8-6fbf8b419708
a obo:DiagCrid ;
turbo:BFO_0000051 obo:7f8399ef-5fcd-447c-80a4-18dfb160e99c .
obo:7f8399ef-5fcd-447c-80a4-18dfb160e99c
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "602.9" .
首先变成这样的三元组(忽略EncDates和代码类型)。
前缀rdf:
前缀海外建筑运营管理局:
前缀turbo:
前缀xsd:
插入数据{
图涡轮:遭遇来自业力的业力{
turbo:5F62D61CE174283A4F875CCB8BB91A1 rdf:海外建筑运营管理局类型:OGMS_u0000097。
turbo:5f62d61cee174283a4f875ccb8bb91a1 turbo:ScEnc2DiagCode“J44.9”。
turbo:5F62D61CE174283A4F875CCB8BB91A1 turbo:ScEnc2DiagCodeRegText“ICD-10”。
turbo:5f62d61cee174283a4f875ccb8bb91a1 turbo:ScEnc2EncID“102”。
turbo:81fcbb5c5bd141c9bde7f23321648ff7 rdf:obo类型:OGMS_u0000097。
turbo:81fcbb5c5bd141c9bde7f23321648ff7 turbo:ScEnc2DiagCode“I50.9”。
turbo:81fcbb5c5bd141c9bde7f23321648ff7 turbo:ScEnc2DiagCodeRegText“ICD-10”。
turbo:81fcbb5c5bd141c9bde7f23321648ff7 turbo:ScEnc2EncID“102”。
turbo:820dd597229244ab853ed845dd740f1f rdf:obo类型:OGMS_u0000097。
turbo:820dd597229244ab853ed845dd740f1f turbo:ScEnc2DiagCode“602.9”。
turbo:820dd597229244ab853ed845dd740f1f turbo:ScEnc2DiagCodeRegText“ICD-9”。
turbo:820dd597229244ab853ed845dd740f1f turbo:ScEnc2EncID“103”。}
}
然后像这样展开
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX turbo: <http://example.org/ontologies/>
INSERT {
GRAPH turbo:expanded_encounters {
?NewEnc rdf:type obo:OGMS_0000097 .
?NewEnc turbo:previousUriText ?previousUriText .
?NewEnc obo:OBI_0000299 ?DiagCrid .
?DiagCrid rdf:type turbo:DiagCrid .
?DiagCrid obo:BFO_0000051 ?DiagSymb .
?DiagSymb rdf:type turbo:EncounterDiagCodeSymbol .
?DiagSymb turbo:thingLiteralValue ?DiagSymbVal .
}
}
WHERE
{ GRAPH turbo:encounters_from_karma
{ ?EncFromKarma
rdf:type obo:OGMS_0000097 ;
turbo:ScEnc2DiagCode ?DiagSymbVal
BIND(str(?EncFromKarma) AS ?previousUriText)
BIND(uri(concat("http://transformunify.org/ontologies/", struuid())) AS ?NewEnc)
BIND(uri(concat("http://transformunify.org/ontologies/", struuid())) AS ?DiagCrid)
BIND(uri(concat("http://transformunify.org/ontologies/", struuid())) AS ?DiagSymb)
}
}
前缀rdf:
前缀海外建筑运营管理局:
前缀turbo:
插入{
图turbo:扩展的_遭遇{
?NewEnc rdf:海外建筑运营管理局类型:OGMS_uu0000097。
?NewEnc turbo:previousUriText?previousUriText。
?新建海外建筑运营管理局:OBI_0000299?诊断。
?DiagCrid rdf:涡轮类型:DiagCrid。
?DiagCrid海外建筑运营管理局:BFO_u0000051?DiagSymb。
?DiagSymb rdf:涡轮类型:遇到AGCODESYMBOL。
?DiagSymb涡轮:thingLiteralValue?DiagSymbVal。
}
}
哪里
{图涡轮:遭遇来自业力的业力
{因果报应
rdf:海外建筑运营管理局类型:OGMS_0000097;
turbo:ScEnc2DiagCode?DiagSymbVal
绑定(str(?EncFromKarma)为之前的文本)
绑定(uri)(concat(“http://transformunify.org/ontologies/,struid())作为?NewEnc)
绑定(uri)(concat(“http://transformunify.org/ontologies/,struid())作为?DiagCrid)
绑定(uri)(concat(“http://transformunify.org/ontologies/,struid())作为?DiagSymb)
}
}
因此看起来是这样的:
+-------+------------+----------+----------+
| EncID | EncDate | DiagCode | CodeType |
+-------+------------+----------+----------+
| 102 | 12/05/2015 | J44.9 | ICD-10 |
| 103 | 11/25/2015 | 602.9 | ICD-9 |
| 102 | 12/05/2015 | I50.9 | ICD-10 |
+-------+------------+----------+----------+
@prefix turbo: <http://purl.obolibrary.org/obo/> .
@prefix obo: <http://example.org/ontologies/> .
<http://example.org/ontologies/b9dc5b08-cf1b-465e-8773-4b19bfbcf803>
a <http://purl.obolibrary.org/obo/OGMS_0000097> ;
turbo:OBI_0000299 <http://example.org/ontologies/8a04f52f-22d2-4aab-bacf-d96e1c7fe900> ;
obo:previousUriText "http://example.org/ontologies/5f62d61cee174283a4f875ccb8bb91a1" .
obo:8a04f52f-22d2-4aab-bacf-d96e1c7fe900
a obo:DiagCrid ;
turbo:BFO_0000051 obo:6738d8c0-8bb8-4078-8430-5e9294e5af15 .
obo:6738d8c0-8bb8-4078-8430-5e9294e5af15
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "J44.9" .
obo:d3a8a700-2eb9-420d-a863-d47462fa393c
a turbo:OGMS_0000097 ;
turbo:OBI_0000299 obo:c12acc26-6dbe-486d-9ae9-9f34c9561aea ;
obo:previousUriText "http://example.org/ontologies/81fcbb5c5bd141c9bde7f23321648ff7" .
obo:c12acc26-6dbe-486d-9ae9-9f34c9561aea
a obo:DiagCrid ;
turbo:BFO_0000051 obo:3b784151-b369-4594-9ce3-285f5fe60850 .
obo:3b784151-b369-4594-9ce3-285f5fe60850
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "I50.9" .
obo:af0e949a-99e4-48cd-885b-7cb1aa3dd265
a turbo:OGMS_0000097 ;
turbo:OBI_0000299 obo:c2da52ec-7331-4011-b8f8-6fbf8b419708 ;
obo:previousUriText "http://example.org/ontologies/820dd597229244ab853ed845dd740f1f" .
obo:c2da52ec-7331-4011-b8f8-6fbf8b419708
a obo:DiagCrid ;
turbo:BFO_0000051 obo:7f8399ef-5fcd-447c-80a4-18dfb160e99c .
obo:7f8399ef-5fcd-447c-80a4-18dfb160e99c
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "602.9" .
@前缀turbo:。
@前缀obo:。
A.
turbo:OBI_0000299;
海外建筑运营管理局:先前的“文本”http://example.org/ontologies/5f62d61cee174283a4f875ccb8bb91a1" .
海外建筑运营管理局:8a04f52f-22d2-4aab-bacf-d96e1c7fe900
海外建筑运营管理局:DiagCrid;
涡轮增压器:BFO_0000051海外建筑运营管理局:6738d8c0-8bb8-4078-8430-5e9294e5af15。
海外建筑运营管理局:6738d8c0-8bb8-4078-8430-5e9294e5af15
海外建筑运营管理局:遭遇AGCODESYMBOL;
海外建筑运营管理局:thingLiteralValue“J44.9”。
海外建筑运营管理局:d3a8a700-2eb9-420d-a863-d47462fa393c
涡轮增压器:OGMS_u0000097;
turbo:OBI_0000299海外建筑运营管理局:C12AC26-6dbe-486d-9ae9-9f34c9561aea;
海外建筑运营管理局:先前的“文本”http://example.org/ontologies/81fcbb5c5bd141c9bde7f23321648ff7" .
海外建筑运营管理局:C12AC26-6dbe-486d-9ae9-9f34c9561aea
海外建筑运营管理局:DiagCrid;
turbo:BFO_0000051海外建筑运营管理局:3b784151-b369-4594-9ce3-285f5fe60850。
海外建筑运营管理局:3b784151-b369-4594-9ce3-285f5fe60850
海外建筑运营管理局:遭遇AGCODESYMBOL;
海外建筑运营管理局:thingLiteralValue“I50.9”。
海外建筑运营管理局:af0e949a-99e4-48cd-885b-7cb1aa3dd265
涡轮增压器:OGMS_u0000097;
turbo:OBI_0000299海外建筑运营管理局:c2da52ec-7331-4011-b8f8-6fbf8b419708;
海外建筑运营管理局:先前的“文本”http://example.org/ontologies/820dd597229244ab853ed845dd740f1f" .
海外建筑运营管理局:c2da52ec-7331-4011-b8f8-6fbf8b419708
海外建筑运营管理局:DiagCrid;
涡轮增压器:BFO_0000051海外建筑运营管理局:7f8399ef-5fcd-447c-80a4-18dfb160e99c。
海外建筑运营管理局:7f8399ef-5fcd-447c-80a4-18dfb160e99c
海外建筑运营管理局:遭遇AGCODESYMBOL;
海外建筑运营管理局:thingLiteralValue“602.9”。
最后,我可以根据@Joshua Taylor或@AKSW:
+-------+------------+----------+----------+
| EncID | EncDate | DiagCode | CodeType |
+-------+------------+----------+----------+
| 102 | 12/05/2015 | J44.9 | ICD-10 |
| 103 | 11/25/2015 | 602.9 | ICD-9 |
| 102 | 12/05/2015 | I50.9 | ICD-10 |
+-------+------------+----------+----------+
@prefix turbo: <http://purl.obolibrary.org/obo/> .
@prefix obo: <http://example.org/ontologies/> .
<http://example.org/ontologies/b9dc5b08-cf1b-465e-8773-4b19bfbcf803>
a <http://purl.obolibrary.org/obo/OGMS_0000097> ;
turbo:OBI_0000299 <http://example.org/ontologies/8a04f52f-22d2-4aab-bacf-d96e1c7fe900> ;
obo:previousUriText "http://example.org/ontologies/5f62d61cee174283a4f875ccb8bb91a1" .
obo:8a04f52f-22d2-4aab-bacf-d96e1c7fe900
a obo:DiagCrid ;
turbo:BFO_0000051 obo:6738d8c0-8bb8-4078-8430-5e9294e5af15 .
obo:6738d8c0-8bb8-4078-8430-5e9294e5af15
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "J44.9" .
obo:d3a8a700-2eb9-420d-a863-d47462fa393c
a turbo:OGMS_0000097 ;
turbo:OBI_0000299 obo:c12acc26-6dbe-486d-9ae9-9f34c9561aea ;
obo:previousUriText "http://example.org/ontologies/81fcbb5c5bd141c9bde7f23321648ff7" .
obo:c12acc26-6dbe-486d-9ae9-9f34c9561aea
a obo:DiagCrid ;
turbo:BFO_0000051 obo:3b784151-b369-4594-9ce3-285f5fe60850 .
obo:3b784151-b369-4594-9ce3-285f5fe60850
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "I50.9" .
obo:af0e949a-99e4-48cd-885b-7cb1aa3dd265
a turbo:OGMS_0000097 ;
turbo:OBI_0000299 obo:c2da52ec-7331-4011-b8f8-6fbf8b419708 ;
obo:previousUriText "http://example.org/ontologies/820dd597229244ab853ed845dd740f1f" .
obo:c2da52ec-7331-4011-b8f8-6fbf8b419708
a obo:DiagCrid ;
turbo:BFO_0000051 obo:7f8399ef-5fcd-447c-80a4-18dfb160e99c .
obo:7f8399ef-5fcd-447c-80a4-18dfb160e99c
a obo:EncounterDiagCodeSymbol ;
obo:thingLiteralValue "602.9" .
@Joshua Taylor
前缀rdf:
前缀海外建筑运营管理局:
前缀turbo:
问
哪里
{{GRAPH turbo:扩展的_遭遇
{值(?以前的UritexVal?DiagSymbVal){
( "http://example.org/ontologies/5f62d61cee174283a4f875ccb8bb91a1“J44.9”)
( "http://example.org/ontologies/820dd597229244ab853ed845dd740f1f" "602.9" )
( "http://example.org/ontologies/81fcbb5c5bd141c9bde7f23321648ff7“I50.9”)
}
筛选器不存在{NewEnc rdf:type obo:OGMS_0000097;
turbo:previousUriText?previousUriTextVal;
海外建筑运营管理局:OBI_0000299?DiagCrid。
?DiagCrid rdf:涡轮类型:DiagCrid;
海外建筑运营管理局:BFO_u0000051?诊断码。
?DiagSymb rdf:涡轮类型:遇到AGCODESYMBOL;
涡轮:thingLiteralValue?DiagSymbVal
}
}
}
}
@AKSW
前缀rdf:
前缀海外建筑运营管理局:
前缀turbo:
问
哪里
{GRAPH turbo:expanded_
{过滤器(?计数=3)
{选择(COUNT(DISTINCT?NewEnc)作为?COUNT)
哪里
{值(?以前的UritexVal?DiagSymbVal){