SMW, SubObject

미디어위키를 보완하는 확장기능으로  시멘틱 미디어위키가 있는데 많이 활용되지 않는지 사례들을 찾아보려고 해도 마땅한 것들이 보이지 않는다. 구글 검색에서는 이 블로그에 예전에 소개해 놓은 것이 제일 위에 보일 지경임.

하여간 시멘틱미디어위키는 미디어위키로 만들어진 문서에 속성을 부여하고 이것을 기반으로 조회할 수 있는 것이며, 다른 글에서 덩어리로 묶인 속성 부여하는 방법에 대하여 설명했죠.

이렇게 덩어리로 묶는 것(subobject)을 여러가지로 잘 사용하고 있었는데, 조금 더 복잡한 것을 해보려니 쉽게 잘 안되서 몇가지를 궁리하고 있어요.

예를 들어서 홍길동이 지금까지 뛰었던 팀들이 울산, 포항, 대전시티즌이라고 했을 때 각 팀에서 뛰었던 선수들의 명단을 어떻게 조회하면 될까요?

우선 홍길동이라는 선수에게 played club 속성으로 울산, 포항, 대전시티즌이 들어가 있겠죠. 그 선수의 played club을 조회하는 방법은 {{#show:홍길동|?played club|link=none}}으로 하면 클럽 이름이 콤마로 구분되서 조회되요. link=none 옵션을 넣어 놓았기 때문에 순수한 문자열만 조회하게 되는거죠.  조회된 결과를 미디어위키의 explode 함수로 쉼표를 기준으로 잘라서 다른 선수를 조회하면되요. 미디어위키의 parser function에 변수로 저장하는 방법은 아직 못찾아서…

{{#ask:[[분류:선수]][[played club::{{#explode:{{#show:홍길동|?played club|link=none}} |, |0}}]]}}

이렇게 쿼리를 돌리면 해당 팀에서 뛰었던 선수들이 주주륵 나올거에요. explode에 있는 숫자 0은 울산일 것이고, 1로하면 포항, 2면 대전시티즌이 나올거에요.

그런데 지금 풀어야 하는 숙제는 엮인 정보로 해당 팀과 년도를 함께 조회하는 부분이 잘안되서….

 

2017/7/5, SMW의 subobject라는 것이 좀 애매한 것이라 조회가 쉽지 않아요.

위키에 홍길동이라는 문서에 어떤 속성값이 있으면 그 문서에 속한 속성이 되는데요, subobject로 뭔가를 정의하게 되면 홍길동의 subobject인 “홍길동#subobject이름”이 그 속성의 object가 되더군요. 그래서, 대전시티즌에서 뛰었던 선수로 조회할 때 홍길동이 조회되지 않고, 홍길동#subobject 가 조회되더군요. 여기서 필요한 홍길동을 조회하는 방법은?

Advertisements
이 글은 기타등등 카테고리에 분류되었습니다. 고유주소 북마크.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중