Как создать класс со свойствами с помощью RDFlib

Я пытаюсь разработать онтологию с использованием Python RDFLib. Я новичок в python и RDFlib. Может ли кто-нибудь привести простой пример того, как я могу создать класс, добавив свойства в этот класс, создать объект/индивида этого класса. Я разработал такое же приложение в java, используя Jena API, я мог бы создать свойства типа данных и свойства типа объекта для классов, используя Jena API. Можем ли мы сделать то же самое с помощью RDFLib? заранее спасибо


person RatheeshTS    schedule 06.12.2019    source источник
comment
для OWL owlready2 будет более ориентированным на OWL API. Для RDFlib просто добавьте тройки RDF. Документы доступны в Интернете и показывают, как добавлять данные в граф RDF в RDFLib: rdflib.readthedocs .io/en/stable/gettingstarted.html   -  person UninformedUser    schedule 06.12.2019
comment
Спасибо, братан, но я уже попробовал OWLready, и мне было очень трудно его установить, они продолжали спрашивать дистрибутив Visual C++. Мой вопрос в том, как создать класс и его объект в RDFReady.   -  person RatheeshTS    schedule 06.12.2019
comment
и я показал вам ссылку на документы для RDFLib. они объясняют, как добавлять RDF-тройки в граф, или нет? И создание экземпляра с некоторым присвоенным классом и свойствами — это не что иное, как добавление троек RDF, или нет?   -  person UninformedUser    schedule 06.12.2019
comment
Вы, кажется, мыслите в терминах объектной ориентации. Вы можете посмотреть мой блог как OWL относится к объектной ориентации.   -  person Henriette Harmse    schedule 07.12.2019
comment
Итак, мы говорим, что мы не можем использовать rdflib для создания классов?   -  person Laeeq Khan    schedule 21.12.2020
comment
Нет, но я использовал OWLReady2 для своего проекта, я чувствовал, что это проще и удобнее. Пожалуйста, посмотрите мой ответ   -  person RatheeshTS    schedule 21.12.2020


Ответы (1)


Привет, спасибо за вашу поддержку, я установил owlready 2 через anaconda с помощью этой команды conda install -c conda-forge owlready2 [https://anaconda.org/conda-forge/owlready2][1]

Я могу легко создавать классы и отдельные лица, используя OWLReady2.

 from owlready2 import *
onto = get_ontology("http://elearning.org/onto.owl")

"""Functions to create Ontology class"""
with onto:
 class Student(Thing):
       pass
 class LearningMaterial(Thing):
      pass
 class readBook(ObjectProperty):
  domain = [Student]
  range  = [LearningMaterial]
 class Age(DataProperty):
  domain = [Student]
  range=[str]
 class Gender(DataProperty):
  domain = [Student]
  range=[str]
 class Qualification(DataProperty):
  domain = [Student]
  range=[str] 
 class Branch(DataProperty):
  domain = [Student]
  range=[str]
 class Background_Knowledge(DataProperty):
  domain = [Student]
  range=[str]
 class Active_Reflective(DataProperty):
  domain = [Student]
  range=[str] 
 class AR_Value(DataProperty):
  domain = [Student]
  range=[int] 
 class Sensitive_Intutive(DataProperty):
  domain = [Student]
  range=[str]
 class S_I_Value(DataProperty):
  domain = [Student]
  range=[int]
 class Visual_Verbal(DataProperty):
  domain = [Student]
  range=[str]
 class S_I_Value(DataProperty):
  domain = [Student]
  range=[int]
  class S_I_Value(DataProperty):
  domain = [Student]
  range=[int]
  class S_I_Value(DataProperty):
  domain = [Student]
  range=[int]
 def createStudentIndividual(stud):
  """This method will create Student Object"""
  studobj=Student(stud[0], namespace = onto, Age = [stud[1]],
  Gender=[stud[2]],Qualification=[stud[3]],Branch=[stud[4]],
  Background_Knowledge=[stud[5]],Active_Reflective=[stud[6]]
  ,AR_Value=[stud[7]],Sensitive_Intutive=[stud[8]],S_I_Value=[stud[9]])

#save ontology to a File
def saveOntology():
 onto.save(file = "learnsystem.owl", format = "rdfxml")

createStudentIndividual(["Ratheesh",'19','1','2','3','3','3',3,'3',3,3]) 

saveOntology()
person RatheeshTS    schedule 12.12.2019