필자는 내 자신의 온톨로지 (클래스, 속성 등을 정의했다)를 개발했으며 sparql을 사용하여 내 온톨로지를 조사하려고합니다.python에서 sparql, rdflib로 온톨로지를 조사하는 방법
protégé 2000 (오픈 소스 온톨로지 편집기)에서 모든 것이 잘 작동하지만 파이썬에서 요청한 sparql을 구현할 때 몇 가지 문제가 발생했습니다.
나는 자바로 만들었지 만 효과가 있지만 원하는 것은 아니지만 pyjnius
(파이썬 모듈로 파이썬 클래스로 자바 클래스에 액세스)하고 싶었다.하지만 아무 것도 작동하지 않았다.
내 온톨로지를 조사하기 위해 sparql을 어떻게 사용할 수 있습니까? 파이썬에서 jena를 사용할 방법이 있습니까?
try{
Model model = ModelFactory.createDefaultModel();
String FName = "C:\\Users\\p\\Desktop\\protégé project jour\\jour.owl";
InputStream inStr = FileManager.get().open(FName);
if (inStr == null) { throw new IllegalArgumentException("Fichier non trouvé");}
// Lire le fichier RDF vers le modèle précédemment créé.
model.read(inStr, "");
//****************************
String requete =
//***=====This is the query that works good in the ontology with properties between classes
"PREFIX OntoJO:<http://www.owl-ontologies.com/Ontology1400008538.owl#>" +
"SELECT ?path " +
"WHERE { "
+ " ?n OntoJO:signee_par '"+choixsignrech1.getText()+"' ."
+ " ?s OntoJO:mot_cle '"+choixclrech1.getText()+"' ."
+ " ?m OntoJO:secteur '"+choixsecrech1.getSelectedItem()+"' ."
+ " ?f OntoJO:ministere '"+choixminisrech1.getSelectedItem()+"' ."
+ " ?r OntoJO:synonymes '"+choixsyrech1.getText()+"' ."
+ "?n OntoJO:a_un_chemin ?y . "
+ "?s OntoJO:a_un_chemin ?y . "
+ "?m OntoJO:a_un_chemin ?y . "
+ "?f OntoJO:a_un_chemin ?y . "
+ "?r OntoJO:a_un_chemin ?y . "
+ "?y OntoJO:chemin ?path . }";
Query query = QueryFactory.create(requete);
QueryExecution qexec = QueryExecutionFactory.create(query, model);
try {
ResultSet results = qexec.execSelect();
while (results.hasNext()){
QuerySolution soln = results.nextSolution();
RDFNode name = soln.get("path");
System.out.println(name);
javax.swing.JOptionPane.showMessageDialog(this,soln.get("path"));
}
} finally
{
qexec.close();
}
속성은 다음과 같습니다 : signee_par, mot_cle, SECTEUR, ministere 등 ..... (프랑스어)의 sqarql 요청이 이러한 속성
을 기반으로 내가 자바와 그것을 어떻게은이다
저는 파이썬으로하고 싶습니다. 누구나 할 수있는 방법을 알고 있습니까?!
"Protege 2000"이란 무엇입니까? 그리고 SPARQL 쿼리와 파이썬 코드와 같은 훨씬 더 많은 정보를 추가하십시오. 그리고 "어떤 문제"를 의미합니까? 당신에 대해 아무런 정보도없이 아무도 정말로 당신을 도울 수 없다고 상상할 수 없습니까? – AKSW
@AKSW 미안하지만, 나는 요점을 설명하지 못했다. 나는 단지 포스트를 편집했다. 나는 자바 코드 coz를 보여 주었다. 파이썬으로 어떻게하는지 모르지만, 아무것도 시도하지 않았다. – Mehdi
당신이 시도한 것을 보는 것이 도움이 될 것입니다 ... 저는 Kivy 프레임 워크를 조금 다루었으며 현재 파이썬 Android 앱을 작성 중입니다 ... Pyjnius는 Kivy.org에서 모르는 사람들을위한 것입니다 – Jarvis