This document contains information about Semantic MediaWiki serializers.
Interfaces provided by the Serialization extension which describes specific serialize/deserialze public methods.
A factory class that assigns registered serializers to an object and identifies an unserializer based on the invoked array. A serialized record has a reference to the generator (serializer) class which will automatically be used during unserialization. Each record includes a version number to compare the data model used and enable a consistency check before an attempt to unserialize a record.
$foo = new Foo( ... );
$serialized = SerializerFactory::serialize( $foo );
$unserialized = SerializerFactory::deserialize( $serialized );
Implements the Serializer interface for the SMW\SemanticData object.
"subject": -> Subject serialization,
"data": [
{
"property": -> Property serialization,
"dataitem": [
{
"type": -> DataItemType,
"item": -> DataItem serialization
}
]
}
]
"sobj": [
{
"subject": ...,
"data": [
{
"property": ...,
"dataitem": [
{
"type": ...,
"item": ...
}
]
},
},
],
"serializer": -> Class of the generator and entry point for the un-serializer,
"version": -> Number to compare structural integrity between serialization and un-serialization
For a page called "Foo" that contains [[Has property::Bar]]
, {{#subobject:|Has subobjects=Bam}}
, {{#ask:[[Has subobjects::Bam]]}}
, the Serializer will output:
"subject": "Foo#0#",
"data": [
{
"property": "Has_property",
"dataitem": [
{
"type": 9,
"item": "Bar#0#"
}
]
},
{
"property": "_ASK",
"dataitem": [
{
"type": 9,
"item": "Foo#0##_QUERYc8606da8f325fc05aa8e8b958821c3b4"
}
]
},
...
{
"property": "_SOBJ",
"dataitem": [
{
"type": 9,
"item": "Foo#0##_fc4b104aabf80eb06429e946aa8f7070"
}
]
}
],
"sobj": [
{
"subject": "Foo#0##_QUERYc8606da8f325fc05aa8e8b958821c3b4",
"data": [
{
"property": "_ASKDE",
"dataitem": [
{
"type": 1,
"item": "1"
}
]
},
},
...
{
"subject": "Foo#0##_fc4b104aabf80eb06429e946aa8f7070",
"data": [
{
"property": "Has_subobjects",
"dataitem": [
{
"type": 9,
"item": "Bam#0#"
}
]
},
{
"property": "_SKEY",
"dataitem": [
{
"type": 2,
"item": "Foo"
}
]
}
]
}
],
"serializer": "SMW\\Serializers\\SemanticDataSerializer",
"version": 0.1
Implements the SerializerInterface for the SMWQueryResult object.