Skip to content

Instantly share code, notes, and snippets.

@ericmoritz
Last active August 29, 2015 13:56
Show Gist options
  • Save ericmoritz/9148142 to your computer and use it in GitHub Desktop.
Save ericmoritz/9148142 to your computer and use it in GitHub Desktop.

In Linked Data, properties are, just as everything else, identified by IRIs and thus have global scope which implies that they have independent semantics. In contrast, properties in data models as used in common programming languages are class-dependent. Their semantics depend on the class they belong to. In data models classes are typically described by the properties they expose whereas in Linked Data properties define to which classes they belong. If no class is specified, it is assumed that a property may apply to every class.

These differences have interesting consequences. For example, the commonly asked question of which properties can be applied to an instance of a specific class can typically not be answered for Linked Data. Strictly speaking, any property which is not explicitly forbidden could be applied. This stems from the fact that Linked Data works under an open-world assumption whereas data models used by programmers typically work under a closed-world assumption. The difference is that when a closed world is assumed, everything that is not known to be true is false or vice-versa. With an open-world assumption the failure to derive a fact does not automatically imply the opposite; it embraces the fact that the knowledge is incomplete.

http://www.markus-lanthaler.com/hydra/spec/latest/core/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment