将 TurtleSyntax 中的字符串解析为 OWLClass
Parsing string in TurtleSyntax to OWLClass
目前,我正在尝试通过首先创建 Jena OntModel 并访问 class 中的每个语句,从 Turtle 语法中的字符串创建 OWLClass。有没有更好的方法使用 OWL API 从 Turtle 语法创建 OWL Class?下面是我要解析的字符串。
@prefix p0: <http://rdf.test.com/dl_reasoning/> .
@prefix p1: <http://rdf.test.com/ns/test_rm#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
p0:safetyGoal_1 a rdfs:Class , p1:SafetyGoal ;
rdfs:subClassOf p1:SafetyGoal ;
p1:fulfilledBy p0:fsr_fuel , p0:fsr_coo .
p0:safetyGoal_3 a rdfs:Class , p1:SafetyGoalVersion ;
rdfs:subClassOf p1:SafetyGoal ;
p0:safetyGoal_2 a rdfs:Class , p1:SafetyGoalVersion ;
rdfs:subClassOf p1:SafetyGoal ;
p1:fulfilledBy p0:fsr_fuel ;
p1:fulfills p0:fsr_coo .
您尝试解析的字符串不仅仅包含 类 - 它还包含公理。为了成为一个完整的 ontology,它只缺少一个 ontology 声明。通过使用 OWLAPI 中的 Turtle 解析器之一解析它,应该可以将其直接解析为 ontology - 这将是匿名的。
您是否尝试过将其解析为 OWLOntology
?
String in = "...";
StringDocumentSource input = new StringDocumentSource(in);
OWLOntologyManager m = OWLManager.createOWLOntologyManager();
OWLOntology o = m.loadOntologtFromOntologyDocument(input);
列出公理或遍历 ontology 的签名应该为您提供足够的结构来推进您的工作。
旁注:这两行好像少了一个点:
p0:safetyGoal_3 a rdfs:Class , p1:SafetyGoalVersion ;
rdfs:subClassOf p1:SafetyGoal ;
应该有句号允许解析:
p0:safetyGoal_3 a rdfs:Class , p1:SafetyGoalVersion ;
rdfs:subClassOf p1:SafetyGoal .
目前,我正在尝试通过首先创建 Jena OntModel 并访问 class 中的每个语句,从 Turtle 语法中的字符串创建 OWLClass。有没有更好的方法使用 OWL API 从 Turtle 语法创建 OWL Class?下面是我要解析的字符串。
@prefix p0: <http://rdf.test.com/dl_reasoning/> .
@prefix p1: <http://rdf.test.com/ns/test_rm#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
p0:safetyGoal_1 a rdfs:Class , p1:SafetyGoal ;
rdfs:subClassOf p1:SafetyGoal ;
p1:fulfilledBy p0:fsr_fuel , p0:fsr_coo .
p0:safetyGoal_3 a rdfs:Class , p1:SafetyGoalVersion ;
rdfs:subClassOf p1:SafetyGoal ;
p0:safetyGoal_2 a rdfs:Class , p1:SafetyGoalVersion ;
rdfs:subClassOf p1:SafetyGoal ;
p1:fulfilledBy p0:fsr_fuel ;
p1:fulfills p0:fsr_coo .
您尝试解析的字符串不仅仅包含 类 - 它还包含公理。为了成为一个完整的 ontology,它只缺少一个 ontology 声明。通过使用 OWLAPI 中的 Turtle 解析器之一解析它,应该可以将其直接解析为 ontology - 这将是匿名的。
您是否尝试过将其解析为 OWLOntology
?
String in = "...";
StringDocumentSource input = new StringDocumentSource(in);
OWLOntologyManager m = OWLManager.createOWLOntologyManager();
OWLOntology o = m.loadOntologtFromOntologyDocument(input);
列出公理或遍历 ontology 的签名应该为您提供足够的结构来推进您的工作。
旁注:这两行好像少了一个点:
p0:safetyGoal_3 a rdfs:Class , p1:SafetyGoalVersion ;
rdfs:subClassOf p1:SafetyGoal ;
应该有句号允许解析:
p0:safetyGoal_3 a rdfs:Class , p1:SafetyGoalVersion ;
rdfs:subClassOf p1:SafetyGoal .