모듈:엔티티 확인이드
Module| 이 모듈은 베타 등급으로 널리 사용될 준비가 되었습니다.아직 새 제품이므로 결과가 예상대로 나오도록 주의하여 사용해야 합니다. |
| 이 Lua 모듈은 전체 페이지의 약 1%인 약 457,000 페이지에서 사용됩니다. 큰 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 사항은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경사항을 구현하기 전에 대화 페이지에서 변경사항에 대해 논의하는 것을 고려합니다. |
사용.
mw와 유사한 기능을 합니다.wikibase.resolvePropertyId이지만 속성 대신 Wikidata 엔티티에 사용할 수 있습니다.
지정된 레이블 또는 ID에 대한 엔티티 ID를 반환합니다.이렇게 하면 모든 위치에서 ID 대신 엔티티 레이블을 사용할 수 있습니다.레이블 또는 ID에 대한 도면요소를 찾을 수 없거나 레이블이 모호할 경우 0 값이 반환됩니다.
레이블을 확인하려고 할 때 영어 위키백과 사이트 링크가 있는 엔티티만 검색에 고려됩니다.Wikidata에 레이블이 있지만 필요한 언어 사이트 링크가 없는 경우 nil 값이 반환됩니다.
모듈 내에서 호출(_id)
모듈 내의 호출 예는 다음과 같습니다.
| 코드 | 결과 | 메모들 |
|---|---|---|
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드('Q42') | id=Q42 | "Q42"는 유효한 Wikidata ID이며, 해당 ID의 Wikidata 항목이 존재하므로 그대로 반환됩니다. |
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드('Q0') | id=nil | "Q0"은 유효한 위키데이터 아이디가 아니며, 위키백과 글 Q0이 존재하는 동안에는 명확성이 없는 페이지이므로nil반환됨 |
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드('Q404') | id=Q404 | "Q404"는 Q395로 리디렉션되는 Wikidata이므로 후자가 반환됩니다. |
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드('Q2147483647') | id=nil | Q2147483647은 유효한 Wikidata ID이지만 해당 ID를 가진 엔티티가 없습니다.nil반환됨 |
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드(더글러스 애덤스) | id=Q42 | 문서 Douglas Adams가 존재하며 Wikidata ID "Q42"를 가지고 있으므로 이 문서는 반환됩니다. |
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드(이것은 실제 Wikidata가 아닙니다.항목') | id=nil | "This IsNotArealWikidataItem"은 올바른 Wikidata ID가 아니며 This IsNotArealWikidataItem에 위키백과 문서가 없습니다.nil반환됨 |
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드(이것은 실제 Wikidata가 아닙니다.항목', 'Wikidata ID를 찾을 수 없습니다!') | id='Wikidata ID not found!' | 위와 동일하지만 사용자 정의 오류 메시지Wikidata ID not found!반환됨 |
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드(더글러스 애덤스) | id=Q42 | "Douglas adams"는 유효한 Wikidata ID가 아니며, Douglas adams( 소문자 "a" 포함)가 존재하지만 Douglas Adams로 리디렉션됩니다.따라서 후자의 페이지에 대한 Wikidata ID가 반환됩니다. |
현지의 엔티티 확인이드 = 요구하다( "모듈:엔티티 ID 확인" )._id 이드 = 엔티티 확인이드('위키피디아:빌리지 펌프(기술)/아카이브 1') | id=nil | "위키피디아:Village pump(기술)/Archive 1"은 유효한 Wikidata ID가 아니며, Wikipedia:Village pump(기술)/Archive 1이 존재하며, Wikidata ID가 없으므로nil반환됨 |
템플릿 내에서 사용(엔티티 ID)
다음은 엔티티 ID를 반환합니다(ID가 없는 경우에는 아무것도 반환하지 않습니다).{{#invoke:ResolveEntityId entityid id}}
다음은 엔티티 ID(또는 ID가 없는 경우 대체 텍스트)를 반환합니다.{{#invoke:ResolveEntityId entityid id alternate text if id is nil}}
이전 _entityid 함수
그_entityid첫 번째 인수로 프레임을 전달해야 하는 함수는 더 이상 phab에 대한 해결 방법이 필요하지 않기 때문에 모듈에서 제거되었습니다.T143970.
현지의 p = {} 기능. p._id(idOrTitle, 알트의) 현지의 기능. checkId(이드) 한다면 이드 그리고. mw.위키베이스.엔티티가 존재합니다.(이드) 그리고나서 현지의 사이트 링크 = mw.위키베이스.사이트 링크 가져오기(이드) 한다면 사이트 링크 그리고나서 돌아가다 mw.위키베이스.제목에 대한 엔티티 ID 가져오기(사이트 링크) 또는 mw.위키베이스.엔티티 가져오기(이드).이드 끝. 돌아가다 mw.위키베이스.엔티티 가져오기(이드).이드 또 다른 돌아가다 알트의 끝. 끝. 한다면 유형(idOrTitle) == '끈' 그리고나서 idOrTitle = mw.ustring.위쪽의(mw.ustring.후보선수(idOrTitle, 1, 1)) .. mw.ustring.후보선수(idOrTitle, 2) 한다면 mw.위키베이스.유효한 엔티티입니다.이드(idOrTitle) 그리고나서 idOrTitle이 Wikidata 엔티티 ID의 올바른 형식입니다. 돌아가다 checkId(idOrTitle) 또 다른 현지의 이드 = mw.위키베이스.제목에 대한 엔티티 ID 가져오기(idOrTitle) 한다면 이드 그리고나서 idOrTitle은 Wikidata 엔티티와 일치하는 제목입니다. 현지의 의 인스턴스 O. = mw.위키베이스.베스트 문 가져오기(이드, 'P31')[1] -- 대신에 한다면 것은 아니다. 의 인스턴스 O. 또는 의 인스턴스 O..메인스낵.데이터 값.가치.이드 ~= 'Q4167410' 그리고나서 값 인스턴스(instance-of-value)가 누락되었거나 "명확하지 않은" 값입니다. 돌아가다 checkId(이드) 끝. 또 다른 idOrTitle이 제목이지만 해당 제목에 대한 Wikidata 항목이 없습니다. 현지의 페이지입니다. = mw.제목.신규(idOrTitle) 한다면 페이지입니다. 그리고나서 유효한 제목 현지의 목표물 = 페이지입니다..대상 리디렉션 한다면 목표물 그리고나서 제목은 위키백과 리다이렉트입니다. 돌아가다 p._id(목표물.전체 텍스트, 알트의) 끝. 끝. 끝. 끝. 끝. 돌아가다 알트의 끝. 기능. p.엔티티 ID(틀) 돌아가다 p._id(틀.논병아리[1], 틀.논병아리[2]) 끝. 돌아가다 p