직감 RDF!!그 3 - 외부 데이터를 연결할 수 있는 검색을 한다.
이 내용블로거도 공개됐다.
목적 카페는 무엇을 합니까?
이번에는 지금까지 제작된 RDF의 데이터를 사용해 약물의 목표 정보와 특허 정보를 취득할 때까지 쓰려고 한다.
외부 데이터 알지?
외부 데이터를 연결하기 위해서는 외부의 RDF 데이터를 알아야 한다.여기서 약물의 목표 정보를 알고 싶습니다.bio2rdf가 제공하는 drugbank의 정보를 봅시다.bio2rdf의 첫 페이지에서 Viox[drugbank:DB00533]를 선택합니다.오른쪽 검색 창에 drugbank: DB00143이 표시됩니다. 이것은 제가 가지고 있는 데이터의drugbank ID입니다. 여기서drugbank: DB00864로 변경하여 검색합니다.그럼 이런 페이지 열릴 거예요.여기서 타겟 알아봐.아, 있다.
아, 그거, 네가 원하는 거랑 달라?URI인 줄 알았던 당신, 클릭해 보세요.
target 찾았어!
이렇게 하면 목표를 하나의 URI로 표시하면 다른 화합물의 목표라도 사용할 수 있기 때문에 URI를 사용할 수 있다.예를 들어 URI는 Object로 바뀌었고 이번에는 Subject로서 그 앞에Predicate와 Object라고 쓰여 있으며 RDF의 데이터는 상세한 설명이 잘 존재한다(대부분 문자열이다).RDF 데이터를 직접 작성할 때도 참고할 수 있을 거예요.다만 도표가 너무 깊으면 어디에 무엇이 있는지 모를 수도 있다.
그렇다면 안에 있는 내용을 살펴보면 생물관계를 연구하는 사람이라면 이럴 때 유전인자명, 생물종류, 기타 관련 데이터베이스 ID 등을 적어 관심을 가질 수 있겠지?라는 느낌을 받았다.
아, 그런데 dcterms는 뭐예요?원하는 경우 를 클릭합니다.
어, 아무 소식도 없어!이럴 때검색 엔진 하면 기본적으로 메시지가 나온다.참고로 dcterms의 dc는 Dublin Core의 약칭으로 컴퓨터의 메타데이터를 기록하는 단어 모음집이고 타이틀은 그 제목입니다. 느낌상name과 차이가 많지 않으면 됩니다(아마 정말 엄격할 것입니다).다만, 이 일대는 길게 말아서 통용되는 것이 그런 것일까, 이런 느낌으로 사용하면 이용자로서도 좋다.
뭐, 그렇군요. 약의 목표가 어떻게 나오는지 알겠어요.아, 잘 모르겠어?그런 사람을 위해 또 그래프 ☆ 긴장했지만 배가 고팠어요.용서해 주세요.
발췌문이지.bio2rdf로 제공된, 이전에 소개한 페이지는 때때로 여러 페이지와 관련될 수 있으니 주의하십시오.
SPARQL Endpoint 가 있습니까?
그러면 RDF 검색에서 연결하려는 데이터베이스의 SPARQL Endpoint가 있는지 여부가 중요합니다.(SPARQL Endpoint는 SPARQL로 검색할 수 있고 대형 검색 창을 포착할 수 있다) 물론 많은 경우도 있다. 설령 있어도 서비스가 갑자기 끝나고 데이터 업데이트가 멈추고 떨어질 때도 있고 (··)이것만 있으면 수중의 데이터와 간단하게 연결할 수 있다.
참고로 없으면 RDF 데이터를 다운로드하세요.자신이 사용하는 삼중 저장소(SPARQL Endpoint를 서버에 직접 만들면 RDF 전용 데이터베이스를 제공하는 것을 혼동할 수도 있지만 RDF는 Resource Description Framework이고 따로 저장해야 하는 데이터베이스임).를 참고하십시오.속도상으로 그것은 더 빠르다.RDF를 사용하여 서비스를 제공하는 경우 현재 데이터를 다운로드해야 할 수도 있습니다.또한 지난번에 소개한 SparqlEPCU에서는 제공된 서비스의 서버에 큰 부하(내 예상)를 가하기 때문에 작은 데이터로 테스트하는 것이 좋다.
또 다행히도 drugbank의 SPARQL Endpoint는bio2rdf가 제공했다.검색해 보세요.
그 SPARQL Endpoint를 사용할 수 있습니까?
안타깝게도 세상에는 SPARQL Endpoint도 있습니다!라벨을 붙여도 안의 데이터가 부족해!너는 너무 약해!에 대한 사전 확인이 필요하다.앞의 예에서 웹 페이지에 실린 정보가 SPARQL Endpoint에 있는지 미리 검색해 보십시오.
태그 검색!다음과 같은 검색어에 가입해 보세요. - bio2rdf에서 제공하는 drugbank의 SPARQL EndpointPREFIX void: <http://rdfs.org/ns/void#>
PREFIX dv: <http://bio2rdf.org/bio2rdf.dataset_vocabulary:>
prefix drgb: <http://bio2rdf.org/drugbank_vocabulary:>
SELECT *
WHERE {
<http://bio2rdf.org/drugbank:DB00864> drgb:target ?o.
?o dcterms:title ?target.
}
여기, http://bio2rdf.org/drugbank:DB00864의 URI를 주어로 타겟이 될 수 있습니까?찾다
그 타이틀을 꺼내볼까?데이터로 출력하다.
검색 결과
그래, 빙고!
여기까지 사전 준비를 마쳤습니다.수중에 있는 데이터를 연결해 보세요!!
SPARQL로 연결!
지난번에 설명한 DrugTargetSPARQL Endpoint를 열어 주십시오.SERVICE를 사용하여 검색합니다.prefix drgb: <http://bio2rdf.org/drugbank_vocabulary:>
prefix dbowl: <http://dbpedia.org/ontology/>
prefix orphan: <http://www.nibio.go.jp/orphanDrugTarget#>
select distinct ?name ?product ?drugbank ?title ?target_name
where {?s drgb:name ?name;
drgb:product ?product;
dbowl:drugbank ?drugbank.
SERVICE <http://drugbank.bio2rdf.org/sparql>
{?drugbank <http://purl.org/dc/terms/title> ?title;
drgb:target ?target.
?target drgb:name ?target_name.
}
}
설명 좀 해주세요.
우선select distinct
의distinact는 중복을 제외한다는 뜻이다.그리고 여느 때처럼 ?s
에서 서브젝트를 찾아 drgb:name ?name
에서 손에 든 데이터를 꺼낸 약의 이름, ";"연결된 후에는 동일한 상태로 읽어들일 수 있습니다.drgb:product ?product
제품명,dbowl:drugbank?결말은 재난?drugbank의 URI를 지정합니다.다음은 SERVICE 이후의<http://drugbank.bio2rdf.org/sparql>
에서 외부 SPARQL Endpoint를 지정하고 방금 꺼냈습니까?drugbank의 URI를 Subject로 하고 <http://purl.org/dc/terms/title> ?title
이름을 쓰십시오 (prefix를 사용하지 않으면 URI를 바로 쓰면 OK).
시도drgb:target ?target
?타겟에 연결된 URI로 대상의 이름을 ?target drgb:name ?target_name.
로 표시합니다.
실행 결과
아마도 어떤 사람들은 표가 원래의 데이터보다 크다고 생각할 것이다. 그러나 어떤 데이터가 많으면 표의 줄 수도 데이터가 많을수록 증가한다.여기 있습니다.name의 수가 많아서 그것에 잘 어울려요.
응용해 보세요.
여기서 유전자 이름을 보고 싶다면 아래처럼 간단하게 고칠 수 있다.나는 이 부근에서 원래의 drugbank의 RDF를 조사한 것이 효과적이라는 것을 알고 있다.prefix drgb: <http://bio2rdf.org/drugbank_vocabulary:>
prefix dbowl: <http://dbpedia.org/ontology/>
prefix orphan: <http://www.nibio.go.jp/orphanDrugTarget#>
select distinct ?name ?product ?drugbank ?title ?target_name ?gene_name
where {?s drgb:name ?name;
drgb:product ?product;
dbowl:drugbank ?drugbank.
SERVICE <http://drugbank.bio2rdf.org/sparql>
{?drugbank <http://purl.org/dc/terms/title> ?title;
drgb:target ?target.
?target drgb:name ?target_name;
drgb:gene-name ?gene_name.
}
}
실행 결과
나는 특허의 정보를 알았다.
이 경우 아까drugbank 설명 페이지로 돌아가자.3페이지에서 유사한 특허의 기술이 발견되었다.
특허 번호가 뭐예요?클릭
방금 목표 정보와 같은 방법을 사용하면 특허번호를 받을 수 있다.꼭 해보세요!
배가 고파서 숙제를 해요.여러분이라면 할 수 있을 겁니다.
다른 제공된 SPARQL Endpoint를 사용하여 세 개의 매장에서 공개된 RDF 데이터를 다운로드하고 다양한 검색을 시도하십시오.연결 언어처럼 데이터를 연결해서 새로운 발견을 찾을 수 있을지도 모른다.검색을 위해 여러 SPARQL Endpoint를 연결할 수도 있습니다.이것을 통해 세계의 데이터와 연결할 수 있다.그리고 각 기관에서 제작하기 때문에 정보는 자동으로 업데이트된다.팀 버나즈 = 리가 상상하는 세계에 가깝다.큰일났다.
다만, 이제는 스트레스를 받을 정도이니 기술 혁신을 기다리고, 필요한 데이터는 스스로 내려받도록 하자.
혼자 가게 세 군데 차리면?
마지막으로 세 개의 체인점을 열 때 유용한 URL을 간단히 소개해 드리겠습니다.
다음 정보를 참조하십시오.
PREFIX void: <http://rdfs.org/ns/void#>
PREFIX dv: <http://bio2rdf.org/bio2rdf.dataset_vocabulary:>
prefix drgb: <http://bio2rdf.org/drugbank_vocabulary:>
SELECT *
WHERE {
<http://bio2rdf.org/drugbank:DB00864> drgb:target ?o.
?o dcterms:title ?target.
}
prefix drgb: <http://bio2rdf.org/drugbank_vocabulary:>
prefix dbowl: <http://dbpedia.org/ontology/>
prefix orphan: <http://www.nibio.go.jp/orphanDrugTarget#>
select distinct ?name ?product ?drugbank ?title ?target_name
where {?s drgb:name ?name;
drgb:product ?product;
dbowl:drugbank ?drugbank.
SERVICE <http://drugbank.bio2rdf.org/sparql>
{?drugbank <http://purl.org/dc/terms/title> ?title;
drgb:target ?target.
?target drgb:name ?target_name.
}
}
prefix drgb: <http://bio2rdf.org/drugbank_vocabulary:>
prefix dbowl: <http://dbpedia.org/ontology/>
prefix orphan: <http://www.nibio.go.jp/orphanDrugTarget#>
select distinct ?name ?product ?drugbank ?title ?target_name ?gene_name
where {?s drgb:name ?name;
drgb:product ?product;
dbowl:drugbank ?drugbank.
SERVICE <http://drugbank.bio2rdf.org/sparql>
{?drugbank <http://purl.org/dc/terms/title> ?title;
drgb:target ?target.
?target drgb:name ?target_name;
drgb:gene-name ?gene_name.
}
}
직감 RDF!!시리즈
1-RDF는
2 - 사용하기 쉬운 RDF를 만들어 검색한다.
Reference
이 문제에 관하여(직감 RDF!!그 3 - 외부 데이터를 연결할 수 있는 검색을 한다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/maoringo/items/f9a5b33b36beaa6b427b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)