คนกิน

บริษัท QA ผ่านเครือข่ายสังคมออนไลน์
qacompany/qendpointqacompany/qendpoint-wikidataQENDPOINT เป็นร้านค้าสามแห่งที่ปรับขนาดได้สูงพร้อมการสนับสนุนแบบเต็มข้อความและ GEOSPARQL มันสามารถใช้เป็นจุดสิ้นสุดของ Sparql แบบสแตนด์อโลนหรือเป็นการพึ่งพา ตัวอย่าง Qendpoint นั้นใช้ใน Kohesio ซึ่งการโต้ตอบแต่ละครั้งกับ UI นั้นสอดคล้องกับการสืบค้น SPARQL พื้นฐานบน qendpoint นอกจากนี้ Qendpoint เป็นส่วนหนึ่งของคำถาม qanswer enabeling ที่ตอบคำถามกราฟ RDF
สำหรับแบ็กเอนด์/เกณฑ์มาตรฐาน
สำหรับส่วนหน้า (ไม่จำเป็นต้องเรียกใช้แบ็กเอนด์)
คุณสามารถติดตั้ง QendPoint โดยใช้ Scoop Package Manager
คุณต้องเพิ่มที่เก็บเงิน the-qa-company และจากนั้นคุณจะสามารถติดตั้ง qendpoint manifest สามารถทำได้โดยใช้คำสั่งเหล่านี้
# Add the-qa-company bucket
scoop bucket add the - qa - company https: // github.com / the - qa - company / scoop - bucket.git
# Install qEndpoint CLI
scoop install qendpointคุณสามารถติดตั้ง QendPoint โดยใช้ Brew Package Manager
คุณสามารถติดตั้งได้คือการใช้คำสั่งนี้
brew install the-qa-company/tap/qendpoint หากคุณไม่สามารถเข้าถึง Brew หรือ Scoop อินเตอร์เฟสบรรทัดคำสั่ง QendPoint จะมีอยู่ในหน้ารีลีสภายใต้ไฟล์ qendpoint-cli.zip โดยการแยกออกคุณสามารถใช้ไดเรกทอรีถังขยะที่สามารถเพิ่มลงในเส้นทางของคุณได้
โคลน qendpoint จากลิงค์นี้: git clone https://github.com/the-qa-company/qEndpoint.git
ย้ายไปที่ cd qendpoint-backend
รวบรวมโครงการโดยใช้คำสั่งนี้: mvn clean install -DskipTests
เรียกใช้โครงการโดยใช้ java -jar target/qendpoint-backend-1.2.3-exec.jar (แทนที่เวอร์ชันด้วยเวอร์ชันล่าสุด)
คุณสามารถใช้โครงการเป็นการพึ่งพา (แทนที่เวอร์ชันด้วยเวอร์ชันล่าสุด)
<dependency>
<groupId>com.the_qa_company</groupId>
<artifactId>qendpoint</artifactId>
<version>1.2.3</version>
</dependency>
git clone https://github.com/the-qa-company/qEndpoint.gitcd qendpoint-frontendnpm installnpm start ตัวติดตั้งปลายทางสำหรับ Linux, MacOS และ Windows สามารถพบได้ที่นี่ ตัวติดตั้งไม่มีบรรทัดคำสั่ง (CLI) เฉพาะจุดสิ้นสุด
คุณสามารถใช้หนึ่งในภาพนักเทียบท่าที่กำหนดไว้ล่วงหน้าของเรา
qacompany/qendpointDockerhub : Qacompany/Qendpoint
ภาพนักเทียบท่านี้มีจุดสิ้นสุดคุณสามารถอัปโหลดชุดข้อมูลของคุณและเริ่มใช้งานได้
คุณต้องเรียกใช้ภาพและจะเตรียมสภาพแวดล้อมโดยการดาวน์โหลดดัชนีและตั้งค่าที่เก็บโดยใช้ตัวอย่างด้านล่าง:
docker run -p 1234:1234 --name qendpoint qacompany/qendpointนอกจากนี้คุณยังสามารถระบุขนาดของหน่วยความจำที่จัดสรรโดยการตั้งค่าค่าสภาพแวดล้อมของ Docker Mem_size โดยค่าเริ่มต้นค่านี้ถูกตั้งค่าเป็น 6G คุณไม่ควรตั้งค่านี้ต่ำกว่า 4G เพราะคุณจะหมดหน่วยความจำด้วยชุดข้อมูลขนาดใหญ่ สำหรับชุดข้อมูลที่ใหญ่กว่านั้นขอแนะนำให้ใช้ค่าที่ใหญ่กว่าสำหรับชุดข้อมูลขนาดใหญ่เช่น Wikidata-all จะไม่ทำงานโดยไม่ต้องใช้อย่างน้อย 10 กรัม
docker run -p 1234:1234 --name qendpoint --env MEM_SIZE=6G qacompany/qendpointคุณสามารถหยุดคอนเทนเนอร์และเรียกใช้ใหม่ได้ตลอดเวลาเพื่อรักษาข้อมูลภายใน (QENDPOINT เป็นชื่อของคอนเทนเนอร์) โดยใช้คำสั่งต่อไปนี้:
docker stop qendpoint
docker start qendpoint: หมายเหตุ คอนเทนเนอร์นี้อาจครอบครองดิสก์ส่วนใหญ่เนื่องจากขนาดของดัชนีข้อมูลดังนั้นโปรดตรวจสอบให้แน่ใจว่าได้ลบคอนเทนเนอร์หากคุณไม่ต้องการอีกต่อไปโดยใช้คำสั่งด้านล่าง:
docker rm qendpointqacompany/qendpoint-wikidataDockerhub : Qacompany/Qendpoint-Wikidata
ภาพนักเทียบท่านี้มีจุดสิ้นสุดพร้อมสคริปต์เพื่อดาวน์โหลดดัชนีที่มีคำสั่ง Wikidata Truthy จากเซิร์ฟเวอร์ของเราดังนั้นคุณเพียงแค่รอการดาวน์โหลดดัชนีและเริ่มใช้งาน
คุณต้องเรียกใช้ภาพและจะเตรียมสภาพแวดล้อมโดยการดาวน์โหลดดัชนีและตั้งค่าที่เก็บโดยใช้รหัสด้านล่าง:
docker run -p 1234:1234 --name qendpoint-wikidata qacompany/qendpoint-wikidataนอกจากนี้คุณยังสามารถระบุขนาดของหน่วยความจำที่จัดสรรโดยการตั้งค่าค่าสภาพแวดล้อมของ Docker Mem_size โดยค่าเริ่มต้นค่านี้ถูกตั้งค่าเป็น 6G จะแนะนำให้ใช้ค่าที่ใหญ่กว่าสำหรับชุดข้อมูลขนาดใหญ่เช่นตัวอย่าง Wikidata-all จะไม่ทำงานโดยไม่มีอย่างน้อย 10G
docker run -p 1234:1234 --name qendpoint-wikidata --env MEM_SIZE=6G qacompany/qendpoint-wikidata คุณสามารถระบุชุดข้อมูลเพื่อดาวน์โหลดโดยใช้ค่า environnement hdt_base โดยค่าเริ่มต้นค่าคือ wikidata_truthy แต่ค่าปัจจุบันที่มีอยู่คือ:
wikidata_truthy - ข้อความความจริงของ Wikidata (ต้องการหน่วยความจำอย่างน้อย 6G )wikidata_all - คำสั่ง wikidata -all (ต้องการหน่วยความจำอย่างน้อย 10G ) docker run -p 1234:1234 --name qendpoint-wikidata --env MEM_SIZE=10G --env HDT_BASE=wikidata_all qacompany/qendpoint-wikidataคุณสามารถหยุดคอนเทนเนอร์และเรียกใช้ใหม่ได้ตลอดเวลาเพื่อรักษาข้อมูลภายใน (QENDPOINT เป็นชื่อของคอนเทนเนอร์) โดยใช้รหัสด้านล่าง:
docker stop qendpoint-wikidata
docker start qendpoint-wikidataหมายเหตุ คอนเทนเนอร์นี้อาจใช้ส่วนใหญ่ของดิสก์เนื่องจากขนาดของดัชนีข้อมูลดังนั้นโปรดตรวจสอบให้แน่ใจว่าได้ลบคอนเทนเนอร์หากคุณไม่ต้องการอีกต่อไปโดยใช้คำสั่งดังที่แสดงด้านล่าง:
docker rm qendpoint-wikidataคุณสามารถเข้าถึง http: // localhost: 1234 ที่มี GUI ที่คุณสามารถเขียนแบบสอบถาม SPARQL และดำเนินการและมี API ที่ว่างซึ่งคุณสามารถใช้เพื่อเรียกใช้การสืบค้นจากแอปพลิเคชันใด ๆ ผ่าน HTTP เช่น SO:
curl -H ' Accept: application/sparql-results+json ' localhost:1234/api/endpoint/sparql --data-urlencode ' query=select * where{ ?s ?p ?o } limit 10 'หมายเหตุ การค้นหาครั้งแรกจะใช้เวลาสักครู่เพื่อแมปดัชนีกับหน่วยความจำในภายหลังจะเร็วขึ้นมาก!
รูปแบบผลลัพธ์ส่วนใหญ่พร้อมใช้งานคุณสามารถใช้ตัวอย่างเช่น:
application/sparql-results+jsonapplication/sparql-results+xmlapplication/x-binary-rdf-results-tableคุณสามารถเรียกใช้ปลายทางด้วยคำสั่งนี้:
java -jar endpoint.jar &คุณสามารถค้นหาเทมเพลตของแอปพลิเคชันไฟล์ properties ในแหล่งแบ็กเอนด์
หากคุณมีไฟล์ HDT ของกราฟของคุณคุณสามารถวางไว้ก่อนที่จะโหลดจุดสิ้นสุดในไดเรกทอรี HDT-store (โดยค่าเริ่มต้น hdt-store/index_dev.hdt )
หากคุณไม่มี HDT คุณสามารถอัปโหลดชุดข้อมูลไปยังจุดสิ้นสุดได้โดยเรียกใช้คำสั่งในขณะที่ปลายทางกำลังทำงานอยู่:
curl " http://127.0.0.1:1234/api/endpoint/load " -F " [email protected] " ที่ mydataset.nt เป็นไฟล์ RDF ที่จะโหลดคุณสามารถใช้รูปแบบทั้งหมดที่ใช้โดย RDF4J
คุณสามารถสร้างที่เก็บ sparql โดยใช้วิธีนี้อย่าลืมที่จะเริ่มต้นที่เก็บข้อมูล
// Create a SPARQL repository
SparqlRepository repository = CompiledSail . compiler (). compileToSparqlRepository ();
// Init the repository
repository . init (); คุณสามารถดำเนินการสืบค้น SPARQL โดยใช้ executeTupleQuery , executeBooleanQuery , executeGraphQuery หรือ execute
// execute the a tuple query
try ( ClosableResult < TupleQueryResult > execute = sparqlRepository . executeTupleQuery (
// the sparql query
"SELECT * WHERE { ?s ?p ?o }" ,
// the timeout
10
)) {
// get the result, no need to close it, closing execute will close the result
TupleQueryResult result = execute . getResult ();
// the tuples
for ( BindingSet set : result ) {
System . out . println ( "Subject: " + set . getValue ( "s" ));
System . out . println ( "Predicate: " + set . getValue ( "p" ));
System . out . println ( "Object: " + set . getValue ( "o" ));
}
}อย่าลืมปิดที่เก็บหลังจากการใช้งาน
// Shutdown the repository (better to release resources)
repository . shutDown (); คุณสามารถรับที่เก็บ RDF4J ด้วยวิธี getRepository()
// get the rdf4j repository (if required)
SailRepository rdf4jRepo = repository . getRepository ();รัน Qendpoint ในพื้นที่
cd wikibase
ย้ายไฟล์ prefixes.sparql ไปยังการติดตั้ง Qendpoint ของคุณ
(อีกครั้ง) เริ่มปลายจุดสิ้นสุดของคุณเพื่อใช้คำนำหน้า
วิ่ง
java -cp wikidata-query-tools-0.3.59-SNAPSHOT-jar-with-dependencies.jar org.wikidata.query.rdf.tool.Update
--sparqlUrl http://localhost:1234/api/endpoint/sparql
--wikibaseHost https://linkedopendata.eu/
--wikibaseUrl https://linkedopendata.eu/
--conceptUri https://linkedopendata.eu/
--wikibaseScheme https
--entityNamespaces 120,122
--start 2022-06-28T11:27:08Zคุณสามารถปรับพารามิเตอร์เข้ากับ wikibase ของคุณในกรณีนี้เรากำลังสอบถามกราฟความรู้ของสหภาพยุโรปคุณอาจเปลี่ยนเวลาเริ่มต้น
ดูปัญหาเปิดสำหรับรายการคุณสมบัติที่เสนอ (และปัญหาที่รู้จัก)
ติดต่อผู้ดูแลในสถานที่หนึ่งต่อไปนี้:
หากคุณต้องการพูด ขอบคุณ หรือ/และสนับสนุนการพัฒนาที่ใช้งานของ Qendpoint:
ก่อนอื่น ขอขอบคุณ ที่สละเวลามีส่วนร่วม! การมีส่วนร่วมคือสิ่งที่ทำให้ชุมชนโอเพ่นซอร์สเป็นสถานที่ที่น่าทึ่งในการเรียนรู้สร้างแรงบันดาลใจและสร้าง การมีส่วนร่วมใด ๆ ที่คุณทำจะเป็นประโยชน์ต่อคนอื่นและได้ รับการชื่นชมอย่างมาก
โปรดอ่านแนวทางการบริจาคของเราและขอขอบคุณที่มีส่วนร่วม!
การตั้งค่าดั้งเดิมของที่เก็บนี้คือโดย บริษัท QA
สำหรับรายการทั้งหมดของผู้เขียนและผู้มีส่วนร่วมทั้งหมดให้ดูหน้าผู้มีส่วนร่วม
Qendpoint ปฏิบัติตามแนวทางปฏิบัติด้านความปลอดภัยที่ดี แต่ไม่สามารถมั่นใจได้ว่าการรักษาความปลอดภัย 100% QENDPOINT มีให้ "ตามสภาพ" โดยไม่มี การรับประกัน ใด ๆ ใช้ความเสี่ยงของคุณเอง
สำหรับข้อมูลเพิ่มเติมและเพื่อรายงานปัญหาด้านความปลอดภัยโปรดดูเอกสารความปลอดภัยของเรา
โครงการนี้ได้รับใบอนุญาตภายใต้ ใบอนุญาตสาธารณะ GNU ทั่วไป V3 พร้อมประกาศ
ดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม