diff --git a/src/ldtab_2_ofn/axiom_translation.rs b/src/ldtab_2_ofn/axiom_translation.rs index f889449..afd53de 100644 --- a/src/ldtab_2_ofn/axiom_translation.rs +++ b/src/ldtab_2_ofn/axiom_translation.rs @@ -62,7 +62,7 @@ pub fn translate_subclass_of_axiom(subclass: &owl::OWL, superclass: &owl::OWL) - /// assert_eq!(axiom, axiom_expected); /// /// let subclass = "\"_:genID123\""; -/// let superclass = r#"{"owl:members":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}]}"#; +/// let superclass = r#"{"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}]}"#; /// /// let subclass_owl : owl::OWL = serde_json::from_str(subclass).unwrap(); /// let superclass_owl : owl::OWL = serde_json::from_str(superclass).unwrap(); @@ -234,7 +234,7 @@ pub fn translate_sub_property_of(subject: &owl::OWL, object: &owl::OWL) -> Value /// use wiring_rs::owl::thick_triple as owl; /// /// let blank_node = "\"_:genID123\""; -/// let properties = r#"{"owl:members":[{"datatype":"_JSON","object":{"rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}]}"#; +/// let properties = r#"{"":[{"datatype":"_JSON","object":{"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}]}"#; /// /// let blank_node_owl : owl::OWL = serde_json::from_str(blank_node).unwrap(); /// let properties_owl : owl::OWL = serde_json::from_str(properties).unwrap(); @@ -274,7 +274,7 @@ pub fn translate_all_disjoint_properties(_subject: &owl::OWL, object: &owl::OWL) /// use wiring_rs::ldtab_2_ofn::axiom_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let operands = r#"{"owl:members":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}]}"#; +/// let operands = r#"{"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}]}"#; /// let operands_owl : owl::OWL = serde_json::from_str(operands).unwrap(); /// /// let axiom : Value = translation::translate_disjoint_classes(&operands_owl); @@ -346,7 +346,7 @@ pub fn translate_disjoint_with(subject: &owl::OWL, object: &owl::OWL) -> Value { /// use wiring_rs::owl::thick_triple as owl; /// /// let union = "\"obo:IAO_0000120\""; -/// let operands = r#"{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}"#; +/// let operands = r#"{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}"#; /// /// let union_owl : owl::OWL = serde_json::from_str(union).unwrap(); /// let operands_owl : owl::OWL = serde_json::from_str(operands).unwrap(); @@ -383,7 +383,7 @@ pub fn translate_disjoint_union(union: &owl::OWL, operands: &owl::OWL) -> Value /// ``` /// use wiring_rs::ldtab_2_ofn::axiom_translation as translation; /// -/// let operator = "rdfs:Datatype"; +/// let operator = ""; /// let ofn_operator = translation::get_ofn_operator(operator); /// let ofn_operator_expected = "Datatype"; /// @@ -391,8 +391,8 @@ pub fn translate_disjoint_union(union: &owl::OWL, operands: &owl::OWL) -> Value ///``` pub fn get_ofn_operator(op: &str) -> Value { match op { - "rdfs:Datatype" => Value::String(String::from("Datatype")), - "owl:Class" => Value::String(String::from("Class")), + "" => Value::String(String::from("Datatype")), + "" => Value::String(String::from("Class")), "owl:ObjectProperty" => Value::String(String::from("ObjectProperty")), "owl:DatatypeProperty" => Value::String(String::from("DataProperty")), "owl:AnnotationProperty" => Value::String(String::from("AnnotationProperty")), @@ -409,7 +409,7 @@ pub fn get_ofn_operator(op: &str) -> Value { "owl:AsymmetricProperty" => Value::String(String::from("AsymmetricObjectProperty")), "owl:TransitiveProperty" => Value::String(String::from("TransitiveObjectProperty")), - "owl:AllDifferent" => Value::String(String::from("DifferentIndividuals")), + "" => Value::String(String::from("DifferentIndividuals")), "owl:Ontology" => Value::String(String::from("ThinTriple")), @@ -417,7 +417,7 @@ pub fn get_ofn_operator(op: &str) -> Value { } } -/// Given the OWL expressions lhs and rhs of an RDF triple with property "rdf:type", +/// Given the OWL expressions lhs and rhs of an RDF triple with property "", /// return the corresponding OFN S-expression. /// /// #Examples @@ -630,7 +630,7 @@ pub fn translate_same_as(lhs: &owl::OWL, rhs: &owl::OWL) -> Value { /// use wiring_rs::owl::thick_triple as owl; /// /// let blank_node = "\"_:genID123\""; -/// let arguments = r#"{"owl:members":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}]}"#; +/// let arguments = r#"{"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}]}"#; /// /// let blank_node_owl : owl::OWL = serde_json::from_str(blank_node).unwrap(); /// let arguments_owl : owl::OWL = serde_json::from_str(arguments).unwrap(); @@ -702,7 +702,7 @@ pub fn translate_different_from(lhs: &owl::OWL, rhs: &owl::OWL) -> Value { /// use wiring_rs::owl::thick_triple as owl; /// /// let blank_node = "\"_:genID123\""; -/// let arguments = r#"{"owl:members":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}]}"#; +/// let arguments = r#"{"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}]}"#; /// /// let blank_node_owl : owl::OWL = serde_json::from_str(blank_node).unwrap(); /// let arguments_owl : owl::OWL = serde_json::from_str(arguments).unwrap(); @@ -734,7 +734,7 @@ pub fn translate_all_different(_lhs: &owl::OWL, rhs: &owl::OWL) -> Value { /// where T(lhs) and T(rhs) are OFN S-expressions. /// /// let lhs = "\"obo:IAO_0000122\""; -/// let rhs = r#"{"rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}"#; +/// let rhs = r#"{"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":""}]}}]}"#; /// /// let lhs_owl : owl::OWL = serde_json::from_str(lhs).unwrap(); /// let rhs_owl : owl::OWL = serde_json::from_str(rhs).unwrap(); diff --git a/src/ldtab_2_ofn/class_translation.rs b/src/ldtab_2_ofn/class_translation.rs index b6add62..0fec20c 100644 --- a/src/ldtab_2_ofn/class_translation.rs +++ b/src/ldtab_2_ofn/class_translation.rs @@ -100,7 +100,7 @@ pub fn translate_named(s: String) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let some_values_from = r#"{"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"owl:someValuesFrom":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let some_values_from = r#"{"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":""}]}"#; /// let some_values_from_owl : owl::OWL = serde_json::from_str(some_values_from).unwrap(); /// /// let axiom : Value = translation::translate(&some_values_from_owl); @@ -128,7 +128,7 @@ pub fn translate_some_values_from(exp: &owl::SomeValuesFrom) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let all_values_from = r#"{"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"owl:allValuesFrom":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let all_values_from = r#"{"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":""}]}"#; /// let all_values_from_owl : owl::OWL = serde_json::from_str(all_values_from).unwrap(); /// /// let axiom : Value = translation::translate(&all_values_from_owl); @@ -156,7 +156,7 @@ pub fn translate_all_values_from(exp: &owl::AllValuesFrom) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let has_value = r#"{"owl:hasValue":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let has_value = r#"{"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// let has_value_owl : owl::OWL = serde_json::from_str(has_value).unwrap(); /// @@ -185,7 +185,7 @@ pub fn translate_has_value(exp: &owl::HasValue) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let has_self = r#"{"owl:hasSelf":[{"datatype":"_IRI","object":"true^^xsd:boolean"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let has_self = r#"{"":[{"datatype":"_IRI","object":"true^^xsd:boolean"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let has_self_owl : owl::OWL = serde_json::from_str(has_self).unwrap(); /// @@ -216,7 +216,7 @@ pub fn translate_has_self(exp: &owl::HasSelf) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let min_cardinality = r#"{"owl:minCardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let min_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let min_cardinality_owl : owl::OWL = serde_json::from_str(min_cardinality).unwrap(); /// @@ -247,7 +247,7 @@ pub fn translate_min_cardinality(exp: &owl::MinCardinality) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let min_cardinality = r#"{"owl:minQualifiedCardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onClass":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let min_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let min_cardinality_owl : owl::OWL = serde_json::from_str(min_cardinality).unwrap(); /// @@ -281,7 +281,7 @@ pub fn translate_object_min_qualified_cardinality( /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let min_cardinality = r#"{"owl:minQualifiedCardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onDataRange":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let min_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let min_cardinality_owl : owl::OWL = serde_json::from_str(min_cardinality).unwrap(); /// @@ -311,7 +311,7 @@ pub fn translate_data_min_qualified_cardinality(exp: &owl::MinDataQualifiedCardi /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let max_cardinality = r#"{"owl:maxCardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let max_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let max_cardinality_owl : owl::OWL = serde_json::from_str(max_cardinality).unwrap(); /// @@ -342,7 +342,7 @@ pub fn translate_max_cardinality(exp: &owl::MaxCardinality) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let max_cardinality = r#"{"owl:maxQualifiedCardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onClass":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let max_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let max_cardinality_owl : owl::OWL = serde_json::from_str(max_cardinality).unwrap(); /// @@ -377,7 +377,7 @@ pub fn translate_object_max_qualified_cardinality( /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let max_cardinality = r#"{"owl:maxQualifiedCardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onDataRange":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let max_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let max_cardinality_owl : owl::OWL = serde_json::from_str(max_cardinality).unwrap(); /// @@ -407,7 +407,7 @@ pub fn translate_data_max_qualified_cardinality(exp: &owl::MaxDataQualifiedCardi /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let exact_cardinality = r#"{"owl:cardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let exact_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let exact_cardinality_owl : owl::OWL = serde_json::from_str(exact_cardinality).unwrap(); /// @@ -438,7 +438,7 @@ pub fn translate_exact_cardinality(exp: &owl::ExactCardinality) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let exact_cardinality = r#"{"owl:qualifiedCardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onClass":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let exact_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let exact_cardinality_owl : owl::OWL = serde_json::from_str(exact_cardinality).unwrap(); /// @@ -473,7 +473,7 @@ pub fn translate_object_exact_qualified_cardinality( /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let exact_cardinality = r#"{"owl:qualifiedCardinality":[{"datatype":"xsd:int","object":"1"}],"owl:onDataRange":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"owl:onProperty":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Restriction"}]}"#; +/// let exact_cardinality = r#"{"":[{"datatype":"","object":"1"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let exact_cardinality_owl : owl::OWL = serde_json::from_str(exact_cardinality).unwrap(); /// @@ -505,7 +505,7 @@ pub fn translate_data_exact_qualified_cardinality( /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let members = r#"{"owl:members":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}]}"#; +/// let members = r#"{"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}]}"#; /// /// let members_owl : owl::OWL = serde_json::from_str(members).unwrap(); /// @@ -529,7 +529,7 @@ pub fn translate_members(exp: &owl::Members) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let members = r#"{"rdf:type":[{"object":"owl:AllDifferent","datatype":"_IRI"}],"owl:distinctMembers":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}]}"#; +/// let members = r#"{"":[{"object":"","datatype":"_IRI"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}]}"#; /// let members_owl : owl::DistinctMembers = serde_json::from_str(members).unwrap(); /// /// let axiom : Value = translation::translate_distinct_members(&members_owl); @@ -549,7 +549,7 @@ pub fn translate_distinct_members(exp: &owl::DistinctMembers) -> Value { }; let operator = match rdf_type.as_str() { - "owl:AllDifferent" => Value::String(String::from("DifferentIndividuals")), + "" => Value::String(String::from("DifferentIndividuals")), _ => Value::String(String::from("Error")), }; @@ -571,7 +571,7 @@ pub fn translate_distinct_members(exp: &owl::DistinctMembers) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let list = r#"{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}"#; +/// let list = r#"{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}"#; /// let list_owl : owl::RDFList = serde_json::from_str(list).unwrap(); /// /// let list : Value = translation::translate_list(&list_owl); @@ -586,7 +586,7 @@ pub fn translate_list(exp: &owl::RDFList) -> Value { let mut rest = translate(&exp.rdf_rest[0].object); //base case for RDF lists - if rest.is_string() && rest.as_str().unwrap() == "rdf:nil" { + if rest.is_string() && rest.as_str().unwrap() == "" { let mut v = Vec::new(); v.push(first); Value::Array(v) @@ -624,7 +624,7 @@ pub fn check_class_type(v: &Option>) -> bool { match &t.object { //look for an owl:Class owl::OWL::Named(s) => { - if s == "owl:Class" { + if s == "" { res = true } } @@ -649,7 +649,7 @@ pub fn check_data_range_type(v: &Option>) -> bool { //check all types match &t.object { owl::OWL::Named(s) => { - if s == "rdfs:Datatype" { + if s == "" { res = true } } @@ -672,7 +672,7 @@ pub fn check_data_range_type(v: &Option>) -> bool { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let intersection = r#"{"owl:intersectionOf":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}],"rdf:type":[{"datatype":"_IRI","object":"owl:Class"}]}"#; +/// let intersection = r#"{"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let intersection_owl : owl::OWL = serde_json::from_str(intersection).unwrap(); /// @@ -712,7 +712,7 @@ pub fn translate_intersection_of(exp: &owl::IntersectionOf) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let union = r#"{"owl:unionOf":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}],"rdf:type":[{"datatype":"_IRI","object":"owl:Class"}]}"#; +/// let union = r#"{"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let union_owl : owl::OWL = serde_json::from_str(union).unwrap(); /// @@ -752,7 +752,7 @@ pub fn translate_union_of(exp: &owl::UnionOf) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let one_of = r#"{"owl:oneOf":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"rdf:rest":[{"datatype":"_JSON","object":{"datatype":"_JSON","rdf:first":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"rdf:rest":[{"datatype":"_IRI","object":"rdf:nil"}]}}]}}]}}],"rdf:type":[{"datatype":"_IRI","object":"owl:Class"}]}"#; +/// let one_of = r#"{"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000121"}],"":[{"datatype":"_JSON","object":{"datatype":"_JSON","":[{"datatype":"_IRI","object":"obo:IAO_0000122"}],"":[{"datatype":"_IRI","object":""}]}}]}}]}}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let one_of_owl : owl::OWL = serde_json::from_str(one_of).unwrap(); /// @@ -793,7 +793,7 @@ pub fn translate_one_of(exp: &owl::OneOf) -> Value { /// use wiring_rs::ldtab_2_ofn::class_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let complement = r#"{"owl:complementOf":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"rdf:type":[{"datatype":"_IRI","object":"owl:Class"}]}"#; +/// let complement = r#"{"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}],"":[{"datatype":"_IRI","object":""}]}"#; /// /// let complement_owl : owl::OWL = serde_json::from_str(complement).unwrap(); /// diff --git a/src/ldtab_2_ofn/property_translation.rs b/src/ldtab_2_ofn/property_translation.rs index a0a1e95..648d6ea 100644 --- a/src/ldtab_2_ofn/property_translation.rs +++ b/src/ldtab_2_ofn/property_translation.rs @@ -30,7 +30,7 @@ pub fn translate_named(s: String) -> Value { /// use wiring_rs::ldtab_2_ofn::property_translation as translation; /// use wiring_rs::owl::thick_triple as owl; /// -/// let inverse_of = r#"{"owl:inverseOf":[{"datatype":"_IRI","object":"obo:IAO_0000120"}]}"#; +/// let inverse_of = r#"{"":[{"datatype":"_IRI","object":"obo:IAO_0000120"}]}"#; /// let inverse_of_owl : owl::InverseOf = serde_json::from_str(inverse_of).unwrap(); /// /// let inverse_of_ofn : Value = translation::translate_inverse_of(&inverse_of_owl); diff --git a/src/ldtab_2_ofn/translation.rs b/src/ldtab_2_ofn/translation.rs index 1da8106..fd02f97 100644 --- a/src/ldtab_2_ofn/translation.rs +++ b/src/ldtab_2_ofn/translation.rs @@ -12,14 +12,14 @@ use serde_json::Value; /// use serde_json::{Value}; /// use wiring_rs::ldtab_2_ofn::translation as translation; /// let thick_triple_string = r#"{"subject": "obo:IAO_0000120", -/// "predicate": "rdfs:subClassOf", -/// "object": {"owl:someValuesFrom": [{"object": "obo:OBI_0500000", +/// "predicate": "", +/// "object": {"": [{"object": "obo:OBI_0500000", /// "datatype":"_iri", /// "meta":null}], -/// "rdf:type": [{"object": "owl:Restriction", +/// "": [{"object": "", /// "datatype":"_iri", /// "meta":null}], -/// "owl:onProperty": [{"object": "obo:BFO_0000050", +/// "": [{"object": "obo:BFO_0000050", /// "datatype":"_iri", /// "meta":null}]}, /// "annotation": null, @@ -70,53 +70,53 @@ fn translate_triple(subject: &str, predicate: &str, object: &str) -> Value { let object_json = parser::parse_thick_triple_object(object); match predicate_json.as_str() { - "rdfs:subClassOf" => { + "" => { axiom_translation::translate_subclass_of_axiom(&subject_json, &object_json) } - "owl:equivalentClass" => { + "" => { axiom_translation::translate_equivalent_class(&subject_json, &object_json) } - "owl:AllDisjointClasses" => axiom_translation::translate_disjoint_classes(&object_json), - "owl:disjointUnionOf" => { + "" => axiom_translation::translate_disjoint_classes(&object_json), + "" => { axiom_translation::translate_disjoint_union(&subject_json, &object_json) } - "owl:disjointWith" => { + "" => { axiom_translation::translate_disjoint_with(&subject_json, &object_json) } - "rdf:type" => axiom_translation::translate_rdf_type(&subject_json, &object_json), - "rdfs:domain" => axiom_translation::translate_domain(&subject_json, &object_json), - "rdfs:range" => axiom_translation::translate_range(&subject_json, &object_json), - "owl:inverseOf" => { + "" => axiom_translation::translate_rdf_type(&subject_json, &object_json), + "" => axiom_translation::translate_domain(&subject_json, &object_json), + "" => axiom_translation::translate_range(&subject_json, &object_json), + "" => { axiom_translation::translate_inverse_object_properties(&subject_json, &object_json) } - "owl:equivalentProperty" => { + "" => { axiom_translation::translate_equivalent_properties(&subject_json, &object_json) } - "owl:propertyDisjointWith" => { + "" => { axiom_translation::translate_property_disjoint_with(&subject_json, &object_json) } - "owl:AllDisjointProperties" => { + "" => { axiom_translation::translate_all_disjoint_properties(&subject_json, &object_json) } - "rdfs:subPropertyOf" => { + "" => { axiom_translation::translate_sub_property_of(&subject_json, &object_json) } - "owl:AllDifferent" => { + "" => { axiom_translation::translate_all_different(&subject_json, &object_json) } - "owl:differentFrom" => { + "" => { axiom_translation::translate_different_from(&subject_json, &object_json) } - "owl:sameAs" => axiom_translation::translate_same_as(&subject_json, &object_json), - "owl:AllSameAs" => axiom_translation::translate_all_same_as(&subject_json, &object_json), - "owl:propertyChainAxiom" => { + "" => axiom_translation::translate_same_as(&subject_json, &object_json), + "" => axiom_translation::translate_all_same_as(&subject_json, &object_json), + "" => { axiom_translation::translate_property_chain(&subject_json, &object_json) } - "owl:NegativePropertyAssertion" => { + "" => { axiom_translation::translate_negative_property_assertion(&subject_json, &object_json) } - "owl:hasKey" => axiom_translation::translate_has_key(&subject_json, &object_json), - "owl:imports" => axiom_translation::translate_import(&subject_json, &object_json), + "" => axiom_translation::translate_has_key(&subject_json, &object_json), + "" => axiom_translation::translate_import(&subject_json, &object_json), _ => axiom_translation::translate_thin_triple(subject, predicate, object), } diff --git a/src/ofn_2_ldtab/axiom_translation.rs b/src/ofn_2_ldtab/axiom_translation.rs index 46d0e7e..3239732 100644 --- a/src/ofn_2_ldtab/axiom_translation.rs +++ b/src/ofn_2_ldtab/axiom_translation.rs @@ -51,8 +51,8 @@ pub fn translate_class_declaration(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":class, - "predicate":"rdf:type", - "object":"owl:Class", + "predicate":"", + "object":"", "datatype":"_IRI", "annotation":annotation }); @@ -72,7 +72,7 @@ pub fn translate_ontology_import(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject": subject, - "predicate":"owl:imports", + "predicate":"", "object": object, "datatype":"_IRI", "annotation":annotation @@ -112,7 +112,7 @@ pub fn translate_class_assertion_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":individual, - "predicate":"rdf:type", + "predicate":"", "object":class, "datatype":"_IRI", "annotation":annotation @@ -179,10 +179,10 @@ pub fn translate_negative_object_property_assertion_axiom(v: &Value) -> Value { let from = class_translation::translate(&owl[2]); let to = class_translation::translate(&owl[3]); - let blank_node = json!({"predicate":"owl:NegativePropertyAssertion", - "object": {"owl:sourceIndividual":[{"object":from}], - "owl:assertionProperty":[{"object":property}], - "owl:targetIndividual":[{"object":to}]}, + let blank_node = json!({"predicate":"", + "object": {"":[{"object":from}], + "":[{"object":property}], + "":[{"object":to}]}, "datatype":"_IRI"}); let blank_sorted = util::sort_value(&blank_node); @@ -198,11 +198,11 @@ pub fn translate_negative_object_property_assertion_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":blank_node_id, - "predicate":"owl:NegativePropertyAssertion", + "predicate":"", "object":{ - "owl:sourceIndividual":[{"object":from}], - "owl:assertionProperty":[{"object":property}], - "owl:targetIndividual":[{"object":to}] + "":[{"object":from}], + "":[{"object":property}], + "":[{"object":to}] }, "datatype":"_IRI", "annotation":annotation @@ -221,10 +221,10 @@ pub fn translate_negative_data_property_assertion_axiom(v: &Value) -> Value { let from = class_translation::translate(&owl[2]); let to = class_translation::translate(&owl[3]); - let blank_node = json!({"predicate":"owl:NegativePropertyAssertion", - "object": {"owl:sourceIndividual":[{"object":from}], - "owl:assertionProperty":[{"object":property}], - "owl:targetIndividual":[{"object":to}]}, + let blank_node = json!({"predicate":"", + "object": {"":[{"object":from}], + "":[{"object":property}], + "":[{"object":to}]}, "datatype":"_IRI"}); let blank_sorted = util::sort_value(&blank_node); @@ -240,11 +240,11 @@ pub fn translate_negative_data_property_assertion_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":blank_node_id, - "predicate":"owl:NegativePropertyAssertion", + "predicate":"", "object":{ - "owl:sourceIndividual":[{"object":from}], - "owl:assertionProperty":[{"object":property}], - "owl:targetIndividual":[{"object":to}] + "":[{"object":from}], + "":[{"object":property}], + "":[{"object":to}] }, "datatype":"_IRI", "annotation":annotation @@ -269,7 +269,7 @@ pub fn translate_same_individuals_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":lhs, - "predicate":"owl:sameAs", + "predicate":"", "object":rhs, "datatype":util::translate_datatype(&json!(rhs)), "annotation":annotation}); @@ -279,8 +279,8 @@ pub fn translate_same_individuals_axiom(v: &Value) -> Value { let annotation = annotation_translation::translate_annotations(&annotations); //NB: IRIs are not expanded by wiring - this is LDTab's responsibility - let blank_node = json!({"predicate":"owl:AllSameAs", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, + let blank_node = json!({"predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, "datatype":"_JSONMAP"}); let blank_sorted = util::sort_value(&blank_node); @@ -295,9 +295,9 @@ pub fn translate_same_individuals_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":blank_node_id, - //"predicate":"owl:sameAs", - "predicate":"owl:AllSameAs", //this is LDtab specific - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, //TODO remove datatype + //"predicate":"", + "predicate":"", //this is LDtab specific + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, //TODO remove datatype "datatype":"_JSONMAP", "annotation":annotation}); triple @@ -319,7 +319,7 @@ pub fn translate_different_individuals_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":lhs, - "predicate":"owl:differentFrom", + "predicate":"", "object":rhs, "datatype":util::translate_datatype(&json!(rhs)), "annotation":annotation}); @@ -329,8 +329,8 @@ pub fn translate_different_individuals_axiom(v: &Value) -> Value { let annotation = annotation_translation::translate_annotations(&annotations); //NB: IRIs are not expanded by wiring - this is LDTab's responsibility - let blank_node = json!({"predicate":"owl:AllDifferent", - "object": {"owl:distinctMembers":[{"object":operands, "datatype":"_JSONLIST"}]}, + let blank_node = json!({"predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, "datatype":"_JSONMAP"}); let blank_sorted = util::sort_value(&blank_node); @@ -345,8 +345,8 @@ pub fn translate_different_individuals_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":blank_node_id, - "predicate":"owl:AllDifferent", - "object": {"owl:distinctMembers":[{"object":operands, "datatype":"_JSONLIST"}]}, + "predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, "datatype":"_JSONMAP", "annotation":annotation}); triple @@ -369,8 +369,8 @@ pub fn translate_object_property_declaration(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":property, - "predicate":"rdf:type", - "object":"owl:ObjectProperty", + "predicate":"", + "object":"", "datatype":"_IRI", "annotation":annotation }); @@ -393,8 +393,8 @@ pub fn translate_data_property_declaration(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":property, - "predicate":"rdf:type", - "object":"owl:DatatypeProperty", + "predicate":"", + "object":"", "datatype":"_IRI", "annotation":annotation }); @@ -417,8 +417,8 @@ pub fn translate_annotation_property_declaration(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":property, - "predicate":"rdf:type", - "object":"owl:AnnotationProperty", + "predicate":"", + "object":"", "datatype":"_IRI", "annotation":annotation }); @@ -441,7 +441,7 @@ pub fn translate_datatype_definition(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":lhs, - "predicate":"owl:equivalentClass", + "predicate":"", "object":rhs, "datatype":"_IRI", "annotation":annotation @@ -466,8 +466,8 @@ pub fn translate_datatype_declaration(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":datatype, - "predicate":"rdf:type", - "object":"rdfs:Datatype", + "predicate":"", + "object":"", "datatype":"_IRI", "annotation":annotation }); @@ -491,8 +491,8 @@ pub fn translate_individual_declaration(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":individual, - "predicate":"rdf:type", - "object":"owl:NamedIndividual", + "predicate":"", + "object":"", "datatype":"_IRI", "annotation":annotation }); @@ -518,7 +518,7 @@ pub fn translate_sub_object_property(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":sup, - "predicate":"owl:propertyChainAxiom", + "predicate":"", "object":sub, "datatype":"_JSONLIST", "annotation":annotation @@ -532,7 +532,7 @@ pub fn translate_sub_object_property(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":sub, - "predicate":"rdfs:subPropertyOf", + "predicate":"", "object":sup, "datatype":util::translate_datatype(&json!(sup)), "annotation":annotation @@ -553,7 +553,7 @@ pub fn translate_sub_data_property(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":sub, - "predicate":"rdfs:subPropertyOf", + "predicate":"", "object":sup, "datatype":util::translate_datatype(&json!(sup)), "annotation":annotation @@ -575,7 +575,7 @@ pub fn translate_subclass_of_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":subclass, - "predicate":"rdfs:subClassOf", + "predicate":"", "object":superclass, "datatype":util::translate_datatype(&json!(superclass)), "annotation":annotation @@ -598,7 +598,7 @@ pub fn translate_sub_annotation_property_of_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":lhs, - "predicate":"rdfs:subPropertyOf", + "predicate":"", "object":rhs, "datatype":util::translate_datatype(&json!(rhs)), "annotation":annotation @@ -619,7 +619,7 @@ pub fn translate_disjoint_classes_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":lhs, - "predicate":"owl:disjointWith", + "predicate":"", "object": rhs, "datatype":util::translate_datatype(&json!(rhs)), "annotation":annotation}); @@ -628,14 +628,15 @@ pub fn translate_disjoint_classes_axiom(v: &Value) -> Value { let operands: Value = class_translation::translate_list(&(owl.as_array().unwrap())[1..]); let annotation = annotation_translation::translate_annotations(&annotations); - let blank_node = json!({"predicate":"owl:AllDisjointClasses", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}],"rdf:type":[{"datatype":"_IRI","object":"owl:AllDisjointClasses"}]}, - "datatype": "_JSONMAP"}); + let blank_node = json!({"":[{"object":operands, "datatype":"_JSONLIST"}],"":[{"datatype":"_IRI","object":""}]}); + //"annotation":annotation}); let blank_sorted = util::sort_value(&blank_node); let blank_string = blank_sorted.to_string(); + println!("Blank node: {}", blank_string); + let mut hasher = Sha256::new(); hasher.update(blank_string.as_bytes()); let blank_node_hash = hasher.finalize(); @@ -645,8 +646,8 @@ pub fn translate_disjoint_classes_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":blank_node_id, - "predicate":"owl:AllDisjointClasses", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}],"rdf:type":[{"datatype":"_IRI","object":"owl:AllDisjointClasses"}]}, + "predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}],"":[{"datatype":"_IRI","object":""}]}, "datatype": "_JSONMAP", "annotation":annotation}); triple @@ -666,7 +667,7 @@ pub fn translate_disjoint_union_of_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":lhs, - "predicate":"owl:disjointUnionOf", + "predicate":"", "object":operands, "datatype": "_JSONLIST", "annotation":annotation}); @@ -690,7 +691,7 @@ pub fn translate_equivalent_classes_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":lhs, - "predicate":"owl:equivalentClass", + "predicate":"", "object":rhs, "datatype":util::translate_datatype(&json!(rhs)), "annotation":annotation}); @@ -699,8 +700,8 @@ pub fn translate_equivalent_classes_axiom(v: &Value) -> Value { let operands: Value = class_translation::translate_list(&(owl.as_array().unwrap())[1..]); let annotation = annotation_translation::translate_annotations(&annotations); - let blank_node = json!({"predicate":"owl:equivalentClass", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, + let blank_node = json!({"predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, "datatype":"_JSONMAP"}); let blank_sorted = util::sort_value(&blank_node); @@ -715,8 +716,8 @@ pub fn translate_equivalent_classes_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":blank_node_id, - "predicate":"owl:equivalentClass", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, //TODO remove datatype + "predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, //TODO remove datatype "datatype":"_JSONMAP", "annotation":annotation}); triple @@ -735,7 +736,7 @@ pub fn translate_object_property_domain_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":property, - "predicate":"rdfs:domain", + "predicate":"", "object":domain, "datatype": util::translate_datatype(&json!(domain)), "annotation":annotation}); @@ -754,7 +755,7 @@ pub fn translate_object_property_range_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":property, - "predicate":"rdfs:range", + "predicate":"", "object":range, "datatype": util::translate_datatype(&json!(range)), "annotation":annotation}); @@ -773,7 +774,7 @@ pub fn translate_annotation_property_domain_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":property, - "predicate":"rdfs:domain", + "predicate":"", "object":domain, "datatype": util::translate_datatype(&json!(domain)), "annotation":annotation}); @@ -792,7 +793,7 @@ pub fn translate_annotation_property_range_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":property, - "predicate":"rdfs:range", + "predicate":"", "object":range, "datatype": util::translate_datatype(&json!(range)), "annotation":annotation}); @@ -815,7 +816,7 @@ pub fn translate_equivalent_properties_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":lhs, - "predicate":"owl:equivalentProperty", + "predicate":"", "object":rhs, "datatype":util::translate_datatype(&json!(rhs)), "annotation":annotation}); @@ -824,8 +825,8 @@ pub fn translate_equivalent_properties_axiom(v: &Value) -> Value { let operands: Value = property_translation::translate_list(&(owl.as_array().unwrap())[1..]); let annotation = annotation_translation::translate_annotations(&annotations); - let blank_node = json!({"predicate":"owl:equivalentProperty", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, + let blank_node = json!({"predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, "datatype":"_JSONMAP"}); let blank_sorted = util::sort_value(&blank_node); @@ -840,8 +841,8 @@ pub fn translate_equivalent_properties_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":blank_node_id, - "predicate":"owl:equivalentProperty", //TODO AllEquivalentProperties? - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, //TODO remove datatype + "predicate":"", //TODO AllEquivalentProperties? + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, //TODO remove datatype "datatype":"_JSONMAP", "annotation":annotation}); triple @@ -860,7 +861,7 @@ pub fn translate_data_property_domain_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":property, - "predicate":"rdfs:domain", + "predicate":"", "object":domain, "datatype": util::translate_datatype(&json!(domain)), "annotation":annotation}); @@ -880,7 +881,7 @@ pub fn translate_inverse_properties_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":lhs, - "predicate":"owl:inverseOf", + "predicate":"", "object":rhs, "datatype": datatype, "annotation":annotation}); @@ -898,8 +899,8 @@ pub fn translate_functional_property_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":argument, - "predicate":"rdf:type", - "object":"owl:FunctionalProperty", + "predicate":"", + "object":"", "datatype": util::translate_datatype(&json!(argument)), "annotation":annotation}); triple @@ -916,8 +917,8 @@ pub fn translate_inverse_functional_object_property_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":argument, - "predicate":"rdf:type", - "object":"owl:InverseFunctionalProperty", + "predicate":"", + "object":"", "datatype": util::translate_datatype(&json!(argument)), "annotation":annotation}); triple @@ -934,8 +935,8 @@ pub fn translate_reflexive_object_property_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":argument, - "predicate":"rdf:type", - "object":"owl:ReflexiveProperty", + "predicate":"", + "object":"", "datatype": util::translate_datatype(&json!(argument)), "annotation":annotation}); triple @@ -952,8 +953,8 @@ pub fn translate_irreflexive_object_property_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":argument, - "predicate":"rdf:type", - "object":"owl:IrreflexiveProperty", + "predicate":"", + "object":"", "datatype": util::translate_datatype(&json!(argument)), "annotation":annotation}); triple @@ -970,8 +971,8 @@ pub fn translate_symmetric_object_property_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":argument, - "predicate":"rdf:type", - "object":"owl:SymmetricProperty", + "predicate":"", + "object":"", "datatype": util::translate_datatype(&json!(argument)), "annotation":annotation}); triple @@ -988,8 +989,8 @@ pub fn translate_asymmetric_object_property_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":argument, - "predicate":"rdf:type", - "object":"owl:AsymmetricProperty", + "predicate":"", + "object":"", "datatype": util::translate_datatype(&json!(argument)), "annotation":annotation}); triple @@ -1006,8 +1007,8 @@ pub fn translate_transitive_object_property_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":argument, - "predicate":"rdf:type", - "object":"owl:TransitiveProperty", + "predicate":"", + "object":"", "datatype": util::translate_datatype(&json!(argument)), "annotation":annotation}); triple @@ -1025,7 +1026,7 @@ pub fn translate_data_property_range_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":property, - "predicate":"rdfs:range", + "predicate":"", "object":range, "datatype": util::translate_datatype(&json!(range)), "annotation":annotation}); @@ -1047,7 +1048,7 @@ pub fn translate_disjoint_properties_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":lhs, - "predicate":"owl:propertyDisjointWith", + "predicate":"", "object":rhs, "datatype":util::translate_datatype(&json!(rhs)), "annotation":annotation}); @@ -1056,8 +1057,8 @@ pub fn translate_disjoint_properties_axiom(v: &Value) -> Value { let operands: Value = property_translation::translate_list(&(owl.as_array().unwrap())[1..]); let annotation = annotation_translation::translate_annotations(&annotations); - let blank_node = json!({"predicate":"owl:AllDisjointProperties", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, + let blank_node = json!({"predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, "datatype":"_JSONMAP"}); let blank_sorted = util::sort_value(&blank_node); @@ -1073,8 +1074,8 @@ pub fn translate_disjoint_properties_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":blank_node_id, - "predicate":"owl:AllDisjointProperties", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, //TODO remove datatype + "predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, //TODO remove datatype "datatype":"_JSONMAP", "annotation":annotation}); triple @@ -1088,8 +1089,8 @@ pub fn translate_has_key_axiom(v: &Value) -> Value { let operands: Value = property_translation::translate_list(&(owl.as_array().unwrap())[1..]); let annotation = annotation_translation::translate_annotations(&annotations); - let blank_node = json!({"predicate":"owl:hasKey", - "object": {"owl:members":[{"object":operands, "datatype":"_JSONLIST"}]}, + let blank_node = json!({"predicate":"", + "object": {"":[{"object":operands, "datatype":"_JSONLIST"}]}, "datatype": "_JSONMAP"}); let blank_sorted = util::sort_value(&blank_node); @@ -1104,8 +1105,8 @@ pub fn translate_has_key_axiom(v: &Value) -> Value { "retraction":"0", "graph":"graph", //TODO "subject":blank_node_id, - "predicate":"owl:hasKey", - "object": {"owl:members":operands, "datatype":"_JSONLIST"}, //TODO remove datatype + "predicate":"", + "object": {"":operands, "datatype":"_JSONLIST"}, //TODO remove datatype "datatype": "_JSONMAP", "annotation":annotation}); triple @@ -1227,9 +1228,9 @@ pub fn translate_rule(v: &Value) -> Value { map.remove("meta"); } - let mut blank_node = json!({"rdf:type":[{"datatype":"_IRI", "object" :"swrl:Imp"}], - "swrl:body":[{"datatype":"_JSONLIST", "object" : body}], - "swrl:head":[{"datatype":"_JSONLIST", "object" :head}]}); + let mut blank_node = json!({"":[{"datatype":"_IRI", "object" :""}], + "":[{"datatype":"_JSONLIST", "object" : body}], + "":[{"datatype":"_JSONLIST", "object" :head}]}); merge_json(&mut blank_node, anno_blan.clone()); let blank_sorted = util::sort_value(&blank_node); @@ -1247,8 +1248,8 @@ pub fn translate_rule(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject": blank_node_id, - "predicate":"rdf:type", - "object":"swrl:Imp", + "predicate":"", + "object":"", "datatype":"_IRI", "annotation": Value::Null }); @@ -1258,7 +1259,7 @@ pub fn translate_rule(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject": blank_node_id, - "predicate":"swrl:body", + "predicate":"", "object":body, "datatype":"_JSONLIST", "annotation": Value::Null @@ -1269,7 +1270,7 @@ pub fn translate_rule(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":blank_node_id, - "predicate":"swrl:head", + "predicate":"", "object":head, "datatype":"_JSONLIST", "annotation": Value::Null @@ -1312,7 +1313,7 @@ pub fn translate_ontology(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":iri, - "predicate":"owl:versionIRI", + "predicate":"", "object":viri, "datatype":"_IRI", "annotation": Value::Null @@ -1328,7 +1329,7 @@ pub fn translate_doc_iri(v: &Value) -> Value { "retraction":"0", "graph":"graph", "subject":"ontology",//TODO - "predicate":"owl:versionIRI", + "predicate":"", "object":iri, "datatype":"_IRI", "annotation":"" diff --git a/src/ofn_2_ldtab/class_translation.rs b/src/ofn_2_ldtab/class_translation.rs index 3cfbb1e..f8637e8 100644 --- a/src/ofn_2_ldtab/class_translation.rs +++ b/src/ofn_2_ldtab/class_translation.rs @@ -108,12 +108,12 @@ pub fn get_cardinality_object(v: &Value) -> Value { pub fn translate_some_values_from(v: &Value) -> Value { let property_o: Value = get_object(&v[1]); let filler_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); //build struct - let res: Value = json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:someValuesFrom" : vec![filler_o]}); + let res: Value = json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![filler_o]}); //return type res @@ -122,37 +122,37 @@ pub fn translate_some_values_from(v: &Value) -> Value { pub fn translate_all_values_from(v: &Value) -> Value { let property_o: Value = get_object(&v[1]); let filler_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:allValuesFrom": vec![filler_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "": vec![filler_o]}) } pub fn translate_has_value(v: &Value) -> Value { let property_o: Value = get_object(&v[1]); let filler_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:hasValue" : vec![filler_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![filler_o]}) } pub fn translate_has_self(v: &Value) -> Value { let property_o: Value = get_object(&v[1]); let has_self_o: Value = get_object(&json!("true^^xsd:boolean")); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:hasSelf" : vec![has_self_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![has_self_o]}) } pub fn translate_object_min_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); let ofn = v.as_array().unwrap(); let is_qualified = ofn.len() == 4; @@ -160,14 +160,14 @@ pub fn translate_object_min_cardinality(v: &Value) -> Value { if is_qualified { let filler_o: Value = get_object(&v[3]); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:minQualifiedCardinality" : vec![cardinality_o], - "owl:onClass" : vec![filler_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o]}) } else { - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:minCardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } } @@ -176,17 +176,17 @@ pub fn translate_min_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:minCardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } pub fn translate_data_min_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); let ofn = v.as_array().unwrap(); let is_qualified = ofn.len() == 4; @@ -194,14 +194,14 @@ pub fn translate_data_min_cardinality(v: &Value) -> Value { if is_qualified { let filler_o: Value = get_object(&v[3]); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:minQualifiedCardinality" : vec![cardinality_o], - "owl:onDataRange" : vec![filler_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o]}) } else { - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:minCardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } } @@ -209,28 +209,28 @@ pub fn translate_min_qualified_cardinality(v: &Value) -> Value { let property_o: Value = get_object(&v[1]); let cardinality_o: Value = get_cardinality_object(&v[2]); let filler_o: Value = get_object(&v[3]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:minQualifiedCardinality" : vec![cardinality_o], - "owl:onClass" : vec![filler_o] }) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o] }) } pub fn translate_max_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:maxCardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } pub fn translate_object_max_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); let ofn = v.as_array().unwrap(); let is_qualified = ofn.len() == 4; @@ -238,21 +238,21 @@ pub fn translate_object_max_cardinality(v: &Value) -> Value { if is_qualified { let filler_o: Value = get_object(&v[3]); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:maxQualifiedCardinality" : vec![cardinality_o], - "owl:onClass" : vec![filler_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o]}) } else { - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:maxCardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } } pub fn translate_data_max_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); let ofn = v.as_array().unwrap(); let is_qualified = ofn.len() == 4; @@ -260,14 +260,14 @@ pub fn translate_data_max_cardinality(v: &Value) -> Value { if is_qualified { let filler_o: Value = get_object(&v[3]); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:maxQualifiedCardinality" : vec![cardinality_o], - "owl:onDataRange" : vec![filler_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o]}) } else { - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:maxCardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } } @@ -275,28 +275,28 @@ pub fn translate_max_qualified_cardinality(v: &Value) -> Value { let property_o: Value = get_object(&v[1]); let cardinality_o: Value = get_cardinality_object(&v[2]); let filler_o: Value = get_object(&v[3]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:maxQualifiedCardinality" : vec![cardinality_o], - "owl:onClass" : vec![filler_o] }) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o] }) } pub fn translate_exact_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:cardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } pub fn translate_object_exact_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); let ofn = v.as_array().unwrap(); let is_qualified = ofn.len() == 4; @@ -304,21 +304,21 @@ pub fn translate_object_exact_cardinality(v: &Value) -> Value { if is_qualified { let filler_o: Value = get_object(&v[3]); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:qualifiedCardinality" : vec![cardinality_o], - "owl:onClass" : vec![filler_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o]}) } else { - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:cardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } } pub fn translate_data_exact_cardinality(v: &Value) -> Value { let cardinality_o: Value = get_cardinality_object(&v[1]); let property_o: Value = get_object(&v[2]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); let ofn = v.as_array().unwrap(); let is_qualified = ofn.len() == 4; @@ -326,14 +326,14 @@ pub fn translate_data_exact_cardinality(v: &Value) -> Value { if is_qualified { let filler_o: Value = get_object(&v[3]); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:qualifiedCardinality" : vec![cardinality_o], - "owl:onDataRange" : vec![filler_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o]}) } else { - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:cardinality" : vec![cardinality_o]}) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o]}) } } @@ -343,12 +343,12 @@ pub fn translate_exact_qualified_cardinality(v: &Value) -> Value { let property_o: Value = get_object(&v[1]); let cardinality_o: Value = get_cardinality_object(&v[2]); let filler_o: Value = get_object(&v[3]); - let type_o: Value = get_object(&json!("owl:Restriction")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:onProperty" : vec![property_o], - "owl:qualifiedCardinality" : vec![cardinality_o], - "owl:onClass" : vec![filler_o] }) + json!({"" : vec![type_o], + "" : vec![property_o], + "" : vec![cardinality_o], + "" : vec![filler_o] }) } pub fn translate_list(v: &[Value]) -> Value { @@ -368,10 +368,10 @@ pub fn translate_intersection_of(v: &Value) -> Value { let operands_o: Value = json!({"object" : operands, "datatype" : "_JSONLIST"}); - let type_o: Value = get_object(&json!("owl:Class")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:intersectionOf" : vec![operands_o]}) + json!({"" : vec![type_o], + "" : vec![operands_o]}) } pub fn translate_union_of(v: &Value) -> Value { @@ -380,10 +380,10 @@ pub fn translate_union_of(v: &Value) -> Value { //let operands_o : Value = get_object(operands); let operands_o: Value = json!({"object" : operands, "datatype" : "_JSONLIST"}); - let type_o: Value = get_object(&json!("owl:Class")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:unionOf" : vec![operands_o]}) + json!({"" : vec![type_o], + "" : vec![operands_o]}) } pub fn translate_one_of(v: &Value) -> Value { @@ -392,16 +392,16 @@ pub fn translate_one_of(v: &Value) -> Value { //let operands_o : Value = get_object(operands); let operands_o: Value = json!({"object" : operands, "datatype" : "_JSONLIST"}); - let type_o: Value = get_object(&json!("owl:Class")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:oneOf" : vec![operands_o]}) + json!({"" : vec![type_o], + "" : vec![operands_o]}) } pub fn translate_complement_of(v: &Value) -> Value { let argument_o: Value = get_object(&v[1]); - let type_o: Value = get_object(&json!("owl:Class")); + let type_o: Value = get_object(&json!("")); - json!({"rdf:type" : vec![type_o], - "owl:complementOf" : vec![argument_o]}) + json!({"" : vec![type_o], + "" : vec![argument_o]}) } diff --git a/src/ofn_2_ldtab/property_translation.rs b/src/ofn_2_ldtab/property_translation.rs index 3340aad..5732dfb 100644 --- a/src/ofn_2_ldtab/property_translation.rs +++ b/src/ofn_2_ldtab/property_translation.rs @@ -22,7 +22,7 @@ pub fn translate_inverse_of(v: &Value) -> Value { let argument_o: Value = json!({"object" : argument, "datatype" : String::from(util::translate_datatype(&argument).as_str().unwrap())}); - json!({"owl:inverseOf" : vec![argument_o]}) + json!({"" : vec![argument_o]}) } pub fn get_object(v: &Value) -> Value { diff --git a/src/ofn_2_ldtab/rule_translation.rs b/src/ofn_2_ldtab/rule_translation.rs index 78fc55d..8e3a7c7 100644 --- a/src/ofn_2_ldtab/rule_translation.rs +++ b/src/ofn_2_ldtab/rule_translation.rs @@ -49,15 +49,15 @@ pub fn translate_variable(v: &Value) -> Value { } pub fn translate_object_property_atom(v: &Value) -> Value { - let type_o = get_object(&json!("swrl:IndividualPropertyAtom")); + let type_o = get_object(&json!("")); let property_o = get_object(&v[1]); let arg1_o = get_object(&v[2]); let arg2_o = get_object(&v[3]); json!( {"datatype" : "_JSONMAP", - "object": {"rdf:type" : vec![type_o], - "swrl:propertyPredicate" : vec![property_o], - "swrl:argument1" : vec![arg1_o], - "swrl:argument2" : vec![arg2_o]}}) + "object": {"" : vec![type_o], + "" : vec![property_o], + "" : vec![arg1_o], + "" : vec![arg2_o]}}) } pub fn translate_body(v: &Value) -> Value {