/ जेना जावा एपीआई - जावा, एपीआई, जेना, उल्लू, ऑन्कोलॉजी

कैसे आंटलजी से ऑब्जेक्ट गुण को पढ़ने के लिए जेना जावा एपीआई का उपयोग-जावा, एपीआई, जेना, उल्लू, आंटलजी

मैंने अब तक अपनी ऑन्कोलॉजी खोली है और अब मैं सभी वस्तुओं को पढ़ना चाहता हूं और उनके गुणों को प्रदर्शित करना चाहता हूं:

मेरे पास अगला कोड है:

// Opening the ontology.
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
model.read("file:C:/Users/Antonio/Desktop/myOntology.owl","OWL");


// Going through the ontology
for (Iterator<OntClass> i = model.listClasses();i.hasNext();){
OntClass cls = i.next();
System.out.print(cls.getLocalName()+": ");

// here I want to show the properties
}

जो सिर्फ वर्गों का नाम दिखाता है, लेकिन उनके गुणों का नहीं। मैं प्रलेखन पढ़ रहा हूं, लेकिन मुझे कुछ भी उपयोगी नहीं लगता।

उम्मीद है कि कोई मेरी मदद कर सकता है।

अग्रिम में धन्यवाद।

उत्तर:

जवाब के लिए 0 № 1

मुझे यकीन नहीं है कि आप सभी गुणों को क्यों चाहते हैं, लेकिन आप आसानी से ऐसा कर सकते हैं। सबसे पहले जेना के लिए आयात करना सुनिश्चित करें। import org.apache.jena.ontology.OntProperty;

तो आप बस पाश के लिए अपने अंदर कर सकते हैं: cls.listDeclaredProperties().toList()

यदि आप एक विशिष्ट संपत्ति की सामग्री का उपयोग करना चाहते हैं, तो आप इसे इस तरह से कर सकते हैं: अपनी जाँच .owl यूआरआई के लिए फ़ाइल जो आम तौर पर कुछ इस तरह दिखती है "http://example.com/ontology#"

तो आपका जावा कोड इस तरह दिखने वाला है: OntProperty nameOfProperty = model.getOntProperty("http://example.com/ontology#nameOfyourProperty");

फिर अपने पाश के अंदर आप उदाहरण के लिए कुछ ऐसा कर सकते हैं: cls.getProperty(nameOfProperty).getString()

और वैसे आपकी फ़ाइल पढ़ने से पहले आप इसे एक कोशिश कैच स्टेटमेंट में रखना चाह सकते हैं। उम्मीद है कि मदद की।


जवाब के लिए 0 № 2

कोड मुद्रण कक्षाएं हैं क्योंकि listClasses() ऑन्कोलॉजी की कक्षाएं देता है। व्यक्तियों के ऑब्जेक्ट गुणों को प्रिंट करने के लिए, आप OWL API का उपयोग कर सकते हैं