rdf_context 0.4.8 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +27 -0
- data/README.rdoc +22 -9
- data/Rakefile +11 -6
- data/VERSION +1 -1
- data/bin/rdf_context +12 -4
- data/lib/rdf_context.rb +3 -1
- data/lib/rdf_context/aggregate_graph.rb +86 -0
- data/lib/rdf_context/array_hacks.rb +53 -0
- data/lib/rdf_context/conjunctive_graph.rb +1 -1
- data/lib/rdf_context/exceptions.rb +9 -7
- data/lib/rdf_context/graph.rb +174 -15
- data/lib/rdf_context/literal.rb +34 -2
- data/lib/rdf_context/n3_grammar.treetop +213 -129
- data/lib/rdf_context/n3parser.rb +281 -57
- data/lib/rdf_context/namespace.rb +23 -12
- data/lib/rdf_context/parser.rb +4 -3
- data/lib/rdf_context/quoted_graph.rb +38 -0
- data/lib/rdf_context/rdfaparser.rb +2 -1
- data/lib/rdf_context/rdfxmlparser.rb +4 -3
- data/lib/rdf_context/store/abstract_sql_store.rb +4 -4
- data/lib/rdf_context/store/abstract_store.rb +5 -1
- data/lib/rdf_context/store/sqlite3_store.rb +10 -8
- data/lib/rdf_context/string_hacks.rb +44 -21
- data/lib/rdf_context/term_utils.rb +73 -4
- data/lib/rdf_context/triple.rb +32 -47
- data/lib/rdf_context/uriref.rb +33 -26
- data/spec/aggregate_graph_spec.rb +59 -0
- data/spec/conjunctive_graph_spec.rb +1 -1
- data/spec/cwm_spec.rb +32 -0
- data/spec/graph_spec.rb +114 -3
- data/spec/literal_spec.rb +107 -5
- data/spec/matchers.rb +104 -51
- data/spec/n3parser_spec.rb +798 -99
- data/spec/namespaces_spec.rb +26 -0
- data/spec/quoted_graph_spec.rb +0 -0
- data/spec/rdf_helper.rb +197 -0
- data/spec/rdfa_helper.rb +15 -11
- data/spec/rdfa_parser_spec.rb +6 -8
- data/spec/rdfxml_spec.rb +21 -28
- data/spec/spec_helper.rb +20 -0
- data/spec/sqlite3_store_spec.rb +6 -5
- data/spec/store_helper.rb +9 -1
- data/spec/string_hacks_spec.rb +14 -0
- data/spec/{rdfxml_helper.rb → swap_helper.rb} +8 -9
- data/spec/swap_spec.rb +77 -0
- data/spec/swap_test/animal.rdf +17 -0
- data/spec/swap_test/anon-prop.n3 +14 -0
- data/spec/swap_test/anonymous_loop.n3 +2 -0
- data/spec/swap_test/contexts.n3 +16 -0
- data/spec/swap_test/daml-pref.n3 +10 -0
- data/spec/swap_test/i18n/hiragana.n3 +22 -0
- data/spec/swap_test/i18n/n3string.n3 +4 -0
- data/spec/swap_test/list/itemType.rdf +12 -0
- data/spec/swap_test/lists-simple.n3 +40 -0
- data/spec/swap_test/lists.n3 +35 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10001.nt +3 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10002.nt +7 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10003.nt +3 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10004.nt +119 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10005.nt +3 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10006.nt +225 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10007.nt +79 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10008.nt +5 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10009.nt +13 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10010.nt +21 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10011.nt +9 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10012.nt +53 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10013.nt +19 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10014.nt +103 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10015.nt +103 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10016.nt +3 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10017.nt +151 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10018.nt +9 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10019.nt +3 -0
- data/spec/swap_test/n3/n3parser.tests_n3_10020.nt +13 -0
- data/spec/swap_test/n3parser.tests +160 -0
- data/spec/swap_test/nodeID/classes.n3 +9 -0
- data/spec/swap_test/nodeID/classes.ref.rdf +15 -0
- data/spec/swap_test/nodeID/ex1.rdf +15 -0
- data/spec/swap_test/norm/fix.rdf +33 -0
- data/spec/swap_test/owl-ex.rdf +150 -0
- data/spec/swap_test/ref/animal.n3 +11 -0
- data/spec/swap_test/ref/anon-prop-1.n3 +8 -0
- data/spec/swap_test/ref/anonymous_loop.ref +7 -0
- data/spec/swap_test/ref/bnode.n3 +6 -0
- data/spec/swap_test/ref/bnode.rdf +16 -0
- data/spec/swap_test/ref/colon-in-uri.n3 +15 -0
- data/spec/swap_test/ref/daml-ex.n3 +103 -0
- data/spec/swap_test/ref/daml-ont.n3 +289 -0
- data/spec/swap_test/ref/djb1a-out.n3 +4 -0
- data/spec/swap_test/ref/dot-dash.n3 +8 -0
- data/spec/swap_test/ref/in-xml-t.n3 +4 -0
- data/spec/swap_test/ref/itemType.n3 +9 -0
- data/spec/swap_test/ref/keywords1.n3 +11 -0
- data/spec/swap_test/ref/keywords2.n3 +11 -0
- data/spec/swap_test/ref/lists-simple-1.rdf +108 -0
- data/spec/swap_test/ref/lists.n3 +43 -0
- data/spec/swap_test/ref/lstring-out.n3 +20 -0
- data/spec/swap_test/ref/n3string.n3 +13 -0
- data/spec/swap_test/ref/no-last-nl.n3 +3 -0
- data/spec/swap_test/ref/numbers.n3 +18 -0
- data/spec/swap_test/ref/path1.n3 +8 -0
- data/spec/swap_test/ref/path2.n3 +39 -0
- data/spec/swap_test/ref/prefix1.rdf +31 -0
- data/spec/swap_test/ref/prefix3.rdf +31 -0
- data/spec/swap_test/ref/rdf-redefine.rdf +11 -0
- data/spec/swap_test/ref/reluri-1.rdf +18 -0
- data/spec/swap_test/ref/strquot.n3 +23 -0
- data/spec/swap_test/ref/strquot_a.n3 +23 -0
- data/spec/swap_test/ref/xml-base3.n3 +5 -0
- data/spec/swap_test/ref/xml-redefine.rdf +20 -0
- data/spec/swap_test/ref/xml-redefine2.rdf +23 -0
- data/spec/swap_test/ref/xml-syntax-basic-serialization.rdf +10 -0
- data/spec/swap_test/ref/xmllit.nt +3 -0
- data/spec/swap_test/regression.n3 +231 -0
- data/spec/swap_test/reluri-1.n3 +10 -0
- data/spec/swap_test/strquot.n3 +23 -0
- data/spec/swap_test/syntax/colon-in-uri.rdf +27 -0
- data/spec/swap_test/syntax/djb1a.n3 +3 -0
- data/spec/swap_test/syntax/dot-dash.n3 +15 -0
- data/spec/swap_test/syntax/equals1.n3 +1 -0
- data/spec/swap_test/syntax/equals2.n3 +1 -0
- data/spec/swap_test/syntax/keywords1.n3 +17 -0
- data/spec/swap_test/syntax/keywords2.n3 +18 -0
- data/spec/swap_test/syntax/lstring.n3 +26 -0
- data/spec/swap_test/syntax/neg-formula-predicate.n3 +1 -0
- data/spec/swap_test/syntax/neg-keywords3.n3 +1 -0
- data/spec/swap_test/syntax/neg-literal-predicate.n3 +1 -0
- data/spec/swap_test/syntax/neg-single-quote.n3 +1 -0
- data/spec/swap_test/syntax/neg-thisadoc.n3 +1 -0
- data/spec/swap_test/syntax/no-last-nl.n3 +2 -0
- data/spec/swap_test/syntax/numbers.n3 +26 -0
- data/spec/swap_test/syntax/path1.n3 +23 -0
- data/spec/swap_test/syntax/path2.n3 +31 -0
- data/spec/swap_test/syntax/qvars1.n3 +19 -0
- data/spec/swap_test/syntax/qvars2.n3 +19 -0
- data/spec/swap_test/syntax/this-quantifiers.n3 +164 -0
- data/spec/swap_test/syntax/this-rules.n3 +43 -0
- data/spec/swap_test/syntax/too-nested.n3 +25 -0
- data/spec/swap_test/syntax/trailing-semicolon.n3 +12 -0
- data/spec/swap_test/syntax/zero-objects.n3 +1 -0
- data/spec/swap_test/syntax/zero-predicates.n3 +3 -0
- data/spec/swap_test/tests-work.txt +25 -0
- data/spec/swap_test/xml-syntax/basic-serialization.n3 +8 -0
- data/spec/swap_test/xml-syntax/in-xml.xml +13 -0
- data/spec/swap_test/xml-syntax/non-ascii-pred.rdf +14 -0
- data/spec/swap_test/xml-syntax/rdf_prefix.n3 +2 -0
- data/spec/swap_test/xml-syntax/xml_prefix.n3 +7 -0
- data/spec/swap_test/xml-syntax/xml_prefix2.n3 +9 -0
- data/spec/swap_test/xml-syntax/xmlbase3.rdf +10 -0
- data/spec/swap_test/xml-syntax/xmllit.rdf +33 -0
- data/spec/triple_spec.rb +90 -46
- data/spec/turtle/README.txt +20 -0
- data/spec/turtle/bad-00.ttl +2 -0
- data/spec/turtle/bad-01.ttl +3 -0
- data/spec/turtle/bad-02.ttl +3 -0
- data/spec/turtle/bad-03.ttl +3 -0
- data/spec/turtle/bad-04.ttl +3 -0
- data/spec/turtle/bad-05.ttl +4 -0
- data/spec/turtle/bad-06.ttl +3 -0
- data/spec/turtle/bad-07.ttl +4 -0
- data/spec/turtle/bad-08.ttl +2 -0
- data/spec/turtle/bad-09.ttl +3 -0
- data/spec/turtle/bad-10.ttl +3 -0
- data/spec/turtle/bad-11.ttl +3 -0
- data/spec/turtle/bad-12.ttl +3 -0
- data/spec/turtle/bad-13.ttl +3 -0
- data/spec/turtle/bad-14.ttl +6 -0
- data/spec/turtle/manifest-bad.ttl +88 -0
- data/spec/turtle/manifest.ttl +215 -0
- data/spec/turtle/rdf-schema.out +126 -0
- data/spec/turtle/rdf-schema.ttl +156 -0
- data/spec/turtle/rdfq-results.out +36 -0
- data/spec/turtle/rdfq-results.ttl +39 -0
- data/spec/turtle/rdfs-namespace.out +131 -0
- data/spec/turtle/rdfs-namespace.ttl +160 -0
- data/spec/turtle/test-00.out +1 -0
- data/spec/turtle/test-00.ttl +2 -0
- data/spec/turtle/test-01.out +3 -0
- data/spec/turtle/test-01.ttl +7 -0
- data/spec/turtle/test-02.out +3 -0
- data/spec/turtle/test-02.ttl +5 -0
- data/spec/turtle/test-03.out +3 -0
- data/spec/turtle/test-03.ttl +5 -0
- data/spec/turtle/test-04.out +2 -0
- data/spec/turtle/test-04.ttl +4 -0
- data/spec/turtle/test-05.out +4 -0
- data/spec/turtle/test-05.ttl +4 -0
- data/spec/turtle/test-06.out +1 -0
- data/spec/turtle/test-06.ttl +3 -0
- data/spec/turtle/test-07.out +5 -0
- data/spec/turtle/test-07.ttl +3 -0
- data/spec/turtle/test-08.out +1 -0
- data/spec/turtle/test-08.ttl +3 -0
- data/spec/turtle/test-09.out +4 -0
- data/spec/turtle/test-09.ttl +10 -0
- data/spec/turtle/test-10.out +5 -0
- data/spec/turtle/test-10.ttl +5 -0
- data/spec/turtle/test-11.out +4 -0
- data/spec/turtle/test-11.ttl +10 -0
- data/spec/turtle/test-12.out +4 -0
- data/spec/turtle/test-12.ttl +9 -0
- data/spec/turtle/test-13.out +2 -0
- data/spec/turtle/test-13.ttl +7 -0
- data/spec/turtle/test-14.out +10000 -0
- data/spec/turtle/test-14.ttl +10002 -0
- data/spec/turtle/test-15.out +10000 -0
- data/spec/turtle/test-15.ttl +3 -0
- data/spec/turtle/test-16.out +10000 -0
- data/spec/turtle/test-16.ttl +10002 -0
- data/spec/turtle/test-17.out +1 -0
- data/spec/turtle/test-17.ttl +6 -0
- data/spec/turtle/test-18.out +2 -0
- data/spec/turtle/test-18.ttl +9 -0
- data/spec/turtle/test-19.out +1 -0
- data/spec/turtle/test-19.ttl +4 -0
- data/spec/turtle/test-20.out +2 -0
- data/spec/turtle/test-20.ttl +6 -0
- data/spec/turtle/test-21.out +3 -0
- data/spec/turtle/test-21.ttl +4 -0
- data/spec/turtle/test-22.out +3 -0
- data/spec/turtle/test-22.ttl +4 -0
- data/spec/turtle/test-23.out +1 -0
- data/spec/turtle/test-23.ttl +3 -0
- data/spec/turtle/test-24.out +2 -0
- data/spec/turtle/test-24.ttl +3 -0
- data/spec/turtle/test-25.out +7 -0
- data/spec/turtle/test-25.ttl +14 -0
- data/spec/turtle/test-26.out +1 -0
- data/spec/turtle/test-26.ttl +4 -0
- data/spec/turtle/test-27.out +1 -0
- data/spec/turtle/test-27.ttl +5 -0
- data/spec/turtle/test-28-out.ttl +6 -0
- data/spec/turtle/test-28.out +22 -0
- data/spec/turtle/test-28.ttl +22 -0
- data/spec/turtle/test-29.out +1 -0
- data/spec/turtle/test-29.ttl +1 -0
- data/spec/turtle/test-30.out +5 -0
- data/spec/turtle/test-30.ttl +12 -0
- data/spec/turtle_spec.rb +64 -0
- data/spec/uriref_spec.rb +74 -34
- data/test/n3_tests/rdflib/n3-writer-teset-26.n3 +31 -0
- data/test/n3_tests/rdflib/n3-writer-teset-26.nt +14 -0
- data/test/rdf_tests/xml-literal-mixed.nt +1 -2
- metadata +278 -39
- data/lib/rdf_context/n3_grammar.rb +0 -2171
- data/test/perf_test/test.rb +0 -11
- data/test/perf_test/tommorris.rdf +0 -2267
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
|
4
|
+
<rdf:RDF xmlns="http://example.com/swap/test/nodeID/classes.n3#"
|
5
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
6
|
+
|
7
|
+
<Thing rdf:nodeID="b1">
|
8
|
+
<color rdf:resource="#red"/>
|
9
|
+
</Thing>
|
10
|
+
|
11
|
+
<rdf:Description rdf:about="#yosi">
|
12
|
+
<eats rdf:nodeID="b1"/>
|
13
|
+
<likes rdf:nodeID="b1"/>
|
14
|
+
</rdf:Description>
|
15
|
+
</rdf:RDF>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
3
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
4
|
+
xmlns:ex="http://example.org/stuff/1.0/">
|
5
|
+
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
|
6
|
+
dc:title="RDF/XML Syntax Specification (Revised)">
|
7
|
+
<ex:editor rdf:nodeID="abc"/>
|
8
|
+
</rdf:Description>
|
9
|
+
|
10
|
+
<rdf:Description rdf:nodeID="abc"
|
11
|
+
ex:fullName="Dave Beckett">
|
12
|
+
<ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
|
13
|
+
</rdf:Description>
|
14
|
+
</rdf:RDF>
|
15
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
2
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
3
|
+
xmlns:cal="http://nwalsh.com/pim/Palm/Calendar#"
|
4
|
+
xmlns:da="file:/home79536262/ndw/.xmlDate.rdf#"
|
5
|
+
xmlns:log="http://www.w3.org/2000/10/swap/log#"
|
6
|
+
xmlns:palm="http://nwalsh.com/pim/Palm/DateBook#"
|
7
|
+
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
|
8
|
+
|
9
|
+
<rdf:Description rdf:about="http://nwalsh.com/pim/Palm/Calendar#_2002_2">
|
10
|
+
<da:appointments rdf:parseType="Resource">
|
11
|
+
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq"/>
|
12
|
+
<rdf:_1 rdf:resource="file:/home79536262/ndw/.xmlDate.rdf#id166"/>
|
13
|
+
<rdf:_2 rdf:resource="file:/home79536262/ndw/.xmlDate.rdf#id172"/>
|
14
|
+
<rdf:_3 rdf:resource="file:/home79536262/ndw/.xmlDate.rdf#id93"/>
|
15
|
+
<_4 rdf:resource="file:/home79536262/ndw/.xmlDate.rdf#id193"/>
|
16
|
+
<_5 rdf:resource="file:/home79536262/ndw/.xmlDate.rdf#id192"/>
|
17
|
+
<_6 rdf:resource="file:/home79536262/ndw/.xmlDate.rdf#id104"/>
|
18
|
+
<_7 rdf:resource="file:/home79536262/ndw/.xmlDate.rdf#id157"/>
|
19
|
+
<_8 rdf:resource="file:/home79536262/ndw/.xmlDate.rdf#id32"/>
|
20
|
+
</da:appointments>
|
21
|
+
<cal:month>2</cal:month>
|
22
|
+
<cal:year>2002</cal:year>
|
23
|
+
<Seq rdf:parseType="Resource">
|
24
|
+
<_1 rdf:resource="http://nwalsh.com/pim/Palm/Calendar#_week_2002_2_1"/>
|
25
|
+
<_2 rdf:resource="http://nwalsh.com/pim/Palm/Calendar#_week_2002_2_2"/>
|
26
|
+
<_3 rdf:resource="http://nwalsh.com/pim/Palm/Calendar#_week_2002_2_3"/>
|
27
|
+
<_4 rdf:resource="http://nwalsh.com/pim/Palm/Calendar#_week_2002_2_4"/>
|
28
|
+
<_5 rdf:resource="http://nwalsh.com/pim/Palm/Calendar#_week_2002_2_5"/>
|
29
|
+
</Seq>
|
30
|
+
</rdf:Description>
|
31
|
+
</RDF>
|
32
|
+
|
33
|
+
|
@@ -0,0 +1,150 @@
|
|
1
|
+
<!--
|
2
|
+
Derived from daml-ex.rdf which used old namespaces, but was an early common test
|
3
|
+
|
4
|
+
The following message was in this daml-ex.rdf, dunno what it refers to - tbl
|
5
|
+
@@@ WARNING THIS ATTRIBUES ATE SCREWED UP IN this daml-ex.rdf
|
6
|
+
-->
|
7
|
+
<rdf:RDF
|
8
|
+
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
9
|
+
xmlns ="http://www.w3.org/2002/07/owl#"
|
10
|
+
xmlns:dpo ="http://www.w3.org/2002/07/owl#"
|
11
|
+
xmlns:ex ="#"
|
12
|
+
>
|
13
|
+
|
14
|
+
<Ontology about="">
|
15
|
+
<versionInfo>$Id: owl-ex.rdf,v 1.3 2004-06-21 16:53:34 syosi Exp $</versionInfo>
|
16
|
+
<comment>An example ontology</comment>
|
17
|
+
<imports resource="http://www.daml.org/2000/10/daml-ont"/>
|
18
|
+
</Ontology>
|
19
|
+
|
20
|
+
<Class ID="Animal">
|
21
|
+
<label>Animal</label>
|
22
|
+
<comment>This class of animals is illustrative of a number of
|
23
|
+
ontological idioms.</comment>
|
24
|
+
</Class>
|
25
|
+
|
26
|
+
<Class ID="Male">
|
27
|
+
<subClassOf resource="#Animal"/>
|
28
|
+
</Class>
|
29
|
+
|
30
|
+
<Class ID="Female">
|
31
|
+
<subClassOf resource="#Animal"/>
|
32
|
+
<disjointFrom resource="#Male"/>
|
33
|
+
</Class>
|
34
|
+
|
35
|
+
<Property ID="parent">
|
36
|
+
<domain resource="#Animal"/>
|
37
|
+
<cardinality>2</cardinality>
|
38
|
+
</Property>
|
39
|
+
|
40
|
+
<Class ID="Person">
|
41
|
+
<subClassOf resource="#Animal"/>
|
42
|
+
<restrictedBy>
|
43
|
+
<Restriction>
|
44
|
+
<onProperty resource="#parent"/>
|
45
|
+
<toClass resource="#Person"/>
|
46
|
+
</Restriction>
|
47
|
+
</restrictedBy>
|
48
|
+
</Class>
|
49
|
+
|
50
|
+
<Property ID="father">
|
51
|
+
<subProperty resource="#parent"/>
|
52
|
+
<range resource="#Man"/>
|
53
|
+
<cardinality>1</cardinality>
|
54
|
+
</Property>
|
55
|
+
|
56
|
+
<UniqueProperty ID="mother">
|
57
|
+
<subProperty resource="#parent"/>
|
58
|
+
<range resource="#Woman"/>
|
59
|
+
</UniqueProperty>
|
60
|
+
|
61
|
+
<!-- need an example for UnambiguousProperty -->
|
62
|
+
|
63
|
+
<Property ID="child">
|
64
|
+
<inverseOf resource="#parent"/>
|
65
|
+
</Property>
|
66
|
+
|
67
|
+
<TransitiveProperty ID="ancestor">
|
68
|
+
<label>ancestor</label>
|
69
|
+
</TransitiveProperty>
|
70
|
+
|
71
|
+
<TransitiveProperty ID="descendant"/>
|
72
|
+
|
73
|
+
<Property ID="mom">
|
74
|
+
<sameAs resource="#mother"/>
|
75
|
+
</Property>
|
76
|
+
|
77
|
+
<Property ID="occupation">
|
78
|
+
<maxCardinality>1</maxCardinality>
|
79
|
+
</Property>
|
80
|
+
|
81
|
+
<Class ID="Car">
|
82
|
+
<comment>no car is a person</comment>
|
83
|
+
<subClassOf>
|
84
|
+
<Class>
|
85
|
+
<complementOf resource="#Person"/>
|
86
|
+
</Class>
|
87
|
+
</subClassOf>
|
88
|
+
</Class>
|
89
|
+
|
90
|
+
<Class ID="Man">
|
91
|
+
<subClassOf resource="#Person"/>
|
92
|
+
<subClassOf resource="#Male"/>
|
93
|
+
</Class>
|
94
|
+
|
95
|
+
<Class ID="Woman">
|
96
|
+
<subClassOf resource="#Person"/>
|
97
|
+
<subClassOf resource="#Female"/>
|
98
|
+
</Class>
|
99
|
+
|
100
|
+
<Class about="#Person">
|
101
|
+
<comment>every person is a man or a woman</comment>
|
102
|
+
<disjointUnionOf parseType="rdf:collection">
|
103
|
+
<Class about="#Man"/>
|
104
|
+
<Class about="#Woman"/>
|
105
|
+
</disjointUnionOf>
|
106
|
+
</Class>
|
107
|
+
|
108
|
+
<Person ID="Adam">
|
109
|
+
<label>Adam</label>
|
110
|
+
<comment>Adam is a person.</comment>
|
111
|
+
</Person>
|
112
|
+
|
113
|
+
<Property ID="height">
|
114
|
+
<domain resource="#Person"/>
|
115
|
+
<range resource="#Height"/>
|
116
|
+
</Property>
|
117
|
+
|
118
|
+
<Class ID="Height">
|
119
|
+
<oneOf rdf:parseType="Collection">
|
120
|
+
<Height ID="short"/>
|
121
|
+
<Height ID="medium"/>
|
122
|
+
<Height ID="tall"/>
|
123
|
+
</oneOf>
|
124
|
+
</Class>
|
125
|
+
|
126
|
+
<Class ID="TallThing">
|
127
|
+
<restrictedBy>
|
128
|
+
<Restriction>
|
129
|
+
<onProperty resource="#height"/>
|
130
|
+
<toValue resource="#tall"/>
|
131
|
+
</Restriction>
|
132
|
+
</restrictedBy>
|
133
|
+
</Class>
|
134
|
+
|
135
|
+
<!-- @@ need example of hasValue qualification -->
|
136
|
+
|
137
|
+
<!-- @@ lack Disjoint example -->
|
138
|
+
|
139
|
+
<Class ID="TallMan">
|
140
|
+
<intersectionOf rdf:parseType="Collection">
|
141
|
+
<Class about="#TallThing"/>
|
142
|
+
<Class about="#Man"/>
|
143
|
+
</intersectionOf>
|
144
|
+
</Class>
|
145
|
+
|
146
|
+
<!-- @@ example of subProperty, label, comment, etc. from RDF/RDFS -->
|
147
|
+
|
148
|
+
</rdf:RDF>
|
149
|
+
|
150
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
@prefix : <http://www.daml.org/2000/12/daml+oil#> .
|
2
|
+
@prefix ani: <#> .
|
3
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
4
|
+
|
5
|
+
ani:Animal a rdfs:Class;
|
6
|
+
:restrictedBy [
|
7
|
+
a :Restriction;
|
8
|
+
:cardinality "2";
|
9
|
+
:onProperty ani:parent ];
|
10
|
+
rdfs:label "Animal" .
|
11
|
+
|
@@ -0,0 +1,6 @@
|
|
1
|
+
|
2
|
+
<http://www.w3.org/TR/rdf-syntax-grammar> <http://example.org/stuff/1.0/editor> [
|
3
|
+
<http://example.org/stuff/1.0/fullName> "Dave Beckett";
|
4
|
+
<http://example.org/stuff/1.0/homePage> <http://purl.org/net/dajobe/> ];
|
5
|
+
<http://purl.org/dc/elements/1.1/title> "RDF/XML Syntax Specification (Revised)" .
|
6
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
|
4
|
+
<rdf:RDF xmlns="http://example.org/stuff/1.0/"
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
+
xmlns:ex="http://example.org/stuff/1.0/"
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
8
|
+
|
9
|
+
<rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
|
10
|
+
<editor rdf:parseType="Resource">
|
11
|
+
<fullName>Dave Beckett</fullName>
|
12
|
+
<homePage rdf:resource="http://purl.org/net/dajobe/"/>
|
13
|
+
</editor>
|
14
|
+
<dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
|
15
|
+
</rdf:Description>
|
16
|
+
</rdf:RDF>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
@prefix : <http://www.w3.org/2000/01/rdf-schema#> .
|
2
|
+
@prefix CIM: <http://iec.ch/TC57/2003/CIM-schema-cim10#> .
|
3
|
+
@prefix cims: <http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#> .
|
4
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
5
|
+
|
6
|
+
<http://iec.ch/TC57/2003/CIM-schema-cim10#AirCompressor.DrivenBy_C%20ombustionTurbine> a rdf:Property;
|
7
|
+
cims:inverseRoleName <http://iec.ch/TC57/2003/CIM-schema-cim10#CombustionTurbine.Dri%20ves_AirCompressor>;
|
8
|
+
cims:multiplicity <http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#M:1>;
|
9
|
+
cims:profile "Nerc";
|
10
|
+
:comment """A CAES air compressor is driven by combustion
|
11
|
+
turbine""";
|
12
|
+
:domain CIM:AirCompressor;
|
13
|
+
:label "DrivenBy_CombustionTurbine"@en;
|
14
|
+
:range CIM:CombustionTurbine .
|
15
|
+
|
@@ -0,0 +1,103 @@
|
|
1
|
+
@prefix : <http://www.w3.org/2002/07/owl#> .
|
2
|
+
@prefix ex: <#> .
|
3
|
+
|
4
|
+
<> a :Ontology;
|
5
|
+
:comment "An example ontology";
|
6
|
+
:imports <http://www.daml.org/2000/10/daml-ont>;
|
7
|
+
:versionInfo "" .
|
8
|
+
|
9
|
+
ex:Adam a :Person;
|
10
|
+
:comment "Adam is a person.";
|
11
|
+
:label "Adam" .
|
12
|
+
|
13
|
+
ex:Animal a :Class;
|
14
|
+
:comment """This class of animals is illustrative of a number of
|
15
|
+
ontological idioms.""";
|
16
|
+
:label "Animal" .
|
17
|
+
|
18
|
+
ex:Car a :Class;
|
19
|
+
:comment "no car is a person";
|
20
|
+
:subClassOf [
|
21
|
+
a :Class;
|
22
|
+
:complementOf ex:Person ] .
|
23
|
+
|
24
|
+
ex:Female a :Class;
|
25
|
+
:disjointFrom ex:Male;
|
26
|
+
:subClassOf ex:Animal .
|
27
|
+
|
28
|
+
ex:Height a :Class;
|
29
|
+
:oneOf (
|
30
|
+
ex:short
|
31
|
+
ex:medium
|
32
|
+
ex:tall ) .
|
33
|
+
|
34
|
+
ex:Male a :Class;
|
35
|
+
:subClassOf ex:Animal .
|
36
|
+
|
37
|
+
ex:Man a :Class;
|
38
|
+
:subClassOf ex:Male,
|
39
|
+
ex:Person .
|
40
|
+
|
41
|
+
ex:Person a :Class;
|
42
|
+
:comment "every person is a man or a woman";
|
43
|
+
:disjointUnionOf (
|
44
|
+
ex:Man
|
45
|
+
ex:Woman );
|
46
|
+
:restrictedBy [
|
47
|
+
a :Restriction;
|
48
|
+
:onProperty ex:parent;
|
49
|
+
:toClass ex:Person ];
|
50
|
+
:subClassOf ex:Animal .
|
51
|
+
|
52
|
+
ex:TallMan a :Class;
|
53
|
+
:intersectionOf (
|
54
|
+
ex:TallThing
|
55
|
+
ex:Man ) .
|
56
|
+
|
57
|
+
ex:TallThing a :Class;
|
58
|
+
:restrictedBy [
|
59
|
+
a :Restriction;
|
60
|
+
:onProperty ex:height;
|
61
|
+
:toValue ex:tall ] .
|
62
|
+
|
63
|
+
ex:Woman a :Class;
|
64
|
+
:subClassOf ex:Female,
|
65
|
+
ex:Person .
|
66
|
+
|
67
|
+
ex:ancestor a :TransitiveProperty;
|
68
|
+
:label "ancestor" .
|
69
|
+
|
70
|
+
ex:child a :Property;
|
71
|
+
:inverseOf ex:parent .
|
72
|
+
|
73
|
+
ex:descendant a :TransitiveProperty .
|
74
|
+
|
75
|
+
ex:father a :Property;
|
76
|
+
:cardinality "1";
|
77
|
+
:range ex:Man;
|
78
|
+
:subProperty ex:parent .
|
79
|
+
|
80
|
+
ex:height a :Property;
|
81
|
+
:domain ex:Person;
|
82
|
+
:range ex:Height .
|
83
|
+
|
84
|
+
ex:medium a :Height .
|
85
|
+
|
86
|
+
ex:mom a :Property;
|
87
|
+
= ex:mother .
|
88
|
+
|
89
|
+
ex:mother a :UniqueProperty;
|
90
|
+
:range ex:Woman;
|
91
|
+
:subProperty ex:parent .
|
92
|
+
|
93
|
+
ex:occupation a :Property;
|
94
|
+
:maxCardinality "1" .
|
95
|
+
|
96
|
+
ex:parent a :Property;
|
97
|
+
:cardinality "2";
|
98
|
+
:domain ex:Animal .
|
99
|
+
|
100
|
+
ex:short a :Height .
|
101
|
+
|
102
|
+
ex:tall a :Height .
|
103
|
+
|
@@ -0,0 +1,289 @@
|
|
1
|
+
@prefix : <http://www.daml.org/2001/03/daml-ont#> .
|
2
|
+
@prefix dam: <daml-ont.rdf#> .
|
3
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
4
|
+
@prefix s: <http://www.w3.org/2000/01/rdf-schema#> .
|
5
|
+
|
6
|
+
<daml-ont.rdf> a :Ontology;
|
7
|
+
:imports <http://www.w3.org/2000/01/rdf-schema>;
|
8
|
+
:versionInfo "" .
|
9
|
+
|
10
|
+
dam:Class a :Class;
|
11
|
+
:sameClassAs s:Class .
|
12
|
+
|
13
|
+
dam:Disjoint a :Class;
|
14
|
+
:comment """for type(L, Disjoint) read: the classes in L are
|
15
|
+
pairwise disjoint.
|
16
|
+
|
17
|
+
i.e. if type(L, Disjoint), and C1 in L and C2 in L, then disjointWith(C1, C2).
|
18
|
+
""";
|
19
|
+
:label "Disjoint";
|
20
|
+
:subClassOf dam:List .
|
21
|
+
|
22
|
+
dam:Empty a :Class;
|
23
|
+
:asClass dam:Nothing .
|
24
|
+
|
25
|
+
dam:List a :Class;
|
26
|
+
:subClassOf rdf:Seq .
|
27
|
+
|
28
|
+
dam:Literal a :Class;
|
29
|
+
:sameClassAs s:Literal .
|
30
|
+
|
31
|
+
dam:Nothing a :Class;
|
32
|
+
:comment "the class with no things in it.";
|
33
|
+
:complementOf dam:Thing .
|
34
|
+
|
35
|
+
dam:Ontology a :Class;
|
36
|
+
:comment """An Ontology is a document that describes
|
37
|
+
a vocabulary of terms for communication between
|
38
|
+
(human and) automated agents.
|
39
|
+
""";
|
40
|
+
:label "Ontology" .
|
41
|
+
|
42
|
+
dam:Property a :Class;
|
43
|
+
:sameClassAs rdf:Property .
|
44
|
+
|
45
|
+
dam:Qualification a :Class .
|
46
|
+
|
47
|
+
dam:Restriction a :Class .
|
48
|
+
|
49
|
+
dam:Thing a :Class;
|
50
|
+
:comment "The most general class in DAML.";
|
51
|
+
:label "Thing" .
|
52
|
+
|
53
|
+
dam:TransitiveProperty a :Class .
|
54
|
+
|
55
|
+
dam:UnambiguousProperty a :Class;
|
56
|
+
:comment """if P is an UnambiguousProperty, then
|
57
|
+
if P(x, y) and P(z, y) then x=z.
|
58
|
+
aka injective.
|
59
|
+
e.g. if nameOfMonth(m, "Feb")
|
60
|
+
and nameOfMonth(n, "Feb") then m and n are the same month.
|
61
|
+
""";
|
62
|
+
:label "UnambiguousProperty"@en;
|
63
|
+
:subClassOf dam:Property .
|
64
|
+
|
65
|
+
dam:UniqueProperty a :Class;
|
66
|
+
:comment """compare with maxCardinality=1; e.g. integer successor:
|
67
|
+
if P is a UniqueProperty, then
|
68
|
+
if P(x, y) and P(x, z) then y=z.
|
69
|
+
aka functional.
|
70
|
+
""";
|
71
|
+
:label "UniqueProperty";
|
72
|
+
:subClassOf dam:Property .
|
73
|
+
|
74
|
+
dam:cardinality a :Property;
|
75
|
+
:comment """for cardinality(P, N) read: P has cardinality N; i.e.
|
76
|
+
everything x in the domain of P has N things y such that P(x, y).
|
77
|
+
""";
|
78
|
+
:domain dam:Property;
|
79
|
+
:label "cardinality" .
|
80
|
+
|
81
|
+
dam:comment a :Property;
|
82
|
+
:samePropertyAs s:comment .
|
83
|
+
|
84
|
+
dam:complementOf a :Property;
|
85
|
+
:comment """
|
86
|
+
for complementOf(X, Y) read: X is the complement of Y; if something is in Y,
|
87
|
+
then it's not in X, and vice versa.
|
88
|
+
cf OIL NOT""";
|
89
|
+
:domain dam:Class;
|
90
|
+
:range dam:Class .
|
91
|
+
|
92
|
+
dam:default a :Property;
|
93
|
+
:comment """default(X, Y) suggests that Y be considered a/the default
|
94
|
+
value for the X property. This can be considered
|
95
|
+
documentation (ala label, comment) but we don't specify
|
96
|
+
any logical impact.
|
97
|
+
""";
|
98
|
+
:label "default" .
|
99
|
+
|
100
|
+
dam:disjointUnionOf a :Property;
|
101
|
+
:comment """
|
102
|
+
|
103
|
+
for disjointUnionOf(X, Y) read: X is the disjoint union of the classes in
|
104
|
+
the list Y: (a) for any c1 and c2 in Y, disjointWith(c1, c2),
|
105
|
+
and (b) i.e. if something is in any of the classes in Y, it's
|
106
|
+
in X, and vice versa.
|
107
|
+
|
108
|
+
cf OIL disjoint-covered
|
109
|
+
""";
|
110
|
+
:domain dam:Class;
|
111
|
+
:label "disjointUnionOf";
|
112
|
+
:range dam:List .
|
113
|
+
|
114
|
+
dam:disjointWith a :Property;
|
115
|
+
:comment """for disjointWith(X, Y) read: X and Y have no members
|
116
|
+
in common.
|
117
|
+
""";
|
118
|
+
:domain dam:Class;
|
119
|
+
:label "disjointWith";
|
120
|
+
:range dam:Class .
|
121
|
+
|
122
|
+
dam:domain a :Property;
|
123
|
+
:samePropertyAs s:domain .
|
124
|
+
|
125
|
+
dam:equivalentTo a :Property;
|
126
|
+
:comment """for equivalentTo(X, Y), read X is an equivalent term to Y.
|
127
|
+
""" .
|
128
|
+
|
129
|
+
dam:first a :Property;
|
130
|
+
:domain dam:List .
|
131
|
+
|
132
|
+
dam:hasValue a :Property;
|
133
|
+
:comment """for hasValue(Q, C), read: Q is a hasValue
|
134
|
+
qualification to C.""";
|
135
|
+
:domain dam:Qualification;
|
136
|
+
:label "hasValue";
|
137
|
+
:range dam:Class .
|
138
|
+
|
139
|
+
dam:imports a :Property;
|
140
|
+
:comment """for imports(X, Y) read: X imports Y;
|
141
|
+
i.e. X asserts the* contents of Y by reference;
|
142
|
+
i.e. if imports(X, Y) and you believe X and Y says something,
|
143
|
+
then you should believe it.
|
144
|
+
|
145
|
+
Note: "the contents" is, in the general case,
|
146
|
+
an il-formed definite description. Different
|
147
|
+
interactions with a resource may expose contents
|
148
|
+
that vary with time, data format, preferred language,
|
149
|
+
requestor credentials, etc. So for "the contents",
|
150
|
+
read "any contents".
|
151
|
+
""";
|
152
|
+
:label "imports" .
|
153
|
+
|
154
|
+
dam:intersectionOf a :Property;
|
155
|
+
:comment """
|
156
|
+
for intersectionOf(X, Y) read: X is the intersection of the classes in the list Y;
|
157
|
+
i.e. if something is in all the classes in Y, then it's in X, and vice versa.
|
158
|
+
cf OIL AND""";
|
159
|
+
:domain dam:Class;
|
160
|
+
:range dam:List .
|
161
|
+
|
162
|
+
dam:inverseOf a :Property;
|
163
|
+
:comment """for inverseOf(R, S) read: R is the inverse of S; i.e.
|
164
|
+
if R(x, y) then S(y, x) and vice versa.""";
|
165
|
+
:domain dam:Property;
|
166
|
+
:range dam:Property .
|
167
|
+
|
168
|
+
dam:isDefinedBy a :Property;
|
169
|
+
:samePropertyAs s:isDefinedBy;
|
170
|
+
:subPropertyOf dam:seeAlso .
|
171
|
+
|
172
|
+
dam:item a :Property;
|
173
|
+
:comment """for item(L, I) read: I is an item in L; either first(L, I)
|
174
|
+
or item(R, I) where rest(L, R).""";
|
175
|
+
:domain dam:List .
|
176
|
+
|
177
|
+
dam:label a :Property;
|
178
|
+
:samePropertyAs s:label .
|
179
|
+
|
180
|
+
dam:maxCardinality a :Property;
|
181
|
+
:comment """for maxCardinality(P, N) read: P has maximum cardinality N; i.e.
|
182
|
+
everything x in the domain of P has at most N things y such that P(x, y).
|
183
|
+
""";
|
184
|
+
:domain dam:Property;
|
185
|
+
:label "maxCardinality" .
|
186
|
+
|
187
|
+
dam:minCardinality a :Property;
|
188
|
+
:comment """for minCardinality(P, N) read: P has minimum cardinality N; i.e.
|
189
|
+
everything x in the domain of P has at least N things y such that P(x, y).
|
190
|
+
""";
|
191
|
+
:domain dam:Property .
|
192
|
+
|
193
|
+
dam:onProperty a :Property;
|
194
|
+
:comment """for onProperty(R, P), read:
|
195
|
+
R is a restriction/qualification on P.""";
|
196
|
+
:domain dam:Qualification,
|
197
|
+
dam:Restriction;
|
198
|
+
:range dam:Property .
|
199
|
+
|
200
|
+
dam:oneOf a :Property;
|
201
|
+
:comment """for oneOf(C, L) read everything in C is one of the
|
202
|
+
things in L;
|
203
|
+
This lets us define classes by enumerating the members.
|
204
|
+
""";
|
205
|
+
:domain dam:Class;
|
206
|
+
:range dam:List .
|
207
|
+
|
208
|
+
dam:qualifiedBy a :Property;
|
209
|
+
:comment """for qualifiedBy(C, Q), read: C is qualified by Q; i.e. the
|
210
|
+
qualification Q applies to C;
|
211
|
+
|
212
|
+
if onProperty(Q, P) and hasValue(Q, C2)
|
213
|
+
then for every i in C, there is some V
|
214
|
+
so that type(V, C2) and P(i, V).
|
215
|
+
""";
|
216
|
+
:domain dam:Class;
|
217
|
+
:label "qualifiedBy";
|
218
|
+
:range dam:Qualification .
|
219
|
+
|
220
|
+
dam:range a :Property;
|
221
|
+
:samePropertyAs s:range .
|
222
|
+
|
223
|
+
dam:rest a :Property;
|
224
|
+
:domain dam:List;
|
225
|
+
:range dam:List .
|
226
|
+
|
227
|
+
dam:restrictedBy a :Property;
|
228
|
+
:comment """for restrictedBy(C, R), read: C is restricted by R; i.e. the
|
229
|
+
restriction R applies to c;
|
230
|
+
|
231
|
+
if onProperty(R, P) and toValue(R, V)
|
232
|
+
then for every i in C, we have P(i, V).
|
233
|
+
|
234
|
+
if onProperty(R, P) and toClass(R, C2)
|
235
|
+
then for every i in C and for all j, if P(i, j) then type(j, C2).
|
236
|
+
""";
|
237
|
+
:domain dam:Class;
|
238
|
+
:label "restrictedBy";
|
239
|
+
:range dam:Restriction .
|
240
|
+
|
241
|
+
dam:sameClassAs a :Property;
|
242
|
+
:subPropertyOf dam:equivalentTo,
|
243
|
+
dam:subClassOf .
|
244
|
+
|
245
|
+
dam:samePropertyAs a :Property;
|
246
|
+
:subPropertyOf dam:equivalentTo,
|
247
|
+
dam:subPropertyOf .
|
248
|
+
|
249
|
+
dam:seeAlso a :Property;
|
250
|
+
:samePropertyAs s:seeAlso .
|
251
|
+
|
252
|
+
dam:subClassOf a :Property;
|
253
|
+
:samePropertyAs s:subClassOf .
|
254
|
+
|
255
|
+
dam:subPropertyOf a :Property;
|
256
|
+
:samePropertyAs s:subPropertyOf;
|
257
|
+
:subPropertyOf s:subPropertyOf .
|
258
|
+
|
259
|
+
dam:toClass a :Property;
|
260
|
+
:comment "for toClass(R, C), read: R is a restriction to C.";
|
261
|
+
:domain dam:Restriction;
|
262
|
+
:range dam:Class .
|
263
|
+
|
264
|
+
dam:toValue a :Property;
|
265
|
+
:comment "for toValue(R, V), read: R is a restriction to V.";
|
266
|
+
:domain dam:Restriction;
|
267
|
+
:range dam:Class .
|
268
|
+
|
269
|
+
dam:type a :Property;
|
270
|
+
:samePropertyAs rdf:type .
|
271
|
+
|
272
|
+
dam:unionOf a :Property;
|
273
|
+
:comment """
|
274
|
+
for unionOf(X, Y) read: X is the union of the classes in the list Y;
|
275
|
+
i.e. if something is in any of the classes in Y, it's in X, and vice versa.
|
276
|
+
cf OIL OR""";
|
277
|
+
:domain dam:Class;
|
278
|
+
:label "unionOf";
|
279
|
+
:range dam:List .
|
280
|
+
|
281
|
+
dam:value a :Property;
|
282
|
+
:samePropertyAs rdf:value .
|
283
|
+
|
284
|
+
dam:versionInfo a :Property;
|
285
|
+
:comment """generally, a string giving information about this
|
286
|
+
version; e.g. RCS/CVS keywords
|
287
|
+
""";
|
288
|
+
:label "versionInfo" .
|
289
|
+
|