A swift implementation of structured data vocabulary.

What's New

SOSwift 3.0.0


Signpost release... (Tests really need to be filled out)


A swift implementation of structured data vocabulary.

Twitter: @richardpiazza


SOSwift is distributed using the Swift Package Manager. To install it into a project, add it as a dependency within your Package.swift manifest:

let package = Package(
    dependencies: [
        .package(url: "", .upToNextMinor(from: "1.1.0"))

Then import the SOSwift package wherever you'd like to use it:

import SOSwift is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond. This library implements some of the core vocabulary in the Swift language. This work is based on the 3.4 version of the vocabulary, and currently implements only the top level core Thing subclasses.

Significant Differences

Although this body of work tries to adhere as closely as possible to the defined vocabulary, some changes are required to make the API feel swifty.

Float uses 'Float' as it's floating-point decimal type. 'Double' is the standard floating-point type in Swift, so double replaces all instances of float.


Many of the classes use a has/is prefix on non-boolean variable names. This vocabulary removes these prefixes.


Classes with singular names of clearly arrays of types has been pluralized for clarity and consistency.


  • Swift Tools 5.1.0
View More Packages from this Author


Last updated: Thu Mar 16 2023 13:58:04 GMT-0500 (GMT-05:00)