Hi Eric,
Complex ideas that span multiple triples are often expressed through SPARQL. In other words, you store a soup of triple statements and the SPARQL query traverses the triples and presents the resulting information in a variety of formats, much in the same way you’d query a database using JOINs and present the resulting data on a single Web page.
Using your graph, this SPARQL query should return the work and the gender of the work's creator:
PREFIX dc: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?work ?gender
WHERE {
?work dc:created ?creator .
?creator foaf:gender ?gender .
}
If you want to explicitly state that the Declaration of Independence was written by a male, you would need a predicate that’s set up to do that, something that takes a work as its domain and has a range of a gender. It would also help to have a class for gender. That way, you could have a triple statement like this:
<http://www.worldcat.org/identities/lccn-n79-89957>
foaf:name “Thomas Jefferson”
a :Male .
and you could infer that if:
<http://www.archives.gov/exhibits/charters/declaration_transcript.html>
dc:creator <http://www.worldcat.org/identities/lccn-n79-89957> .
The creator of the Declaration is of class :Male:
<http://www.archives.gov/exhibits/charters/declaration_transcript.html>
:createdByGender :Male
All the best,
Aaron Rubinstein
On Nov 3, 2013, at 12:00 AM, Eric Lease Morgan <[log in to unmask]> wrote:
>
> How can I write an RDF serialization enabling me to express the fact that the United States Declaration Of Independence was written by Thomas Jefferson and Thomas Jefferson was a male? (And thus asserting that the Declaration of Independence was written by a male.)
>
> Suppose I have the following assertion:
>
> <rdf:RDF
> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> xmlns:dc="http://purl.org/dc/elements/1.1/" >
>
> <!-- the Declaration Of Independence was authored by Thomas Jefferson -->
> <rdf:Description
> rdf:about="http://www.archives.gov/exhibits/charters/declaration_transcript.html">
> <dc:creator>http://www.worldcat.org/identities/lccn-n79-89957</dc:creator>
> </rdf:Description>
>
> </rdf:RDF>
>
> Suppose I have a second assertion:
>
> <rdf:RDF
> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> xmlns:foaf="http://xmlns.com/foaf/0.1/">
>
> <!-- Thomas Jefferson was a male -->
> <rdf:Description rdf:about="http://www.worldcat.org/identities/lccn-n79-89957">
> <foaf:gender>male</foaf:gender>
> </rdf:Description>
>
> </rdf:RDF>
>
> Now suppose a cool Linked Data robot came along and harvested my RDF/XML. Moreover lets assume the robot could make the logical conclusion that the Declaration was written by a male. How might the robot express this fact in RDF/XML? The following is my first attempt at such an expression, but the resulting graph (attached) doesn't seem to visually express what I really want:
>
> <rdf:RDF
> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#”
> xmlns:foaf="http://xmlns.com/foaf/0.1/“
> xmlns:dc="http://purl.org/dc/elements/1.1/“>
>
> <rdf:Description rdf:about="http://www.worldcat.org/identities/lccn-n79-89957">
> <foaf:gender>male</foaf:gender>
> </rdf:Description>
>
> <rdf:Description
> rdf:about="http://www.archives.gov/exhibits/charters/declaration_transcript.html">
> <dc:creator>http://www.worldcat.org/identities/lccn-n79-89957</dc:creator>
> </rdf:Description>
> </rdf:RDF>
>
> Am I doing something wrong? How might you encode such the following expression — The Declaration Of Independence was authored by Thomas Jefferson, and Thomas Jefferson was a male. And therefore, the Declaration Of Independence was authored by a male named Thomas Jefferson? Maybe RDF can not express this fact because it requires two predicates in a single expression, and this the expression would not be a triple but rather a “quadrile" — object, predicate #1, subject/object, predicate #2, and subject?
>
>
> —
> Eric Morgan
>
> [cid:[log in to unmask]]
>
>
|