티스토리 뷰
type이 여러개인 개체를 출력할 때, 한 행으로 합쳤더니 prefix없이 URI가 모두 들어가서 읽기 어려운 상태가 되었다.
원래 계획은 prefix를 붙여서 출력하고 싶었지만, 그러려면 prefix를 모두 알고 있는 상태에서 변환하는 작업이기때문에 포기하고 다른 방법을 찾았다.
http://www.w3.org/2000/01/rdf-schema#Class 이러한 URI가 있을 때, 마지막 '/'를 기준으로 가장 뒤에 있는 문자열만 출력하게 하고 싶어서 찾아본 결과 정규식을 사용한 예시를 참고하였다.
- BIND (REPLACE(STR(?type), "^.*/([^/]*)$", "$1") as ?typeName)
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?URI (GROUP_CONCAT(DISTINCT ?typeName; separator = ", ") AS ?types) ?label ?definition
WHERE {
?URI a ?type ;
rdfs:label ?label ;
skos:definition ?definition .
BIND (REPLACE(STR(?type), "^.*/([^/]*)$", "$1") as ?typeName)
}
GROUP BY ?URI ?label ?definition
1 |
"rdf-schema#Class, owl#Class"
|
"address"@en
|
"index to a location to which communications may be delivered"
|
|
2 |
"rdf-schema#Class, owl#Class"
|
"addressing scheme"
|
"system for allocating addresses to objects"
|
^.*/([^/]*)$
- ^: 이 기호는 문자열의 시작을 나타냅니다. 이 패턴은 문자열의 시작부터 매칭함
- .*: .은 어떤 문자 한 개를 나타내며, *는 그 앞에 있는 문자가 0번 이상 반복되는 것을 나타냅니다. 따라서 .*는 모든 문자(0번 이상 반복)를 의미합니다. 여기서는 문자열의 시작부터 어떤 문자열이든 매칭함
- /: 슬래시 문자(/)를 나타냅니다. 이것은 직접적으로 문자열에 있는 슬래시와 매칭시킴
- ([^/]*): 괄호로 둘러싸인 부분은 그룹으로 캡처. [^/]는 슬래시 문자를 제외한 어떤 문자 한 개를 나타내며, *는 그 앞에 있는 문자가 0번 이상 반복되는 것을 나타냅니다. 따라서 ([^/]*)는 슬래시를 제외한 어떤 문자열(0번 이상 반복)을 캡처하는 그룹을 나타냄
- $: 이 기호는 문자열의 끝을 나타냅니다.
- 결론적으로, 문자열 끝부분에서 슬래시(`/)로 시작하는 모든 문자열을 의미함
참고
Stack overflow, SPARQL - Extract Last part of a URI
반응형
'지식그래프(Knowledge Graph)' 카테고리의 다른 글
[스크랩] Going Meta - RAG with Knowledge Graphs (with Neo4j) (0) | 2024.05.20 |
---|---|
[rdflib] 네임스페이스(namespace) 추가하기(feat. schema1) (1) | 2024.01.11 |
[SPARQL] GROUP_CONCAT 여러 행을 단일 행으로 출력 (0) | 2023.08.11 |
[SPARQL] 클래스(rdf:type)별 인스턴스 수량 (0) | 2023.07.06 |
[SPARQL] Named Graph 별 트리플 수량 (0) | 2023.07.06 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Vue3
- elasticsesarch
- PostgreSQL
- 지식그래프임베딩
- SPARQL
- difflib
- 지식그래프
- vscode
- TextRank
- knowlegegraph
- LLM
- Encoding
- knowledgegraph
- KRworkrank
- python'
- volar
- v-tooltip
- MongoDB
- PEFT
- 3d-force-graph
- rdflib
- pandas
- hadoop
- Postgis
- p-tuing
- writerow
- python
- 키워드추출
- psycopg
- polars
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함